サービスの改善にご協力お願いします。

お客様のご意見をお聞かせください。

アンケートの所要時間はおよそ 2 分です。

header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
BGPユーザーガイド
Table of Contents Expand all
list Table of Contents

この機械翻訳はお役に立ちましたでしょうか?

starstarstarstarstar
Go to English page
免責事項:

このページは、サードパーティー製機械翻訳ソフトウェアを使用して翻訳されます。質の高い翻訳を提供するために合理的な対応はされていますが、ジュニパーネットワークスがその正確性を保証することはできかねます。この翻訳に含まれる情報の正確性について疑問が生じた場合は、英語版を参照してください. ダウンロード可能なPDF (英語版のみ).

BGP の TCP アクセス制限

date_range 19-Jan-25

TCPを使用したBGPのセキュリティオプションについて

ルーティングプロトコルの中で、BGPはトランスポートプロトコルとしてTCPを使用するという点でユニークです。BGPピアは、ルーティングデバイス間の手動設定によって確立され、ポート179でTCPセッションを作成します。BGP 対応デバイスは、接続を維持するためにキープアライブ メッセージを定期的に送信します。

時とともに、BGPはインターネット上で支配的なドメイン間ルーティングプロトコルになりました。ただし、安定性とセキュリティの保証は限られています。BGP のセキュリティオプションを設定するには、適切なセキュリティ対策と許容可能なコストとのバランスを取る必要があります。他の方法よりも優れている方法は1つもありません。各ネットワーク管理者は、使用するネットワークのニーズを満たすセキュリティ対策を構成する必要があります。

BGP がトランスポート プロトコルとして TCP を使用することに関連するセキュリティ問題の詳細については、RFC 4272, BGP セキュリティ脆弱性分析を参照してください。

例:指定された BGP ピア以外からのポートへの TCP アクセスをブロックするフィルターの設定

この例では、指定された BGP ピアを除くすべてのリクエスターからポート 179 へのすべての TCP 接続試行をブロックする標準的なステートレス ファイアウォール フィルターを設定する方法を示します。

要件

この例を構成する前に、デバイスの初期化以上の特別な構成は必要ありません。

概要

この例では、指定された BGP ピアを除くすべてのリクエスターからポート 179 へのすべての TCP 接続試行をブロックするステートレス ファイアウォール フィルターを作成します。

ステートレス ファイアウォール フィルターは、デバイス A とデバイス B に直接接続されたインターフェイスから宛先ポート番号 179 へのすべてのパケットを filter_bgp179 照合します。

トポロジー

図 1 この例で使用されているトポロジーを示しています。デバイスCはデバイスEへのTCP接続を試みますが、デバイスEは接続試行をブロックします。この例では、デバイス E の設定を示しています。

図 1: BGP ピア セッションを持つ標準的なネットワークBGP ピア セッションを持つ標準的なネットワーク

設定

CLIクイック構成

この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]階層レベルのCLIにコマンドをコピー&ペーストしてください。

1 デバイスC 1

content_copy zoom_out_map
set interfaces ge-1/2/0 unit 10 description to-E 
set interfaces ge-1/2/0 unit 10 family inet address 10.10.10.10/30 
set protocols bgp group external-peers type external 
set protocols bgp group external-peers peer-as 17 
set protocols bgp group external-peers neighbor 10.10.10.9 
set routing-options autonomous-system 22

1 デバイスE 1

