◆ NEXT_HOPアトリビュート - 設定
NEXT_HOPアトリビュートには次の注意点があります。EBGPピアにアドバタイズする時は、NEXT_HOP
アトリビュートを自分のIPアドレスにして送信しますが、IBGPピアにアドバタイズする時は、NEXT_HOP
アトリビュートを変更せずにルートを送信するという点です。外部ASと接続するEBGP間のネットワークは
セキュリティやポリシーの観点からアドバタイズされない場合があり、通知されないと、R3は50.0.0.0/16
宛てのネクストホップとなる「1.0.0.1」に到達することができず、50.0.0.0/16を無効ルートとみなします。
以上のことから、R3が外部ASと接続するEBGP間のネットワーク「1.0.0.0/24」を学習するためには以下の
コンフィグのように、R3で「1.0.0.0/24」に到達するためのスタティックルートを定義する必要があります。
または、R2のBGPの設定で redistribute connected として「1.0.0.0/24」を再配布させる方法もあります。
R1(config)# router bgp 1
R1(config-router)# neighbor 1.0.0.2 remote-as 2
R1(config-router)# network 50.0.0.0 mask 255.255.0.0
|
R2(config)# router bgp 2
R2(config-router)# neighbor 1.0.0.1 remote-as 1
R2(config-router)# neighbor 2.0.0.2 remote-as 2
R2(config-router)# network 60.0.0.0 mask 255.255.0.0
|
R3(config)# router bgp 2
R3(config-router)# neighbor 2.0.0.1 remote-as 2
R3(config)# ip route 1.0.0.0 255.255.255.0 2.0.0.1
|
R3でスタティックルートを定義せずとも、R3が「50.0.0.0/16」に到達するための方法がもう1つあります。
それは、R2がR3に「50.0.0.0/16」をアドバタイズする際に、IBGPネイバーへのアドバタイズであるものの
NEXT_HOPアドレスを自身のIPアドレスに変更する方法です。アドバタイズする側で以下の設定を行います。
◆ NEXT_HOPアドレスを自身のIPアドレスに変更
(config)# router bgp as-number
(config-router)# neighbor ip-address next-hop-self
以下の設定の通り、R3では「1.0.0.0/24」に到達するためのスタティックルートの設定は不要となります。
neighbor next-hop-selfコマンドにより、ネイバーに対して自分がネクストホップになると宣言しています。
R1(config)# router bgp 1
R1(config-router)# neighbor 1.0.0.2 remote-as 2
R1(config-router)# network 50.0.0.0 mask 255.255.0.0
|
R2(config)# router bgp 2
R2(config-router)# neighbor 1.0.0.1 remote-as 1
R2(config-router)# neighbor 2.0.0.2 remote-as 2
R2(config-router)# neighbor 2.0.0.2 next-hop-self
R2(config-router)# network 60.0.0.0 mask 255.255.0.0
|
R3(config)# router bgp 2
R3(config-router)# neighbor 2.0.0.1 remote-as 2
|
|