DynagenでCCIEを目指す
20100623 BGP AD値の設定
最終更新:
it_certification
-
view
目的
- BPG環境において、アドミニストレイティブ ディスタンス値を設定する方法を確認します
構成
- 設定概要
- R1, R2間はOSPFでルーティングします。
- 構成図

- netファイル
model = 3620 [localhost] [[3620]] image = C:\Program Files\Dynamips\images\c3620-j1s3-mz.123-18.bin ram = 128 [[ROUTER R1]] f0/0 = R2 f0/0 f1/0 = ISP10 f1/0 [[ROUTER R2]] [[ROUTER ISP10]]
- 初期設定 R1
! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R1 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip subnet-zero ! ! ! ip cef ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Loopback0 ip address 1.1.1.1 255.255.255.255 ! interface FastEthernet0/0 ip address 192.168.12.1 255.255.255.0 duplex auto speed auto ! interface FastEthernet1/0 ip address 192.168.100.1 255.255.255.0 duplex auto speed auto ! router ospf 1 log-adjacency-changes network 1.1.1.1 0.0.0.0 area 0 network 192.168.12.1 0.0.0.0 area 0 ! ip http server ip classless ! ! ! ! ! ! ! ! line con 0 line aux 0 line vty 0 4 ! ! end
- 初期設定 R2
! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R2 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip subnet-zero ! ! ! ip cef ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Loopback0 ip address 2.2.2.2 255.255.255.255 ! interface FastEthernet0/0 ip address 192.168.12.2 255.255.255.0 duplex auto speed auto ! router ospf 1 log-adjacency-changes network 2.2.2.2 0.0.0.0 area 0 network 192.168.12.2 0.0.0.0 area 0 ! ip http server ip classless ! ! ! ! ! ! ! ! line con 0 line aux 0 line vty 0 4 ! ! end
- 初期設定 ISP10
! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname ISP10 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip subnet-zero ! ! ! ip cef ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Loopback0 ip address 10.10.10.10 255.255.255.255 ! interface FastEthernet1/0 ip address 192.168.100.10 255.255.255.0 duplex auto speed auto ! ip http server ip classless ! ! ! ! ! ! ! ! line con 0 line aux 0 line vty 0 4 ! ! end
検証1 検証環境構築
- BGPの設定
BGP neighborの設定を投入します。R1, R2間はiBGP neighborとし、R1, ISP10間はeBGP neighborとします。
R1(config)#ip route 10.10.10.10 255.255.255.255 192.168.100.10 R1(config)# R1(config)# R1(config)#router bgp 1 R1(config-router)#neighbor 2.2.2.2 remote-as 1 R1(config-router)#neighbor 2.2.2.2 update-source Loopback 0 R1(config-router)#neighbor 2.2.2.2 next-hop-self R1(config-router)# R1(config-router)#neighbor 10.10.10.10 remote-as 10 R1(config-router)#neighbor 10.10.10.10 update-source Loopback 0 R1(config-router)#neighbor 10.10.10.10 ebgp-multihop R2(config)#router bgp 1 R2(config-router)#neighbor 1.1.1.1 remote-as 1 R2(config-router)#neighbor 1.1.1.1 update-source Loopback 0 ISP10(config)#ip route 1.1.1.1 255.255.255.255 192.168.100.1 ISP10(config)# ISP10(config)# ISP10(config)#router bgp 10 ISP10(config-router)#neighbor 1.1.1.1 remote-as 1 ISP10(config-router)#neighbor 1.1.1.1 update-source Loopback 0 ISP10(config-router)#neighbor 1.1.1.1 ebgp-multihop
- BGP neighborの確認
BGP neighborが確立された事を確認します。
R1#show ip bgp summary BGP router identifier 1.1.1.1, local AS number 1 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 2.2.2.2 4 1 7 7 1 0 0 00:03:41 0 10.10.10.10 4 10 5 5 1 0 0 00:01:01 0 R1#
- ネットワークのエミュレート
R1, R2, ISP10に接続されているネットワークをエミュレートします。
R1(config)#interface Loopback 0 R1(config-if)#ip address 172.21.0.1 255.255.255.0 secondary R1(config-if)#ip address 172.21.1.1 255.255.255.0 secondary R1(config-if)#ip address 172.21.2.1 255.255.255.0 secondary R1(config-if)#ip address 172.21.3.1 255.255.255.0 secondary R1(config-if)#exit R1(config)# R1(config)# R1(config)#router bgp 1 R1(config-router)#network 172.21.0.0 mask 255.255.255.0 R1(config-router)#network 172.21.1.0 mask 255.255.255.0 R1(config-router)#network 172.21.2.0 mask 255.255.255.0 R1(config-router)#network 172.21.3.0 mask 255.255.255.0 R2(config)#interface Loopback 0 R2(config-if)#ip address 172.22.0.2 255.255.255.0 secondary R2(config-if)#ip address 172.22.1.2 255.255.255.0 secondary R2(config-if)#ip address 172.22.2.2 255.255.255.0 secondary R2(config-if)#ip address 172.22.3.2 255.255.255.0 secondary R2(config-if)#exit R2(config)# R2(config)# R2(config)#router bgp 1 R2(config-router)#network 172.22.0.0 mask 255.255.255.0 R2(config-router)#network 172.22.1.0 mask 255.255.255.0 R2(config-router)#network 172.22.2.0 mask 255.255.255.0 R2(config-router)#network 172.22.3.0 mask 255.255.255.0 ISP10(config)#interface Loopback 0 ISP10(config-if)#ip address 172.30.0.10 255.255.255.0 secondary ISP10(config-if)#ip address 172.30.1.10 255.255.255.0 secondary ISP10(config-if)#ip address 172.30.2.10 255.255.255.0 secondary ISP10(config-if)#ip address 172.30.3.10 255.255.255.0 secondary ISP10(config-if)#exit ISP10(config)# ISP10(config)# ISP10(config)#router bgp 10 ISP10(config-router)#network 172.30.0.0 mask 255.255.255.0 ISP10(config-router)#network 172.30.1.0 mask 255.255.255.0 ISP10(config-router)#network 172.30.2.0 mask 255.255.255.0 ISP10(config-router)#network 172.30.3.0 mask 255.255.255.0
検証2 デフォルトのAD値 確認
- デフォルトのAD値 確認
ルーティングテーブルを確認します。デフォルトで、eBGPのAD値は20, iBGPのAD値は200です。また、以下からは確認できませんが(検証4で確認可能)、ローカル(networkコマンドで指定, 再配送, aggregate-address)のAD値は200になっています。
R1#show ip route bgp 172.22.0.0/24 is subnetted, 4 subnets B 172.22.2.0 [200/0] via 2.2.2.2, 00:02:33 B 172.22.3.0 [200/0] via 2.2.2.2, 00:02:33 B 172.22.0.0 [200/0] via 2.2.2.2, 00:02:33 B 172.22.1.0 [200/0] via 2.2.2.2, 00:02:33 172.30.0.0/24 is subnetted, 4 subnets B 172.30.2.0 [20/0] via 10.10.10.10, 00:02:15 B 172.30.3.0 [20/0] via 10.10.10.10, 00:02:15 B 172.30.0.0 [20/0] via 10.10.10.10, 00:03:16 B 172.30.1.0 [20/0] via 10.10.10.10, 00:02:15 R1#
- IGPと比較した優劣
検証1でエミュレートしたネットワークをOSPFでもルーティングします。すると、172.22.X.0/24のネットワークはOSPFによる経路でルーティングしようとします。iBGPのAD値は200であるため、IGPの方が優先されてしまいます。
R1(config)#router ospf 1 R1(config-router)#network 172.21.0.0 0.0.255.255 area 0 R2(config)#router ospf 1 R2(config-router)#network 172.22.0.0 0.0.255.255 area 0 R1#show ip route | include 172 172.21.0.0/24 is subnetted, 4 subnets C 172.21.1.0 is directly connected, Loopback0 C 172.21.0.0 is directly connected, Loopback0 C 172.21.3.0 is directly connected, Loopback0 C 172.21.2.0 is directly connected, Loopback0 172.22.0.0/24 is subnetted, 4 subnets O 172.22.2.0 [110/2] via 192.168.12.2, 00:22:28, FastEthernet0/0 O 172.22.3.0 [110/2] via 192.168.12.2, 00:22:28, FastEthernet0/0 O 172.22.0.0 [110/2] via 192.168.12.2, 00:22:28, FastEthernet0/0 O 172.22.1.0 [110/2] via 192.168.12.2, 00:22:28, FastEthernet0/0 172.30.0.0/24 is subnetted, 4 subnets B 172.30.2.0 [20/0] via 10.10.10.10, 00:29:58 B 172.30.3.0 [20/0] via 10.10.10.10, 00:29:58 B 172.30.0.0 [20/0] via 10.10.10.10, 00:30:59 B 172.30.1.0 [20/0] via 10.10.10.10, 00:29:58 R1#
- BGPテーブルの確認
BGPテーブルを確認します。OSPFの方が優先されている経路には、「r」が表記されています
R1#show ip bgp BGP table version is 46, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 172.21.0.0/24 0.0.0.0 0 32768 i *> 172.21.1.0/24 0.0.0.0 0 32768 i *> 172.21.2.0/24 0.0.0.0 0 32768 i *> 172.21.3.0/24 0.0.0.0 0 32768 i r>i172.22.0.0/24 2.2.2.2 0 100 0 i <- OSPFの方が優先される経路 r>i172.22.1.0/24 2.2.2.2 0 100 0 i <- OSPFの方が優先される経路 r>i172.22.2.0/24 2.2.2.2 0 100 0 i <- OSPFの方が優先される経路 r>i172.22.3.0/24 2.2.2.2 0 100 0 i <- OSPFの方が優先される経路 *> 172.30.0.0/24 10.10.10.10 0 0 10 i *> 172.30.1.0/24 10.10.10.10 0 0 10 i *> 172.30.2.0/24 10.10.10.10 0 0 10 i *> 172.30.3.0/24 10.10.10.10 0 0 10 i R1#
検証3 distanceによるAD値指定
- AD値の設定
distanceコマンドでAD値を指定する事ができます。構文は以下の通りです。
distance <ip address> <mask> <access-list>
上記構文でneighborのIPアドレスを指定する事でneighbor毎の設定が可能です(distance 0.0.0.0 255.255.255.255ならば全neighborが対象)。また、ACLを指定する事で特定のルートのみAD値を変更する事が可能です。
以下のコマンドを投入し、ISP10からのルートのAD値を90とし、R2経由で172.22.0.0であるルートのAD値を100に設定します。(distanceコマンドで指定できるACLはstandard ACLのみです。サブネットマスクをどのように扱っているかは、いまひとつ不明です…)
以下のコマンドを投入し、ISP10からのルートのAD値を90とし、R2経由で172.22.0.0であるルートのAD値を100に設定します。(distanceコマンドで指定できるACLはstandard ACLのみです。サブネットマスクをどのように扱っているかは、いまひとつ不明です…)
R1(config)#access-list 1 permit 172.22.0.0 R1(config)# R1(config)# R1(config)#router bgp 1 R1(config-router)#distance 90 10.10.10.10 0.0.0.0 R1(config-router)#distance 100 2.2.2.2 0.0.0.0 1 R1(config-router)# R1(config-router)#exit
- ルーティングテーブルの確認
ルーティングテーブルを確認しますが、設定は反映されていません。BGP updatesを再受信しても、やはり設定は反映されていません。
R1#clear ip bgp * in R1# R1# R1#show ip route bgp 172.30.0.0/24 is subnetted, 4 subnets B 172.30.2.0 [20/0] via 10.10.10.10, 00:04:32 B 172.30.3.0 [20/0] via 10.10.10.10, 00:04:32 B 172.30.0.0 [20/0] via 10.10.10.10, 00:04:32 B 172.30.1.0 [20/0] via 10.10.10.10, 00:04:32 R1#
- ルーティングテーブルの再確認
結構はまりました。AD値の設定を反映させるためには、ルーティングテーブルを一度消去する必要があります。ルーティングテーブルを消去した後に確認すると、AD値が反映された事が読み取れます。
R1#clear ip route * R1# R1# R1#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set C 192.168.12.0/24 is directly connected, FastEthernet0/0 1.0.0.0/32 is subnetted, 1 subnets C 1.1.1.1 is directly connected, Loopback0 2.0.0.0/32 is subnetted, 1 subnets O 2.2.2.2 [110/2] via 192.168.12.2, 00:00:01, FastEthernet0/0 172.21.0.0/24 is subnetted, 4 subnets C 172.21.1.0 is directly connected, Loopback0 C 172.21.0.0 is directly connected, Loopback0 C 172.21.3.0 is directly connected, Loopback0 C 172.21.2.0 is directly connected, Loopback0 172.22.0.0/24 is subnetted, 4 subnets O 172.22.2.0 [110/2] via 192.168.12.2, 00:00:01, FastEthernet0/0 O 172.22.3.0 [110/2] via 192.168.12.2, 00:00:01, FastEthernet0/0 B 172.22.0.0 [100/0] via 2.2.2.2, 00:00:02 <- distanceコマンドでAD値が変化しました O 172.22.1.0 [110/2] via 192.168.12.2, 00:00:02, FastEthernet0/0 172.30.0.0/24 is subnetted, 4 subnets B 172.30.2.0 [90/0] via 10.10.10.10, 00:00:02 <- distanceコマンドでAD値が変化しました B 172.30.3.0 [90/0] via 10.10.10.10, 00:00:02 <- distanceコマンドでAD値が変化しました B 172.30.0.0 [90/0] via 10.10.10.10, 00:00:02 <- distanceコマンドでAD値が変化しました B 172.30.1.0 [90/0] via 10.10.10.10, 00:00:02 <- distanceコマンドでAD値が変化しました C 192.168.100.0/24 is directly connected, FastEthernet1/0 R1#
- BGPテーブルの確認
AD値の変更によって、172.22.0.0/24はOSPFよりも優先されるようになりました。「r」から「s」に表示が切り替わった事が読み取れます。
R1#show ip bgp BGP table version is 38, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path s> 172.21.0.0/24 0.0.0.0 0 32768 i s> 172.21.1.0/24 0.0.0.0 0 32768 i s> 172.21.2.0/24 0.0.0.0 0 32768 i s> 172.21.3.0/24 0.0.0.0 0 32768 i s>i172.22.0.0/24 2.2.2.2 0 100 0 i <- rの表記がなくなっています r>i172.22.1.0/24 2.2.2.2 0 100 0 i r>i172.22.2.0/24 2.2.2.2 0 100 0 i r>i172.22.3.0/24 2.2.2.2 0 100 0 i *> 172.30.0.0/24 10.10.10.10 0 0 10 i *> 172.30.1.0/24 10.10.10.10 0 0 10 i *> 172.30.2.0/24 10.10.10.10 0 0 10 i *> 172.30.3.0/24 10.10.10.10 0 0 10 i R1#
検証4 distance bgpコマンド
- 経路集約の設定
aggregate-addressの設定を投入し、ルーティングテーブルを確認します。ローカルで生成されたBPG(networkコマンド, 再配送, aggregate-address)のAD値は、200である事が分かります。
R1(config)#router bgp 1 R1(config-router)#aggregate-address 172.21.0.0 255.255.252.0 summary-only R1(config-router)#aggregate-address 172.22.0.0 255.255.252.0 summary-only R1#show ip route bgp 172.21.0.0/16 is variably subnetted, 5 subnets, 2 masks B 172.21.0.0/22 [200/0] via 0.0.0.0, 00:01:15, Null0 172.22.0.0/16 is variably subnetted, 5 subnets, 2 masks B 172.22.0.0/24 [100/0] via 2.2.2.2, 00:05:44 B 172.22.0.0/22 [200/0] via 0.0.0.0, 00:01:09, Null0 172.30.0.0/24 is subnetted, 4 subnets B 172.30.2.0 [90/0] via 10.10.10.10, 00:05:44 B 172.30.3.0 [90/0] via 10.10.10.10, 00:05:44 B 172.30.0.0 [90/0] via 10.10.10.10, 00:05:44 B 172.30.1.0 [90/0] via 10.10.10.10, 00:05:44 R1#
- distance bgp
distance bgpによりAD値を定義します。eBGP, iBGP, local BGPのAD値を指定できます。構文は以下の通りです。
distance bgp <external AD> <internal AD> <local AD>
distanceコマンドでBGPのAD値を定義し、ルーティングテーブルを確認します。設定は確かに反映されていますが、検証4で投入したdistanceコマンドの方が優先される事が分かります。
R1(config)#router bgp 1 R1(config-router)#distance bgp 30 40 50 R1#clear ip route * R1# R1#show ip route bgp 172.21.0.0/16 is variably subnetted, 5 subnets, 2 masks B 172.21.0.0/22 [50/0] via 0.0.0.0, 00:00:03, Null0 <- AD値が変化します 172.22.0.0/16 is variably subnetted, 5 subnets, 2 masks B 172.22.2.0/24 [40/0] via 2.2.2.2, 00:00:03 <- AD値が変化します B 172.22.3.0/24 [40/0] via 2.2.2.2, 00:00:03 <- AD値が変化します B 172.22.0.0/24 [100/0] via 2.2.2.2, 00:00:03 <- 検証3の設定が優先されます B 172.22.0.0/22 [50/0] via 0.0.0.0, 00:00:03, Null0 <- AD値が変化します B 172.22.1.0/24 [40/0] via 2.2.2.2, 00:00:03 <- AD値が変化します 172.30.0.0/24 is subnetted, 4 subnets B 172.30.2.0 [90/0] via 10.10.10.10, 00:00:03 <- 検証3の設定が優先されます B 172.30.3.0 [90/0] via 10.10.10.10, 00:00:03 <- 検証3の設定が優先されます B 172.30.0.0 [90/0] via 10.10.10.10, 00:00:03 <- 検証3の設定が優先されます B 172.30.1.0 [90/0] via 10.10.10.10, 00:00:03 <- 検証3の設定が優先されます R1#
検証5 backdoor
- 設定削除
検証3, 検証4で投入した設定を削除します。
R1(config)#router bgp 1 R1(config-router)#no distance 90 10.10.10.10 0.0.0.0 R1(config-router)#no distance 100 2.2.2.2 0.0.0.0 1 R1(config-router)#no distance bgp R1(config-router)#no aggregate-address 172.21.0.0 255.255.252.0 R1(config-router)#no aggregate-address 172.22.0.0 255.255.252.0 R1(config-router)#exit R1(config)# R1(config)# R1(config)#no access-list 1 R1(config)# R1(config)# R1(config)#do show run | i access-list R1(config)#do show run | b ^router router ospf 1 log-adjacency-changes network 1.1.1.1 0.0.0.0 area 0 network 172.21.0.0 0.0.255.255 area 0 network 192.168.12.1 0.0.0.0 area 0 ! router bgp 1 no synchronization bgp log-neighbor-changes network 172.21.0.0 mask 255.255.255.0 network 172.21.1.0 mask 255.255.255.0 network 172.21.2.0 mask 255.255.255.0 network 172.21.3.0 mask 255.255.255.0 neighbor 2.2.2.2 remote-as 1 neighbor 2.2.2.2 update-source Loopback0 neighbor 2.2.2.2 next-hop-self neighbor 10.10.10.10 remote-as 10 neighbor 10.10.10.10 ebgp-multihop 255 neighbor 10.10.10.10 update-source Loopback0 no auto-summary ! R1(config)#^Z R1# *Mar 1 00:42:05.515: %SYS-5-CONFIG_I: Configured from console by console R1# R1#clear ip route * R1#show ip route bgp 172.30.0.0/24 is subnetted, 4 subnets B 172.30.2.0 [20/0] via 10.10.10.10, 00:00:05 B 172.30.3.0 [20/0] via 10.10.10.10, 00:00:05 B 172.30.0.0 [20/0] via 10.10.10.10, 00:00:05 B 172.30.1.0 [20/0] via 10.10.10.10, 00:00:05 R1#
- backdoor
backdoorコマンドを使用する事でeBGPのAD値を200にし、IGPを優先させる事ができます。構文は以下の通りです。
network <ip address> mask <mask> backdoor
172.30.0.0/24のAD値を200に変更します。
R1(config)#router bgp 1 R1(config-router)#network 172.30.0.0 mask 255.255.255.0 backdoor
- ルーティングテーブルの確認
ルーティングテーブルを見て、設定が反映されている事を確認します。
R1#clear ip route * R1#show ip route bgp 172.30.0.0/24 is subnetted, 4 subnets B 172.30.2.0 [20/0] via 10.10.10.10, 00:00:04 B 172.30.3.0 [20/0] via 10.10.10.10, 00:00:04 B 172.30.0.0 [200/0] via 10.10.10.10, 00:00:04 B 172.30.1.0 [20/0] via 10.10.10.10, 00:00:04 R1#
添付ファイル