content_copy zoom_out_map
set interfaces ge-1/2/0 unit 0 description to-A 
set interfaces ge-1/2/0 unit 0 family inet address 10.10.10.1/30 
set interfaces ge-1/2/1 unit 5 description to-B 
set interfaces ge-1/2/1 unit 5 family inet address 10.10.10.5/30 
set interfaces ge-1/0/0 unit 9 description to-C 
set interfaces ge-1/0/0 unit 9 family inet address 10.10.10.9/30 
set interfaces lo0 unit 2 family inet filter input filter_bgp179 
set interfaces lo0 unit 2 family inet address 192.168.0.1/32 
set protocols bgp group external-peers type external 
set protocols bgp group external-peers peer-as 22 
set protocols bgp group external-peers neighbor 10.10.10.2 
set protocols bgp group external-peers neighbor 10.10.10.6 
set protocols bgp group external-peers neighbor 10.10.10.10 
set routing-options autonomous-system 17
set firewall family inet filter filter_bgp179 term 1 from source-address 10.10.10.2/32 
set firewall family inet filter filter_bgp179 term 1 from source-address 10.10.10.6/32 
set firewall family inet filter filter_bgp179 term 1 from destination-port bgp 
set firewall family inet filter filter_bgp179 term 1 then accept 
set firewall family inet filter filter_bgp179 term 2 then reject

デバイス E の設定

ステップバイステップでの手順

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイド設定モードでCLIエディターを使用する を参照してください。

指定された BGP ピアを除くすべてのリクエスターからポート 179 へのすべての TCP 接続試行をブロックするステートレス ファイアウォール フィルターを使用してデバイス E を設定するには、次のようにします。

  1. インターフェイスを設定します。

    content_copy zoom_out_map
    user@E# set interfaces ge-1/2/0 unit 0 description to-A 
    user@E# set interfaces ge-1/2/0 unit 0 family inet address 10.10.10.1/30 
    user@E# set interfaces ge-1/2/1 unit 5 description to-B 
    user@E# set interfaces ge-1/2/1 unit 5 family inet address 10.10.10.5/30 
    user@E# set interfaces ge-1/0/0 unit 9 description to-C 
    user@E# set interfaces ge-1/0/0 unit 9 family inet address 10.10.10.9/30 
    
  2. BGP を設定します。

    content_copy zoom_out_map
    [edit protocols bgp group external-peers]
    user@E# set type external 
    user@E# set peer-as 22 
    user@E# set neighbor 10.10.10.2 
    user@E# set neighbor 10.10.10.6 
    user@E# set neighbor 10.10.10.10 
    
  3. 自律システム番号を設定する。

    content_copy zoom_out_map
    [edit routing-options]
    user@E# set autonomous-system 17
    
  4. 指定されたBGPピアからポート179へのTCP接続試行を受け入れるフィルター条件を定義します。

    content_copy zoom_out_map
    [edit firewall family inet filter filter_bgp179]
    user@E# set term 1 from source-address 10.10.10.2/32 
    user@E# set term 1 from source-address 10.10.10.6/32 
    user@E# set term 1 from destination-port bgp 
    user@E# set term 1 then accept 
    
  5. 他の送信元からのパケットを拒否する、もう一方のフィルター条件を定義します。

    content_copy zoom_out_map
    [edit firewall family inet filter filter_bgp179]
    user@E# set term 2 then reject
    
  6. ファイアウォールフィルターをループバックインターフェイスに適用します。

    content_copy zoom_out_map
    [edit interfaces lo0 unit 2 family inet]
    user@E# set filter input filter_bgp179
    user@E# set address 192.168.0.1/32
    
結果

設定モードから、show firewallshow interfacesshow protocols、およびshow routing-options のコマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。

content_copy zoom_out_map
user@E# show firewall
family inet {
    filter filter_bgp179 {
        term 1 {
            from {
                source-address {
                    10.10.10.2/32;
                    10.10.10.6/32;
                }
                destination-port bgp;
            }
            then accept;
        }
        term 2 {
            then {
                reject;
            }
        }
    }
}
content_copy zoom_out_map
user@E# show interfaces
lo0 {
    unit 2 {
        family inet {
            filter {
                input filter_bgp179; 
            }
            address 192.168.0.1/32;
        }
    }
}
ge-1/2/0 {
    unit 0 {
        description to-A;
        family inet {
            address 10.10.10.1/30;
        }
    }
}
ge-1/2/1 {
    unit 5 {
        description to-B;
        family inet {
            address 10.10.10.5/30;
        }
    }
}
ge-1/0/0 {
    unit 9 {
        description to-C;
        family inet {
            address 10.10.10.9/30;
        }
    }
}
content_copy zoom_out_map
user@E# show protocols
bgp {
    group external-peers {
        type external;
        peer-as 22;
        neighbor 10.10.10.2;
        neighbor 10.10.10.6;
        neighbor 10.10.10.10;
    }
}
content_copy zoom_out_map
user@E# show routing-options
autonomous-system 17;

