BGPルートの生成(IGPから再配送 その2)

BGPルートの生成(IGPから再配送 その1)」の続きです。

 先ほどの設定のままでは、以下のようになっています。

・AS100のルータには、AS200の経路情報がない。
・AS200のルータには、AS100の経路情報がない。

 そこで、ここでは、AS100のEIGRP経路を、BGPへ再配送させ、AS200の「connected」経路をBGPへ再配送させます。

それでは、先ほどの設定に再配送の設定を加えていきます。使用するネットワークは、下図になります。

再配送の設定

Router_Bでは、EIGRP経路をBGPへ再配送する設定を追加します。

Router_B(config)#router bgp 100
Router_B(config-router)#redistribute eigrp 100

Router_Cでは、connected経路をBGPへ再配送する設定を追加します。

Router_C(config)#router bgp 200
Router_C(config-router)#redistribute connected

ここでの、ルート再配送についての説明は省略します。

詳しくは、こちら  → 「ルート再配送(redistribute)」 を参考にして下さい。

各ルータの設定は、以下のようになります。

 強制的にインターフェイスをUPさせるために、Router_A、Router_CのE0インターフェイスで「no keepalive」コマンドを設定しておきます。

●Router_Aの設定

!
version 11.2
no service udp-small-servers
no service tcp-small-servers
!
hostname Router_A
!
enable password cisco
!
!
interface Ethernet0
 ip address 10.10.10.1 255.255.255.0
 no keepalive
!
interface Serial0
 ip address 172.16.0.1 255.255.0.0
 clockrate 64000
!
router eigrp 100
 network 10.0.0.0
 network 172.16.0.0
!
ip classless
!
line con 0
line aux 0
line vty 0 4
 password cisco
 login
!
end

●Router_Bの設定

!
version 11.2
no service udp-small-servers
no service tcp-small-servers
!
hostname Router_B
!
enable password cisco
!
interface Serial0
 ip address 172.16.0.2 255.255.0.0
!
interface Serial1
 ip address 172.17.0.1 255.255.0.0
 clockrate 64000
!
router eigrp 100
 network 172.16.0.0
!
router bgp 100
 no synchronization
 redistribute eigrp 100
 neighbor 172.17.0.2 remote-as 200
 no auto-summary
!
ip classless
!
line con 0
 exec-timeout 0 0
line aux 0
line vty 0 4
 password cisco
 login
!
end

●Router_Cの設定

!
version 11.2
no service udp-small-servers
no service tcp-small-servers
!
hostname Router_C
!
enable password cisco
!
interface Ethernet0
 ip address 20.20.20.1 255.255.255.0
 no keepalive
!
interface Serial0
 ip address 172.17.0.2 255.255.0.0
!
router bgp 200
 no synchronization
 redistribute connected
 neighbor 172.17.0.1 remote-as 100
 no auto-summary
!
ip classless
!
line con 0
 exec-timeout 0 0
line aux 0
line vty 0 4
 password cisco
 login
!
end

Router_Bのルーティングテーブルを確認してみます。

Gateway of last resort is not set

D    10.0.0.0/8 [90/2195456] via 172.16.0.1, 00:23:59, Serial0
     20.0.0.0/24 is subnetted, 1 subnets
B       20.20.20.0 [20/0] via 172.17.0.2, 00:00:46
C    172.16.0.0/16 is directly connected, Serial0
C    172.17.0.0/16 is directly connected, Serial1

AS200から「20.20.20.0/24」の経路をBGPで学習していることが確認できます。

Router_Cのルーティングテーブルを確認してみます。

Gateway of last resort is not set

B    10.0.0.0/8 [20/2195456] via 172.17.0.1, 00:02:01
     20.0.0.0/24 is subnetted, 1 subnets
C       20.20.20.0 is directly connected, Ethernet0
B    172.16.0.0/16 [20/0] via 172.17.0.1, 00:02:01
C    172.17.0.0/16 is directly connected, Serial0

AS100から「10.10.10.0/24」、「172.16.0.0/16」の経路をBGPで学習していることが確認できます。

Router_B、Router_Cで、お互いのASの経路情報が交換されていることが確認できました。

ちなみに、Router_CのBGPテーブルを表示してみます。

Router_C#show ip bgp
BGP table version is 5, local router ID is 172.18.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop          Metric LocPrf Weight Path
*> 10.0.0.0         172.17.0.1       2195456             0 100 ?
*> 20.20.20.0/24    0.0.0.0                0         32768 ?
*> 172.16.0.0       172.17.0.1             0             0 100 ?
*> 172.17.0.0       0.0.0.0                0         32768 ?

「 ? 」と表示されています。ORIGINアトリビュートから経路情報をIGP,EGP以外から学習したことが分かります

今度は、Router_Aでルーティングテーブルを確認してみます。

Gateway of last resort is not set

     10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
D       10.0.0.0/8 is a summary, 00:37:29, Null0
C       10.10.10.0/24 is directly connected, Ethernet0
C    172.16.0.0/16 is directly connected, Serial0
D    172.17.0.0/16 [90/2681856] via 172.16.0.2, 00:37:29, Serial0

AS200の「20.20.20.0/24」の経路がありません。

それもそのはずです。BGPの経路をEIGRPへ再配送させていないからです。

それでは、BGPの経路をEIGRPへ再配送させれは、良いのでは?

と思われるかもしれません。

 今回、構築したネットワークは、小さいので問題になりませんが、実際のネットワークでは、BGPは、インターネット上の様々なAS間をルーティングさせるため、数十万以上の経路を扱うことになります。その経路をIGPに再配送するとなると、IGPは、メルトダウンを起こしかねません。

 ということで、今回、BGPの経路をEIGRPへ再配送させずに、Router_Aにデフォルトルートを追加させることで対応させることにします。

Router_Aにデフォルトルートを追加します。

Router_A(config)#ip route 0.0.0.0 0.0.0.0 172.16.0.2

Router_Aでルーティングテーブルを確認してみます。

Gateway of last resort is 172.16.0.2 to network 0.0.0.0

     10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
D       10.0.0.0/8 is a summary, 00:45:35, Null0
C       10.10.10.0/24 is directly connected, Ethernet0
C    172.16.0.0/16 is directly connected, Serial0
D    172.17.0.0/16 [90/2681856] via 172.16.0.2, 00:45:35, Serial0

S*   0.0.0.0/0 [1/0] via 172.16.0.2

デフォルトルートが追加されました。

Router_Aから拡張Pingを使って、「20.20.20.1」へPingが到達できるか確認してみます。

Router_A#ping
Protocol [ip]:
Target IP address: 20.20.20.1
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 10.10.10.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.20.20.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 64/68/88 ms

「20.20.20.1」へPingが到達できることが確認できました。