ボーダーゲートウェイプロトコル。 実験室作業

こんにちは、Habr! 私の最初の記事では、CiscoルーターでのBGPプロトコル(ボーダーゲートウェイプロトコル)の構成に関する小さなラボ作業を紹介します。 多くの人がBGPとは何かを聞いたことがありますが、誰もが実際にこのプロトコルを試す機会を得たわけではありません。 この研究室の仕事が面白いのは彼らにとってです。

この記事には理論がほとんどないので、最初にBGPについて聞いた人のために、まずthisthis、または実際にはthisにアクセスしてください。



実験室での作業には、ネットワーク上で簡単に見つけられる素晴らしいGNS3シミュレーターを使用することをお勧めします。



目的



このラボの目標は、同じISP接続を使用して複数のアドレス指定を受信するようにクライアントとオペレーターのルーターを構成することです。 実際に私たちの将来のネットワークのスキーム:







構成



そのため、ルーターAとCの間の接続を着信および発信トラフィックのメイン接続にし、BとD間の接続をバッ​​クアップして、主要な事故の場合にのみ使用するようにします。



インターフェイス構成


インターフェイスは、表に従って構成する必要があります。







シリアル1/1ルーターAの場合:



R1(config)# interface S1/1 R1(config-if)# ip address 150.0.0.1 255.255.255.252 R1(config-if)# no shutdown
      
      





他のインターフェイスも同様に独立して設定する必要があります。



BGP設定


各ルーターには、ASN(スキームによる)が必要です。ASNは、ルーターが属するASを決定します。 さらに、各ルーターは2つのセッションを提供します。1つは自律システム内で動作する同じAS内のルーターを使用するiBGP、もう1つは自律システム間で動作する別のAS内のルーターを使用するeBGPです。 セッションは、接続の両側で構成する必要があります。



 R1(config)# router bgp 65500 R1(config-router)# neighbor 150.0.0.10 remote-as 65500 R1(config-router)# neighbor 150.0.0.2 remote-as 100
      
      





残りのルーターの構成は、独立したタスクのままです。



次に行うことは、シスコが提供する非標準のメカニズムnext-hop-selfを使用することです。 その本質は、同じASにある別のルーターに通知する前に、Next_Hopアドレスの変更を許可することです。 ルーターは、Next_Hop属性の値を独自のアドレスに変更します。 したがって、各ASでドメイン内ルーティングを構成する必要はありません。 このメカニズムは、同じAS内のルーター間でのみ構成する必要があります。



 R1(config)# router bgp 65500 R1(config-router)# neighbor 150.0.0.10 next-hop-self
      
      





繰り返しますが、他のルーターの構成は独自のものです。



AS 65500で使用されるアドレススペースは110.0.0.0/24です。 ルーターに接続されたこのようなネットワークをシミュレートするために、ルーターBでループバックを構成できます。



 R2(config)# interface loopback 0 R2(config-if)# ip address 110.0.0.1 255.255.255.0
      
      





ルーターは、アクセスできるサブネットをアドバタイズする必要があります。 ルーターBは、255.255.255.0のマスクを持つ110.0.0.0ネットワークをアナウンスします。これは、ループバック0インターフェイスにあります。



 R2(config)# router bgp 65500 R2(config-router)# network 110.0.0.0 mask 255.255.255.0
      
      





ルーターCとDは、デフォルトルート(AS 65500のすべての発信トラフィックに使用されるルート)のみをAとBに通知します。



 R3(config)# router bgp 100 R3(config-router)# neighbor 150.0.0.1 default-originate
      
      





アウトバウンドトラフィック管理


ルータAとBが発信トラフィックにメイン接続のみを使用するようにしたい場合は、Local Preference属性を使用できます。 デフォルトでは、属性の値は100です。ローカル優先値は、同じASにあるすべてのルーター間で交換されます。 属性値が高いほど、接続の優先度が高くなります。 ルートマップを使用して、ローカルプリファレンス値を変更できます。

AとCの間の接続をメインにします。



 R1(config)# router-map primary R1(config-route-map)# match ip address 1 R1(config-route-map)# set local-preference 150 R1(config-route-map)# exit R1(config)# access-list 1 permit host 0.0.0.0
      
      





次に:



 R1(config)# router bgp 65500 R1(config-router)# neighbor 150.0.0.2 route-map primary in
      
      





ローカルプリファレンスの変更を有効にするには、以前のBGPセッション設定をリセットする必要があります。



 R1# clear ip bgp *
      
      





正しい構成を確認し、同時に結果を楽しむために、traceroute'omを使用して、特定のインターフェイスのオンとオフを切り替えて、接続障害をシミュレートできます。



着信トラフィック管理


CおよびDルーターがすべてのトラフィックをメイン接続経由でルーティングするようにします。 これを行うには、MED属性を使用できます。 メイン接続は、予約(MED 30)よりも低い値(この場合はMED 20)を受け取る必要があります。 同じルートマップを使用してこれを行います。



 R1(config)# route-map trafic_out permit 10 R1(config-route-map)# match ip address 10 R1(config-route-map)# set metric 20 R1(config-route-map)# exit R1(config)# access-list 10 permit host 110.0.0.0
      
      





 R1(config)# router bgp 65500 R1(config-router)# neighbor 150.0.0.2 route-map trafic_out out
      
      





ルーターBでは、MED 50値で同じことを行い、ISPルーターの設定をリセットして新しいメトリック値を取得することを忘れないでください。



以上です。

ご清聴ありがとうございました!



スペルミスをおpoびします。 学校では、言語は長所ではありませんでしたが、丘の上で勉強している間、ロシア語はゆっくりと忘れられました。



All Articles