デバイスの設定が完了したら、設定モードから commit を入力します。

検証

設定が正常に機能していることを確認します。

フィルターが構成されていることを確認する

目的

フィルターが show firewall filter コマンドの出力に表示されていることを確認します。

アクション
content_copy zoom_out_map
user@E> show firewall filter filter_bgp179
Filter: filter_bgp179

TCP 接続の検証

目的

TCP 接続を確認します。

アクション

運用モードから、機器Cと機器Eで show system connections extensive コマンドを実行します。

デバイス C の出力は、TCP 接続を確立しようとしたことを示しています。デバイス E の出力では、デバイス A およびデバイス B とのみ接続が確立されていることがわかります。

content_copy zoom_out_map
user@C> show system connections extensive | match 10.10.10

tcp4       0      0  10.10.10.9.51872     10.10.10.10.179       SYN_SENT
content_copy zoom_out_map
user@E> show system connections extensive | match 10.10.10

tcp4       0      0  10.10.10.5.179        10.10.10.6.62096     ESTABLISHED
tcp4       0      0  10.10.10.6.62096      10.10.10.5.179       ESTABLISHED
tcp4       0      0  10.10.10.1.179        10.10.10.2.61506     ESTABLISHED
tcp4       0      0  10.10.10.2.61506      10.10.10.1.179       ESTABLISHED

インターフェイス上のトラフィックの監視

目的

monitor traffic コマンドを使用して、TCP 接続を確立するインターフェイス上のトラフィックと、TCP 接続を確立しないインターフェイス上のトラフィックを比較します。

アクション

運用モードから、デバイスBへのデバイスEインターフェイスと、デバイスCへのデバイスEインターフェイスで monitor traffic コマンドを実行します。次のサンプル出力では、最初の例で確認応答 (ack) メッセージを受信したことを確認します。2 番目の例では、 ack メッセージは受信されません。

content_copy zoom_out_map
user@E> monitor traffic size 1500 interface ge-1/2/1.5
19:02:49.700912 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: P 3330573561:3330573580(19) ack 915601686 win 16384 <nop,nop,timestamp 1869518816 1869504850>: BGP, length: 19
19:02:49.801244  In IP 10.10.10.6.62096 > 10.10.10.5.bgp: . ack 19 win 16384 <nop,nop,timestamp 1869518916 1869518816>
19:03:03.323018  In IP 10.10.10.6.62096 > 10.10.10.5.bgp: P 1:20(19) ack 19 win 16384 <nop,nop,timestamp 1869532439 1869518816>: BGP, length: 19
19:03:03.422418 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: . ack 20 win 16384 <nop,nop,timestamp 1869532539 1869532439>
19:03:17.220162 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: P 19:38(19) ack 20 win 16384 <nop,nop,timestamp 1869546338 1869532439>: BGP, length: 19
19:03:17.320501  In IP 10.10.10.6.62096 > 10.10.10.5.bgp: . ack 38 win 16384 <nop,nop,timestamp 1869546438 1869546338>
content_copy zoom_out_map
user@E> monitor traffic size 1500 interface ge-1/0/0.9

18:54:20.175471 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869009240 0,sackOK,eol>
18:54:23.174422 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869012240 0,sackOK,eol>
18:54:26.374118 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869015440 0,sackOK,eol>
18:54:29.573799 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol>
18:54:32.773493 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol>
18:54:35.973185 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol>

例:プレフィックスリストに基づいてポートへのTCPアクセスを制限するフィルターの設定

この例では、許可された BGP ピアを含むプレフィックス ソースのリストを指定することによって、ルーティング エンジン宛ての特定の TCP および ICMP(インターネット制御メッセージ プロトコル)トラフィックを制限する標準的なステートレス ファイアウォール フィルターを設定する方法を示します。

