バックドア・リンク
・バックドア・リンクを使って,OSPFで受信した経路情報を,BGPで受信した経路情報より優先させる
・RouterCが受信した1.1.1.0/24の経路情報のネクストホップが,RouterB(192.168.2.1)になることを確認する
ネットワーク構成(画像を別ウインドウで表示)
RouterAのコンフィグ
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname RouterA
!
interface Loopback0
ip address 1.1.1.1 255.255.255.0
ip ospf network point-to-point ←OSPFでloopbackインタフェースのマスクを(/32ではなく)指定のマスク(/24)で通知する
!
interface Serial0
ip address 192.168.1.1 255.255.255.0
!
router ospf 1
log-adjacency-changes
network 0.0.0.0 255.255.255.255 area 0
!
router bgp 200
no synchronization
bgp log-neighbor-changes
network 1.1.1.0 mask 255.255.255.0
neighbor 192.168.1.2 remote-as 200
no auto-summary
!
line con 0
line aux 0
line vty 0 4
login
!
end
RouterBのコンフィグ
!
version 12.3
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterB
!
interface Ethernet0
ip address 192.168.2.1 255.255.255.0
!
interface Serial0
ip address 192.168.4.1 255.255.255.0
clockrate 64000
!
interface Serial1
ip address 192.168.1.2 255.255.255.0
clockrate 64000
!
router ospf 1
log-adjacency-changes
passive-interface Serial0
network 0.0.0.0 255.255.255.255 area 0
!
router bgp 200
no synchronization
bgp log-neighbor-changes
neighbor 192.168.1.1 remote-as 200
neighbor 192.168.4.2 remote-as 100
no auto-summary
!
line con 0
line aux 0
line vty 0 4
login
!
end
RouterCのコンフィグ
!
version 12.3
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterC
!
interface Ethernet0
ip address 192.168.2.2 255.255.255.0
!
interface Serial0
ip address 192.168.5.1 255.255.255.0
clockrate 64000
no fair-queue
!
interface Serial1
ip address 192.168.3.2 255.255.255.0
clockrate 64000
!
router ospf 1
log-adjacency-changes
passive-interface Serial0
network 0.0.0.0 255.255.255.255 area 0
!
router bgp 300
no synchronization
bgp log-neighbor-changes
network 1.1.1.0 mask 255.255.255.0 backdoor ←1.1.1.0/24の経路情報はローカルBGP経路(AD値200)として扱う
neighbor 192.168.3.1 remote-as 300
neighbor 192.168.5.2 remote-as 100
no auto-summary
!
line con 0
line aux 0
line vty 0 4
login
!
end
RouterDのコンフィグ
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname RouterD
!
interface Serial0
ip address 192.168.3.1 255.255.255.0
!
router ospf 1
log-adjacency-changes
network 0.0.0.0 255.255.255.255 area 0
!
router bgp 300
no synchronization
bgp log-neighbor-changes
neighbor 192.168.3.2 remote-as 300
no auto-summary
!
line con 0
line aux 0
line vty 0 4
login
!
end
RouterEのコンフィグ
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname RouterE
!
interface Serial0
ip address 192.168.4.2 255.255.255.0
!
interface Serial1
ip address 192.168.5.2 255.255.255.0
!
router bgp 100
no synchronization
bgp log-neighbor-changes
neighbor 192.168.4.1 remote-as 200
neighbor 192.168.5.1 remote-as 300
no auto-summary
!
line con 0
line aux 0
line vty 0 4
login
!
end
確認
AS同士をつなぐときには,BGPのほかにOSPFなどのIGPでつなぐケースもあります。
こうした場合,BGPで受信した経路情報より,IGPで受信した経路情報を優先させたくなるときがあります。
そこで,「バックドア・リンク」と呼ばれる手法を使います。

●バックドア・リンクとは?
まず,ネットワーク構成を確認しましょう。
RouterCは,1.1.1.0/24という経路情報をBGPとOSPFで受け取ります。
同じあて先の経路情報を受け取った場合,アドミニストレイティブ・ディスタンス(AD)値が小さい方の経路情報を採用するのがルールです。
AD値は,EBGPは20,OSPFが110と決まっています。
そのためRouterCは,EBGPで受け取った経路情報を採用し,RouterE(192.168.5.2)をネクストホップにします。
でも,RouterCにとっては,1.0.0.0/24あてはRouterB経由にした方が近いですよね。
そこで,特定のネットワークから受け取ったBGPのAD値を大きくして,優先順位を下げてやります。
これが,「バックドア・リンク」です。

BGPに関するAD値は三つあり,以下のように決まっています。

EBGP     :20
IBGP     :200
ローカルBGP:200

「ローカルBGP」というのは,networkコマンドや再配布コマンドによってBGPテーブルに登録した経路情報のことです。
バックドア・リンクでは,特定の経路情報のAD値を,ローカルBGPのAD値(つまり200)に変更します。
コマンドは以下のように,networkコマンドにbackdoorオプションを付けます。

network 1.1.1.0 mask 255.255.255.0 backdoor