要件

この例を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。

概要

この例では、ステートレス ファイアウォール フィルターを作成します。このフィルターは、指定したプレフィックスを持つ BGP ピアを除くすべてのリクエスターからポート 179 への TCP 接続試行をすべてブロックします。

トポロジー

許可された BGP ピアを含むソース プレフィックスのリストを指定するソース プレフィックス リスト plist_bgp179が作成されます。

ステートレス ファイアウォール フィルターは filter_bgp179 送信元プレフィックス リストから plist_bgp179 宛先ポート番号 179 までのすべてのパケットを照合します。

設定

CLIクイック構成

この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]階層レベルのCLIにコマンドをコピー&ペーストしてください。

content_copy zoom_out_map
set policy-options prefix-list plist_bgp179 apply-path "protocols bgp group <*> neighbor <*>"
set firewall family inet filter filter_bgp179 term 1 from source-address 0.0.0.0/0
set firewall family inet filter filter_bgp179 term 1 from source-prefix-list plist_bgp179 except
set firewall family inet filter filter_bgp179 term 1 from destination-port bgp
set firewall family inet filter filter_bgp179 term 1 then reject
set firewall family inet filter filter_bgp179 term 2 then accept
set interfaces lo0 unit 0 family inet filter input filter_bgp179
set interfaces lo0 unit 0 family inet address 127.0.0.1/32

フィルターを設定する

ステップバイステップでの手順

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイド設定モードでCLIエディターを使用する を参照してください。

フィルターを構成するには:

  1. プレフィックスリスト bgp179 を展開して、 protocols bgp group <*> neighbor <*> で定義された BGP ピアグループが指すすべてのプレフィックスを含めます。

    content_copy zoom_out_map
    [edit policy-options prefix-list plist_bgp179]
    user@host# set apply-path " protocols bgp group <*> neighbor <*>"
    
  2. 指定されたBGPピアを除くすべてのリクエスターからポート179へのTCP接続試行を拒否するフィルター条件を定義します。

    content_copy zoom_out_map
    [edit firewall family inet filter filter_bgp179]
    user@host# set term term1 from source-address 0.0.0.0/0
    user@host# set term term1 from source-prefix-list bgp179 except
    user@host# set term term1 from destination-port bgp
    user@host# set term term1 then reject
    
  3. すべてのパケットを受け入れるように、もう一方のフィルター条件を定義します。

    content_copy zoom_out_map
    [edit firewall family inet filter filter_bgp179]
    user@host# set term term2 then accept
    
  4. ファイアウォールフィルターをループバックインターフェイスに適用します。

    content_copy zoom_out_map
    [edit interfaces lo0 unit 0 family inet]
    user@host# set filter input filter_bgp179
    user@host# set address 127.0.0.1/32
    

結果

コンフィギュレーションモードから、show firewallshow interfaces、、およびの各コマshow policy-optionsンドを入力し、コンフィギュレーションを確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。

content_copy zoom_out_map
user@host# show firewall
family inet {
    filter filter_bgp179 {
        term 1 {
            from {
                source-address {
                    0.0.0.0/0;
                }
                source-prefix-list {
                    plist_bgp179 except;
                }
                destination-port bgp;
            }
            then {
                reject;
            }
        }
        term 2 {
            then {
                accept;
            }
        }
    }
}
content_copy zoom_out_map
user@host# show interfaces
lo0 {
    unit 0 {
        family inet {
            filter {
                input filter_bgp179; 
            }
            address 127.0.0.1/32;
        }
    }
}
content_copy zoom_out_map
user@host# show policy-options
prefix-list plist_bgp179 {
    apply-path "protocols bgp group <*> neighbor <*>";
}

デバイスの設定が完了したら、設定モードから commit を入力します。

検証

設定が正常に機能していることを確認します。

ループバック インターフェイスに適用されたファイアウォール フィルターの表示

目的

ファイアウォールフィルター filter_bgp179 が、論理インターフェイス lo0.0でIPv4入力トラフィックに適用されていることを確認します。

アクション

論理インターフェイスlo0.0には show interfaces statistics operational mode コマンドを使用し、detail オプションを含めます。コマンド出力セクションの Protocol inet セクションの Input Filters フィールドには、入力方向の論理インターフェイスに適用されているステートレス ファイアウォール フィルターの名前が表示されます。

content_copy zoom_out_map
[edit]
user@host> show interfaces statistics lo0.0 detail
  Logical interface lo0.0 (Index 321) (SNMP ifIndex 16) (Generation 130)
    Flags: SNMP-Traps Encapsulation: Unspecified
    Traffic statistics:
     Input  bytes  :                    0
     Output bytes  :                    0
     Input  packets:                    0
     Output packets:                    0
    Local statistics:
     Input  bytes  :                    0
     Output bytes  :                    0
     Input  packets:                    0
     Output packets:                    0
    Transit statistics:
     Input  bytes  :                    0                    0 bps
     Output bytes  :                    0                    0 bps
     Input  packets:                    0                    0 pps
     Output packets:                    0                    0 pps
    Protocol inet, MTU: Unlimited, Generation: 145, Route table: 0
      Flags: Sendbcast-pkt-to-re
      Input Filters: filter_bgp179
      Addresses, Flags: Primary
        Destination: Unspecified, Local: 127.0.0.1, Broadcast: Unspecified, Generation: 138

例:BGP の TCP セグメント サイズの制限

この例では、最大送信単位(MTU)検出を使用している場合にTCPセグメントサイズを制限することにより、インターネット制御メッセージプロトコル(ICMP)の脆弱性の問題を回避する方法を示しています。TCPパスでMTUディスカバリーを使用することは、BGPパケットのフラグメント化を回避する方法の1つです。

要件

この例を構成する前に、デバイスの初期化以上の特別な構成は必要ありません。

概要

TCPは、2つのピア間のセッション接続確立時に、最大セグメントサイズ(MSS)値をネゴシエートします。ネゴシエートされた MSS 値は、主に、通信ピアが直接接続されているインターフェイスの最大送信単位 (MTU) に基づきます。ただし、TCP パケットがたどるパス上のリンク MTU が変動するため、パケット サイズがリンクの MTU を超えると、MSS 値内に十分収まるネットワーク内の一部のパケットがフラグメント化される場合があります。

TCP MSS値を設定するには、1〜4096のセグメントサイズで tcp-mss ステートメントを含めます。

ルーターがSYNビットとMSSオプションが設定されたTCPパケットを受信し、パケットで指定されたMSSオプションが tcp-mss ステートメントで指定されたMSS値より大きい場合、ルーターはパケット内のMSS値を tcp-mss ステートメントで指定された低い値に置き換えます。

設定されたMSS値は、送信者の最大セグメントサイズとして使用されます。送信者がBGPネイバーと通信するために使用するTCP MSS値は、送信者がBGPネイバーから受け入れることができるTCP MSS値と同じであることを前提としています。BGPネイバーからのMSS値が設定されたMSS値よりも小さい場合、BGPネイバーからのMSS値が送信者の最大セグメントサイズとして使用されます。

この機能は、TCPover IPv4およびTCPover IPv6でサポートされています。

トポロジー図

図 2 この例で使用されているトポロジーを示しています。

図 2: BGP の TCP 最大セグメント サイズBGP の TCP 最大セグメント サイズ

設定

CLIクイック構成

この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]階層レベルのCLIにコマンドをコピー&ペーストしてください。

R0

content_copy zoom_out_map
set interfaces fe-1/2/0 unit 1 family inet address 1.1.0.1/30
set interfaces lo0 unit 1 family inet address 10.255.14.179/32
set protocols bgp group-int tcp-mss 2020
set protocols bgp group int type internal
set protocols bgp group int local-address 10.255.14.179
set protocols bgp group int mtu-discovery
set protocols bgp group int neighbor 10.255.71.24 tcp-mss 2000
set protocols bgp group int neighbor 10.255.14.177
set protocols bgp group int neighbor 10.0.14.4 tcp-mss 4000
set protocols ospf area 0.0.0.0 interface fe-1/2/0.1
set protocols ospf area 0.0.0.0 interface 10.255.14.179
set routing-options autonomous-system 65000