networkコマンドは,BGPテーブルに経路情報を載せるためのコマンドです。
つまりルーターに,「この経路情報をBGPテーブルに載せろ(AD値はローカルBGPの200)」とあらためて命令してやるわけです。
そしてbackdoorオプションを付けることで,この経路情報はEBGPピアに通知されなくなります。

ちなみに,BGPの三つのAD値は,show ip protocolsコマンドによって確認できます(一番下の赤字)。

RouterA#show ip protocols
Routing Protocol is "ospf 1"
 Outgoing update filter list for all interfaces is not set
 Incoming update filter list for all interfaces is not set
 Router ID 1.1.1.1
 Number of areas in this router is 1. 1 normal 0 stub 0 nssa
 Maximum path: 4
 Routing for Networks:
  0.0.0.0 255.255.255.255 area 0
 Routing Information Sources:
  Gateway     Distance   Last Update
  2.2.2.2       110   03:04:30
  1.1.1.1       110   01:27:47
  192.168.5.1     110   01:27:47
  192.168.4.1     110   01:27:47
 Distance: (default is 110)

Routing Protocol is "bgp 200"
 Outgoing update filter list for all interfaces is not set
 Incoming update filter list for all interfaces is not set
 IGP synchronization is disabled
 Automatic route summarization is disabled
 Neighbor(s):
  Address     FiltIn FiltOut DistIn DistOut Weight RouteMap
  Address     FiltIn FiltOut DistIn DistOut Weight RouteMap
  192.168.1.2
 Maximum path: 1
 Routing Information Sources:
  Gateway     Distance   Last Update
  192.168.1.2     200   02:24:20
 Distance: external 20 internal 200 local 200


●バックドア・リンク設定前の状態の確認
それでは,RouterCの「network 1.1.1.0 mask 255.255.255.0 backdoor」コマンドを入力していない状態から見ていきましょう。

RouterCのバックドア・リンク設定前の状態を確認します。
1.1.1.0/24の経路情報を,192.168.5.2(RouterE)から受信しています。
ステータス・コードに「>」印が付いているので,これがベストパスになっているのがわかります。

RouterC#show ip bgp
BGP table version is 2, local router ID is 192.168.5.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
*> 1.1.1.0/24    192.168.5.2                 0  100 200 i


RouterCのルーティング・テーブルを見てみましょう。
ベストパスの1.1.1.0/24が登録されています。
AD値は,EBGPの20になっていますね。

RouterC#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

   1.0.0.0/24 is subnetted, 1 subnets
B    1.1.1.0 [20/0] via 192.168.5.2, 00:03:53
O  192.168.4.0/24 [110/74] via 192.168.2.1, 00:07:41, Ethernet0
C  192.168.5.0/24 is directly connected, Serial0
O  192.168.1.0/24 [110/74] via 192.168.2.1, 00:07:41, Ethernet0
C  192.168.2.0/24 is directly connected, Ethernet0
C  192.168.3.0/24 is directly connected, Serial1


●バックドア・リンク設定と動作の確認
それでは,RouterCにバックドア・リンクを設定して,BGPで受信した経路情報ではなく,OSPFで受信した経路情報を採用するようにしましょう。
networkコマンドを使って1.1.1.0/24を指定し,backdoorオプションを付けます。

RouterC(config)#router bgp 300
RouterC(config-router)#network 1.1.1.0 mask 255.255.255.0 backdoor

意味的には,「RouterCのBGPテーブルに1.1.1.0/24の経路情報を載せなさい。AD値はローカルBGPの200。ただしこの経路情報はEBGPピアには通知しない」という感じになります。

設定したら,再びRouterCのBGPテーブルを見てみます。

RouterC#show ip bgp
BGP table version is 3, local router ID is 192.168.5.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
r> 1.1.1.0/24    192.168.5.2                 0  100 200 i


ステータス・コードに「r」印が付きました。
これは,IGPで受信したものが優先され,BGPの経路情報はルーティング・テーブルに載らなかったことを示しています。
「r」の意味は,シスコのWebページを参照して下さい

RouterCのルーティング・テーブルを見てみましょう。

RouterC#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

   1.0.0.0/24 is subnetted, 1 subnets
O    1.1.1.0 [110/75] via 192.168.2.1, 00:01:04, Ethernet0
O  192.168.4.0/24 [110/74] via 192.168.2.1, 00:10:29, Ethernet0
C  192.168.5.0/24 is directly connected, Serial0
O  192.168.1.0/24 [110/74] via 192.168.2.1, 00:10:29, Ethernet0
C  192.168.2.0/24 is directly connected, Ethernet0
C  192.168.3.0/24 is directly connected, Serial1


経路情報の学習元を示す記号が,「O」になりました。
1.1.1.0/24の経路情報の学習元が,OSPFに変わったことがわかります。
BGPで学習した1.1.1.0/24の経路情報のAD値が200(ローカルBGPの値)になったことから,AD値が110であるOSPFの経路情報を採用したわけです。

BGPラボ
BGPの基本設定
BGP同期
BGPの経路集約
ルート・リフレクタ

経路選択(Local Preference)
経路選択(MED)

経路選択(AS Path)
経路情報のフィルタ(ネットワーク番号)
経路情報のフィルタ(AS Path)
BGPコンフェデレーション

バックドア・リンク

BGPコミュニティ