手順

ステップバイステップでの手順

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイド設定モードでCLIエディターを使用する を参照してください。

ルーターR0を設定する。

  1. インターフェイスを設定します。

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set fe-1/2/0 unit 1 family inet address 1.1.0.1/30
    user@R0# set lo0 unit 1 family inet address 10.255.14.179/32
    
  2. この例では、内部ゲートウェイプロトコル(IGP)、OSPFを設定します。

    content_copy zoom_out_map
    [edit protocols ospf area 0.0.0.0]
    user@R0# set interface fe-1/2/0.1
    user@R0# set interface 10.255.14.179 
    
  3. 1 つ以上の BGP グループを設定します。

    content_copy zoom_out_map
    [edit protocols bgp group int]
    user@R0# set type internal
    user@R0# set local-address 10.255.14.179
    
  4. パケットのフラグメント化を防止するように MTU ディスカバリーを構成します。

    content_copy zoom_out_map
    [edit protocols bgp group int]
    user@R0# set mtu-discovery
    
  5. グループまたはさまざまなネイバーに対してTCP MSSをグローバルに設定して、BGPネイバーを設定します。

    content_copy zoom_out_map
    [edit protocols bgo group int]
    user@R0# set tcp-mss 2020
    user@R0# set neighbor 10.255.14.177
    user@R0# set neighbor 10.255.71.24 tcp-mss 2000
    user@R0# set neighbor 10.0.14.4 tcp-mss 4000
    
    注:

    TCP MSS ネイバー設定は、グループ設定よりも優先されます。

  6. ローカルの自律システムを設定します。

    content_copy zoom_out_map
    [edit routing-options]
    user@R0# set autonomous-system 65000
    
結果

コンフィギュレーションモードから、show interfacesshow protocols、、およびの各コマshow routing-optionsンドを入力し、コンフィギュレーションを確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。

content_copy zoom_out_map
user@R0# show interfaces
fe-1/2/0 {
    unit 1 {
        family inet {
            address 1.1.0.1/30;
        }
    }
}
lo0 {
    unit 1 {
        family inet {
            address 10.255.14.179/32;
        }
    }
}
content_copy zoom_out_map
user@R0# show protocols
bgp {
    group int {
        type internal;
        local-address 10.255.14.179;
        mtu-discovery;
        tcp-mss 2020;
        neighbor 10.255.71.24 {
            tcp-mss 2000;
        }
        neighbor 10.255.14.177;
        neighbor 10.0.14.4 {
            tcp-mss 4000;
        }
    }
}
ospf {
    area 0.0.0.0 {
        interface fe-1/2/0.1;
        interface 10.255.14.179;
    }
}
content_copy zoom_out_map
user@R0# show routing-options
autonomous-system 65000;

デバイスの設定が完了したら、設定モードから commit を入力します。

検証

構成が正しく機能していることを確認するには、次のコマンドを実行します。

  • show system connections extensive | find <neighbor-address>をクリックして、ネゴシエートされたTCP MSS値を確認します。

  • monitor traffic interfaceを使用して、BGPトラフィックを監視し、設定されたTCP MSS値がTCP SYNパケットのMSSオプションとして使用されていることを確認します。

トラブルシューティング

MTU ディスカバリーを使用した MSS 計算

問題点

2つのルーティングデバイス(R1とR2)が内部BGP(IBGP)接続を持っている例を考えてみましょう。どちらのルーターでも、接続されたインターフェイスのIPv4 MTUは4034です。

content_copy zoom_out_map
user@R1# show protocols bgp | display set 
[edit]
set protocols bgp group ibgp type internal
set protocols bgp group ibgp local-address 45.45.45.2
set protocols bgp group ibgp mtu-discovery
set protocols bgp group ibgp neighbor 45.45.45.1
content_copy zoom_out_map
user@R1# run show interfaces xe-0/0/3 extensive | match mtu 

  Link-level type: Ethernet, MTU: 4048, LAN-PHY mode, Speed: 10Gbps,
    FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0, Resource errors: 0
    Protocol inet, MTU: 4034, Generation: 180, Route table: 0
    Protocol multiservice, MTU: Unlimited, Generation: 181, Route table: 0

デバイス R1 の次のパケット キャプチャでは、ネゴシエートされた MSS は 3994 です。MSSの show system connections extensive 情報では、2048に設定されています。

content_copy zoom_out_map
05:50:01.575218 Out 
        Juniper PCAP Flags [Ext], PCAP Extension(s) total length 16
          Device Media Type Extension TLV #3, length 1, value: Ethernet (1)
          Logical Interface Encapsulation Extension TLV #6, length 1, value: Ethernet (14)
          Device Interface Index Extension TLV #1, length 2, value: 137
          Logical Interface Index Extension TLV #4, length 4, value: 69
        -----original packet-----
        00:21:59:e1:e8:03 > 00:19:e2:20:79:01, ethertype IPv4 (0x0800), length 78: (tos 0xc0, ttl 64, id 53193, offset 0, flags [DF], proto: TCP (6), length: 64) 45.45.45.2.62840 > 45.45.45.1.bgp: S 2939345813:2939345813(0) win 16384 **mss 3994,nop,wscale 0,nop,nop,timestamp 70559970 0,sackOK,eol>
05:50:01.575875 In 
        Juniper PCAP Flags [Ext, no-L2, In], PCAP Extension(s) total length 16
          Device Media Type Extension TLV #3, length 1, value: Ethernet (1)
          Logical Interface Encapsulation Extension TLV #6, length 1, value: Ethernet (14)          
          Device Interface Index Extension TLV #1, length 2, value: 137
          Logical Interface Index Extension TLV #4, length 4, value: 69
        -----original packet-----
		PFE proto 2 (ipv4): (tos 0xc0, ttl 255, id 37709, offset 0, flags [DF], proto: TCP (6), length: 64) 45.45.45.1.bgp > 45.45.45.2.62840: S 2634967984:2634967984(0) ack 2939345814 win 16384 **mss 3994,nop,wscale 0,nop,nop,timestamp 174167273 70559970,sackOK,eol>
content_copy zoom_out_map
user@R1# run show system connections extensive | find 45.45 

tcp4       0      0  45.45.45.2.62840                              45.45.45.1.179                                ESTABLISHED
   sndsbcc:          0 sndsbmbcnt:          0  sndsbmbmax:     131072
sndsblowat:       2048 sndsbhiwat:      16384
   rcvsbcc:          0 rcvsbmbcnt:          0  rcvsbmbmax:     131072
rcvsblowat:          1 rcvsbhiwat:      16384
   proc id:      19725  proc name:        rpd
       iss: 2939345813      sndup: 2939345972
    snduna: 2939345991     sndnxt: 2939345991      sndwnd:      16384
    sndmax: 2939345991    sndcwnd:      10240 sndssthresh: 1073725440
       irs: 2634967984      rcvup: 2634968162
    rcvnxt: 2634968162     rcvadv: 2634984546      rcvwnd:      16384
       rtt:          0       srtt:       1538        rttv:       1040
    rxtcur:       1200   rxtshift:          0       rtseq: 2939345972
    rttmin:       1000  mss:        2048
ソリューション

これは、Junos OS で予期される動作です。MSS 値は、MTU 値から IP または IPv6 と TCP ヘッダーを引いた値に等しくなります。つまり、MSS 値は通常、MTU より 40 バイト小さく(IPv4 の場合)、MTU より 60 バイト小さくなります(IPv6 の場合)。この値は、ピア間でネゴシエートされます。この例では、4034 - 40 = 3994 です。Junos OS はこの値を 2 KB の倍数に丸めます。値は 3994 / 2048 * 2048=2048 です。したがって、 show system connections 出力で同じMSS値を確認する必要はありません。

3994 / 2048 = 1.95

1.95 は 1 に丸められます。

1 * 2048 = 2048

footer-navigation