IPv6 BGP

IPv6 Border Gateway protocol (BGP) は、自律システム (AS) 間で IPv6 のルーティング情報をやり取りするプロトコルです。IPv6 BGP をサポートする Dell SonicWALL セキュリティ装置は、ネットワークの AS のエッジにある従来の BGP ルータの代わりに配置できます。

BGP は、SonicOS GUI の「ネットワーク > ルーティング」ページで有効にします。その後、SonicOS のコマンド ライン インターフェース (CLI) で設定する必要があります。

SonicOS 6.2 には以下の制限が適用されます。

トピック:

複数の自律システムの設定

1 つの自律システム (AS) に複数の BGP ルータがある場合、その AS は他の AS にトランジット サービスを提供できます。異なる AS に属するルータ間で BGP が動作する場合、BGP は外部 BGP (eBGP) を使用します。同じ AS に属するルータ間で BGP が動作する場合、BGP は内部 BGP (iBGP) を使用します。

以下の図では、AS 200 は AS 100 と AS 300 のトランジット AS です。

図 76. 複数の BGP ルータが設定された自律システム

上の図のように複数の AS を設定するには、ルータ RTA、RTB、RTC を次のように設定します。

RTA 上で以下を実行
router bgp 100
: neighbor 129.213.1.1 remote−as 200
address-family ipv6
: redistribute connected
: neighbor 129.213.1.1 activate
RTB 上で以下を実行
router bgp 200
: neighbor 129.213.1.2 remote−as 100
: neighbor 175.220.1.2 remote−as 200
address-family ipv6
: redistribute connected
: neighbor 129.213.1.2 activate
: neighbor 175.220.1.2 activate
RTC 上で以下を実行
router bgp 200
: neighbor 175.220.212.1 remote−as 200
address-family ipv6
: neighbor 175.220.212.1 activate
: neighbor 175.220.212.1 activate
 

IPv6 での BGP の基本設定

IPv6 の BGP ピアルータは、IPv4 と IPv6 のルート情報のいずれかを IPv6 アドレス ファミリーと IPv4 アドレス ファミリーのいずれかで送信するように設定できます。

図 77. IPv6 での BGP の基本設定

IPv6 での BGP の基本設定を行うには、ルータ R1 と R2 を次のように設定します。

R1 上で以下を実行
router bgp 6501
: bgp router−id 1.1.1.1
: neighbor 2011:11:11:11::2 remote−as 6502
address−family ipv6
: neighbor 2011:11:11:11::2 activate
exit−address−family
R2 上で以下を実行
router bgp 6502
: bgp router−id 2.2.2.2
: neighbor 2011:11:11:11::1 remote−as 6501
 
address−family ipv6
: network 1010::1/128
: network 2020::1/128
: neighbor 2011:11:11:11::1 activate

EBGP マルチホップの設定

EBGP マルチホップを使用すると、直接接続されていない 2 つの外部ピア間の近隣接続を確立できます。マルチホップが利用できるのは eBGP のみで、iBGP では利用できません。ファイアウォールが直接接続されていない外部ピアを持つ場合、ebgp−multihop コマンドを使用して近隣接続を確立できます。

EBGP マルチホップを設定するには、ルータ R1 と R2 を次のように設定します。

R1 上で以下を実行
router bgp 6501
: bgp router−id 1.1.1.1
: neighbor 2011:11:11:11::2 remote−as 6502
: neighbor 2011:11:11:11::2 ebgp−multihop
 
address−family ipv6
: neighbor 2011:11:11:11::2 activate
exit−address−family
 
R2 上で以下を実行
router bgp 6502
: bgp router−id 2.2.2.2
: neighbor 2011:11:11:11::1 remote−as 6501
: neighbor 2011:11:11:11::1 ebgp−multihop
 
address−family ipv6
: network 1010::1/128
: network 2020::1/128
: neighbor 2011:11:11:11::1 activate

IPv6 BGP 送信ルート フィルタリングの設定

IPv6 BGP 送信ルート フィルタリング (ORF) を使用すると、不要なルーティング更新情報を送信元でフィルタ オフすることにより、ピア·ルータ間で送信される BGP 更新の数を最小限にできます。

IPv6 BGP 送信ルート フィルタリングを設定するには、ルータ R1 と R2 を次のように設定します。

R1 上で以下を実行
router bgp 6501
: bgp router−id 1.1.1.1
: neighbor 2011:11:11:11::2 remote−as 6502
 
address−family ipv6
: redistribute connected
: neighbor 2011:11:11:11::2 activate
: neighbor 2011:11:11:11::2 prefix-list pref1 in
: neighbor 2011:11:11:11::2 prefix-list pref2 out
exit−address−family
 
ipv6 prefix-list pref1 seq 10 deny 1010::1/128
ipv6 prefix-list pref1 seq 20 permit any
ipv6 prefix-list pref2 seq 10 deny 1111::1/128
ipv6 prefix-list pref2 seq 20 permit any
R2 上で以下を実行
router bgp 6502
: bgp router−id 2.2.2.2
: neighbor 2011:11:11:11::1 remote−as 6501
 
address−family ipv6
: redistribute connected
: neighbor 2011:11:11:11::1 activate
 

R1 と R2 のルートを確認するには、show bgp ipv6 unicast コマンドを使用します。

R1 のルートには、IPv6 アドレス 1010::1/128 が表示されるはずです。

R2 のルートには、IPv6 アドレス 1111::1/128 が表示されるはずです。

R1 上で以下を実行
R1> show bgp ipv6 unicast
R2 上で以下を実行
R2> show bgp ipv6 unicast

IPv6 BGP 配布リストの設定

IPv6 BGP 配布リストを使用すると、不要なルーティング更新情報を送信元でフィルタ オフすることにより、ピア·ルータ間で送信される BGP 更新の数を最小限にできます。

IPv6 BGP 配布リストを設定するには、ルータ R1 と R2 を次のように設定します。

R1 上で以下を実行
router bgp 6501
: bgp router−id 1.1.1.1
: neighbor 2011:11:11:11::2 remote−as 6502
 
address−family ipv6
: redistribute connected
: neighbor 2011:11:11:11::2 activate
: neighbor 2011:11:11:11::2 distribute-list acl1 in
: neighbor 2011:11:11:11::2 distribute-list acl2 out
exit−address−family
 
ipv6 access-list acl1 deny 1010::1/128
ipv6 access-list acl1 permit any
ipv6 access-list acl2 deny 1111::1/128
ipv6 access-list acl2 permit any
R2 上で以下を実行
router bgp 6502
: bgp router−id 2.2.2.2
: neighbor 2011:11:11:11::1 remote−as 6501
 
address−family ipv6
: redistribute connected
: neighbor 2011:11:11:11::1 activate
 

R1 と R2 のルートを確認するには、show bgp ipv6 unicast コマンドを使用します。

R1 のルートには、IPv6 アドレス 1010::1/128 が表示されるはずです。

R2 のルートには、IPv6 アドレス 1111::1/128 が表示されるはずです。

R1 上で以下を実行
R1> show bgp ipv6 unicast
R2 上で以下を実行
R2> show bgp ipv6 unicast

IPv6 BGP ルートマップ

IPv6 BGP ルートマップを使用すると、不要なルーティング更新情報を送信元でフィルタ オフすることにより、ピア·ルータ間で送信される BGP 更新の数を最小限にできます。

IPv6 BGP ルートマップを設定するには、ルータ R1 と R2 を次のように設定します。

R1 上で以下を実行
router bgp 6501
: bgp router−id 1.1.1.1
: neighbor 2011:11:11:11::2 remote−as 6502
 
address−family ipv6
: redistribute connected
: neighbor 2011:11:11:11::2 activate
: neighbor 2011:11:11:11::2 route-map map1 in
: neighbor 2011:11:11:11::2 route-map map2 out
exit−address−family
 
ipv6 access-list acl1 deny 1010::1/128
ipv6 access-list acl1 permit any
ipv6 access-list acl2 deny 1111::1/128
ipv6 access-list acl2 permit any
!
route-map map1 permit 1 match ipv6 address acl1
!
route-map map2 permit 1 match ipv6 address acl2
!
R2 上で以下を実行
router bgp 6502
: bgp router−id 2.2.2.2
: neighbor 2011:11:11:11::1 remote−as 6501
 
address−family ipv6
: redistribute connected
: neighbor 2011:11:11:11::1 activate

R1 と R2 のルートを確認するには、show bgp ipv6 unicast コマンドを使用します。

R1 上で以下を実行
R1> show bgp ipv6 unicast

R1 のルートには、IPv6 アドレス 1010::1/128 が表示されるはずです。

R2 上で以下を実行
R2> show bgp ipv6 unicast

R2 のルートには、IPv6 アドレス 1111::1/128 が表示されるはずです。

AS 正規表現の設定

正規表現を設定すると、AS からのアドレスを照合することができ、アドレスの禁止または許可に使用できます。

図 78. 自律システム正規表現の設定

RTB は以下のルートを通知します。

RTC は以下のルートを通知します。

ルータ RTA のルートを確認するには、show bgp ipv6 unicast コマンドを使用します。

RTA 上で以下を実行
RTA> show bgp ipv6 unicast
 
BGP table version is 4, local router ID is 10.0.1.2
Status codes: s suppressed, d damped, h history, * valid, > best,
i - internal, l - labeled
S Stale
Origin codes: i - IGP, e - EGP, ?- incomplete
 
Network: Next Hop: Metric: LocPrf: Weight: Path
*> 2002::/64: ::ffff:a00:101: 0: 0: 100: i
*> 2003::/64: ::ffff:a00:101: 0: 0: 100: i
*> 2004::/64: ::ffff:a00:101: 0: 0: 100: i
*> 5000::/64: ::ffff:a00:101: 0: 0: 100: 400i
*> 6666::6/128: ::ffff:a00:101: 0: 0: 100: 400
*> 7777::7/128: ::ffff:a00:101: 0: 0: 100: 400
 

RTA で AS 正規表現を設定し、AS100 が発信元のルートをすべて禁止するには、以下の手順を実行します。

router bgp 200
: neighbor 10.0.1.1 remote-as 100
: neighbor 10.0.1.1 update-source X2
: neighbor 2004::1 remote-as 100
: neighbor 2004::1 update-source X2
!
address-family ipv6
: neighbor 10.0.1.1 activate
: neighbor 10.0.1.1 filter-list 1 in
: neighbor 2004::1 activate
: exit-address-family
 
ip as-path access-list 1 deny ^100$
ip as-path access-list 1 permit .*
 

ルータ RTA のルートを確認するには、show bgp ipv6 unicast コマンドを使用します。

RTA 上で以下を実行
RTA> show bgp ipv6 unicast
BGP table version is 4, local router ID is 10.0.1.2
Status codes: s suppressed, d damped, h history, * valid, > best,
i - internal, l - labeled
S Stale
Origin codes: i - IGP, e - EGP, ?- incomplete
Network: Next Hop: Metric: LocPrf: Weight: Path
*> 5000::/64: ::ffff:a00:101: 0: 0: 100: 400i
*> 6666::6/128: ::ffff:a00:101: 0: 0: 100: 400i
*> 7777::7/128: ::ffff:a00:101: 0: 0: 100: 400i
 
Total number of prefixes 3

 

AS100 から学習したすべてのルートを禁止するように AS パスを変更するには、以下の手順を実行します。

RTA 上で以下を実行
router bgp 200
: neighbor 10.0.1.1 remote-as 100
: neighbor 10.0.1.1 update-source X2
: neighbor 2004::1 remote-as 100
: neighbor 2004::1 update-source X2
!
address-family ipv6
: neighbor 10.0.1.1 activate
: neighbor 10.0.1.1 filter-list 1 in
: neighbor 2004::1 activate
exit-address-family
 
ip as-path access-list 1 deny _100_
ip as-path access-list 1 permit .*

ルータ RTA のルートを確認するには、show bgp ipv6 unicast コマンドを使用します。

RTA 上で以下を実行
RTA> show bgp ipv6 unicast

EBGP のルート選択

ルートは、そのルート上で動作するルーティング プロトコルの管理距離に基づいて選択されます。管理距離が小さいルーティング プロトコルは、管理距離が大きいルーティング プロトコルよりも優先されます。EBGP の管理距離は 20 です。OSPF の管理距離は 110 です。

次の図は、3 つの AS と、BGP ルータで使用中のルーティング プロトコルを示しています。

図 79. 自律システムの EBGP のルート選択の設定

AS300 の RTC ルータは、AS100 と AS200 の両方にルート 1000::/64 を通知します。

RTC (AS300) から RTA (AS100) へのルートでは OSPF が実行されています。

RTC (AS300) から RTB (AS200) へのルートでは eBGP が実行されています。

RTA (AS100) から RTB (AS200) へのルートでは eBGP が実行されています。

RTA (AS100) は、ルート 1000::/64 に関する更新を OSPF と eBGP の両方から受信します。eBGP の管理距離は OSPF の管理距離よりも小さいため、eBGP から学習したルートが選択され、RTA のルーティング テーブルに追加されます。

RTA 上で以下を実行
router bgp 100
: neighbor 3001::1 remote-as 200
!
address-family ipv6
: distance bgp 150 150 150
: neighbor 3001::1 activate
exit-address-family
RTB 上で以下を実行
router bgp 200
: bgp log-neighbor-changes
: neighbor 1001::1 remote-as 300
: neighbor 2003::1 remote-as 100
 
address-family ipv6
: network 6666::6/128
: neighbor 1001::1 activate
: neighbor 2003::1 activate
exit-address-family
RTC 上で以下を実行
router bgp 300
: neighbor 3002::1 remote-as 200
!
address-family ipv6 network 1000::/64
: neighbor 3002::1 activate
exit-address-family

ルータ RTA のルートを確認するには、show ipv6 route コマンドを使用します。

RTA> show ipv6 route
IPv6 Routing Table
Codes:K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP
Timers:Uptime
 
B 1000::/64 [20/0] via fe80::204:27ff:fe0c:b006, X1, 00:01:07
C 2003::/64 via ::, X1, 00:30:50
B 6666::6/128 [20/0] via fe80::204:27ff:fe0c:b006, X1, 00:01:07
C fe80::/64 via ::, X1, 00:30:53
 

RTC は RTA と直接接続しているため、実際には BGP から学習したルートよりも OSPF のルートのほうが好ましいルートです。RTA と RTC の間のルートが選択されてルーティング テーブルに追加されるようにするには、distance コマンドを使用して、BGP ルートの既定の管理距離が OSPF ルートよりも大きくなるようにします。以下に例を示します。

distance bgp 150 150 150

backdoor neighbor コマンドを使用して BGP ルートを優先ルートに設定することもできます。以下に例を示します。

RTA 上で以下を実行
router bgp 100
: neighbor 3001::1 remote-as 200
!
address-family ipv6
: network 1000::/64
: backdoor neighbor 3001::1 activate
exit-address-family
 

ルータ RTA のルートを確認するには、show ipv6 route コマンドを使用します。

RTA> show ipv6 route
IPv6 Routing Table
 
Codes:K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP
Timers:Uptime
 
O: 1000::/64 [110/2] via fe80::217:c5ff:feb4:57f2, X4, 00:30:53
C: 2003::/64 via ::, X1, 00:31:18
B: 6666::6/128 [20/0] via fe80::204:27ff:fe0c:b006, X1, 00:00:03
C: fe80::/64 via ::, X1, 00:31:21

IPv6 BGP の同期

IPv6 BGP の同期は、すべての利用可能なルートおよびネットワークの IPv6 アドレスを使用してすべての BGP ルータを最新に保つ機能です。

BGP 同期では、ある AS (AS100) が別の AS (AS300) からのトラフィックを 3 番目の AS (AS400) に渡す場合、BGP は AS100 のすべてのルータが IGP からルートを学習するまでそのルートを通知しません。この例では、IGP は iBGP になります。iBGP が AS100 内のすべてのルータにそのルートを伝播するまで、AS100 は待つ必要があります。その後、eBGP は外部 AS にルートを通知します。

この例では、RTB が iBGP でアドレス 6666::6/128 を学習した後、RTB がそのアドレスを RTD に通知します。

図 80. IPv6 BGP の同期の例

この例では、RTC (AS2) がアドレス 6666::6/128 を RTA (AS100) に通知します。AS100 内では RTA と RTB が iBGP を実行しているので、RTB はアドレス 6666::6/128 を学習し、ネクスト ホップ 5.5.5.5 (RTC) 経由でこのアドレスに到達できます。ネクスト ホップは iBGP で送信されます。ただし、ネクスト ホップ (RTC) に到達するには、RTB は RTE 経由でトラフィックを送信する必要がありますが、RTE は IP アドレス 6666::6/128 を知りません。

RTB が 6666::6/128 を RTD (AS400) に通知すると、RTD から 6666::6/128 に向かうトラフィックは AS100 の RTB と RTE を通過する必要があります。ところが、RTE はまだ 6666::6/128 を学習していないので、RTE ですべてのパケットが破棄されます。

AS100 の RTB で BGP の同期を設定するには、以下の手順を実行します。

RTB 上で以下を実行
router bgp 100
: neighbor 10.103.10.129 remote-as 100
: neighbor 3001::1 remote-as 100
: neighbor 3001::1 update-source X4
: neighbor 5000::1 remote-as 400
: neighbor 5000::1 update-source X2
!
address-family ipv6
: synchronization
: neighbor 10.103.10.129 activate
: neighbor 3001::1 activate
: neighbor 5000::1 activate
exit-address-family
 

1 つの AS から中継する AS を通じて別の AS にトラフィックを送信することがない場合は、同期を無効にできます。中継 AS 内のすべてのルータが BGP を実行する場合は同期を無効にすることもできます。同期を無効にすると、IGP で送信するルートが減少し、BGP の収束が速くなります。

AS100 の RTB で BGP の同期を無効にするには、以下の手順を実行します。

RTB 上で以下を実行
router bgp 100
: neighbor 10.103.10.129 remote-as 100
: neighbor 3001::1 remote-as 100
: neighbor 3001::1 update-source X4
: neighbor 5000::1 remote-as 400
: neighbor 5000::1 update-source X2
!
address-family ipv6
: neighbor 10.103.10.129 activate
: neighbor 3001::1 activate
: neighbor 5000::1 activate
exit-address-family

BGP ルート リフレクション

既定では、AS 内のすべての iBGP ルータはフルメッシュ 構成にする必要があります。つまり、各ルータを他のすべてのルータのピアに設定しなければなりません。

ルート リフレクションを使用すると、iBGP ルータをすべてフル メッシュにする必要はなくなります。ルート リフレクションによって、各 iBGP ルータが AS 内の他のすべてのルータとやり取りする必要性が解消します。1 台の iBGP ルータをルート リフレクタとして指定すると、そのルータは iBGP で学習したルートを複数の iBGP クライアントに送信できます。

ルータをルート リフレクタとして設定すると、そのルータは他の iBGP ルータが iBGP で得られたルートを取得できる単一のポイントとして機能します。ルート リフレクタは、AS 内の他のすべてのルータにとって、ピアではなくサーバとして機能します。他のすべての iBGP ルータは、ルート リフレクタ クライアントになります。ルータは、1 つ以上のルート リフレクタ クライアントが存在するかぎりルート リフレクタです。

図 81. BGP ルート リフレクションの設定

AS 内でルート リフレクションを設定するには、以下の手順を実行します。

RouterA 上で以下を実行
interface Serial0/0
: ipv6 address 2011:12:12:12::1/64
: ipv6 address 10:12:12:12::1/0
 
interface Serial0/1
: ipv6 address 2011:13:13:13::1/64
: ipv6 address 10:12:12:12::1/0
 
router bgp 100
 
bgp router−id 1.1.1.1
no bgp default ipv4−unicast
bgp log−neighbor−changes
: neighbor 2011:22:22:22::22 remote−as 100
: neighbor 2011:22:22:22::22 update−source Loopback0
: neighbor 2011:33:33:33::33 remote−as 100
: neighbor 2011:33:33:33::33 update−source Loopback0
!
address−family ipv6
: neighbor 2011:22:22:22::22 activate
: neighbor 2011:22:22:22::22 route−reflector−client
: neighbor 2011:33:33:33::33 activate
: neighbor 2011:33:33:33::33 route−reflector−client
exit−address−family
!
ipv6 router ospf 10
: router−id 1.1.1.1
 
RRClient1 (ルート リフレクタ クライアント 1) 上で以下を実行
interface Loopback0
: ipv6 address 2011:22:22:22::22/128
: ipv6 address 10:12:12:12::1/0
!
interface Loopback10
: ipv6 address 1010:10:10:10::10/128
 
interface Serial0/0
: ipv6 address 2011:12:12:12::2/64
: ipv6 address 10:12:12:12::1/0
!
router bgp 100
: bgp router−id 2.2.2.2
: bgp log−neighbor−changes
: neighbor 2011:11:11:11::11 remote−as 100
: neighbor 2011:11:11:11::11 update−source Loopback0
!
address−family ipv6
: neighbor 2011:11:11:11::11 activate
: network 1010:10:10:10::10/128
exit−address−family
!
ipv6 router ospf 10
: router−id 2.2.2.2
RRClient2 (ルート リフレクタ クライアント 2) 上で以下を実行
interface Loopback0
: ipv6 address 2011:33:33:33::33/128
: ipv6 address 10:12:12:12::1/0
!
interface Loopback20
: ipv6 address 2020:20:20:20::20/128
!
interface Serial0/0
: no ip address
: ipv6 address 2011:13:13:13::2/64
: ipv6 address 10:12:12:12::1/0
!
router bgp 100
: bgp router−id 3.3.3.3
: bgp log−neighbor−changes
: neighbor 2011:11:11:11::11 remote−as 100
: neighbor 2011:11:11:11::11 update−source Loopback0
!
address−family ipv6
: neighbor 2011:11:11:11::11 activate
: network 2020:20:20:20::20/128
exit−address−family
!
ipv6 router ospf 10
: router−id 3.3.3.3
: log−adjacency−changes

ルートを確認するには、show bgp ipv6 unicast コマンドを使用します。

RRClient1 上で以下を実行
RRClient1> show bgp ipv6 unicast

ルート 2020:20:20:20::20/128 が表示されます。

RRClient2 上で以下を実行
RRClient2> show bgp ipv6 unicast

ルート 1010:10:10:10::10/128 が表示されます。

IPv6 BGP ローカル プリファレンス

ローカル プリファレンスは、特定のネットワークへの任意のルートを AS からそのネットワークへの優先的な出口ルートとして指定する機能です。ローカル プリファレンスが最大のルートが優先ルートになります。ローカル プリファレンスの既定値は 100 ですが、この値は set local-preference コマンドで変更できます。

図 82. IPv6 BGP ローカル プリファレンスの設定

AS 内で優先ルートのローカル プリファレンスを設定するには、以下の手順を実行します。

R1 上で以下を実行
interface Loopback0
: ipv6 address 1111:111:111:A::/64 eui−64
: ipv6 address 10:12:12:12::1/0
 
interface FastEthernet0/0
: ipv6 address AB01:CD1:123:A::/64 eui−64
: ipv6 address 10:12:12:12::1/0
!
interface Serial0/0
: ipv6 address AB01:CD1:123:C::/64 eui−64
!
interface FastEthernet0/1
: ipv6 address AB01:CD1:123:B::/64 eui−64
: ipv6 address 10:12:12:12::1/0
!
: ipv6 router ospf 10 router−id 1.1.1.1 log−adjacency−changes
: redistribute connected route−map CONNECTED
!
route−map CONNECTED permit 10
: match interface Serial0/0
!
router bgp 123
bgp router−id 1.1.1.1
: neighbor 2222:222:222:A:C602:3FF:FEF0:0 remote−as 123
: neighbor 2222:222:222:A:C602:3FF:FEF0:0 update−source Loopback0
: neighbor 3333:333:333:A:C603:3FF:FEF0:0 remote−as 123
: neighbor 3333:333:333:A:C603:3FF:FEF0:0 update−source Loopback0
: neighbor AB01:CD1:123:C:C604:16FF:FE98:0 remote−as 101
: neighbor AB01:CD1:123:C:C604:16FF:FE98:0 ebgp−multihop 5
!
address−family ipv6
: neighbor 2222:222:222:A:C602:3FF:FEF0:0 activate
: neighbor 2222:222:222:A:C602:3FF:FEF0:0 next−hop−self
: neighbor 3333:333:333:A:C603:3FF:FEF0:0 activate
: neighbor 3333:333:333:A:C603:3FF:FEF0:0 next−hop−self
: neighbor AB01:CD1:123:C:C604:16FF:FE98:0 activate exit−address−family
 
R2 上で以下を実行
interface Loopback0
: ipv6 address 2222:222:222:A::/64 eui−64
: ipv6 address 10:12:12:12::1/0
!
interface FastEthernet0/0
: ipv6 address AB01:CD1:123:A::/64 eui−64
: ipv6 address 10:12:12:12::1/0
!
interface FastEthernet0/1
: ipv6 address AB01:CD1:123:D::/64 eui−64
: ipv6 address 10:12:12:12::1/0
!
: ipv6 router ospf 10 router−id 2.2.2.2 log−adjacency−changes
!
router bgp 123
bgp router−id 2.2.2.2
: neighbor 1111:111:111:A:C601:3FF:FEF0:0 remote−as 123
: neighbor 1111:111:111:A:C601:3FF:FEF0:0 update−source Loopback0
: neighbor 3333:333:333:A:C603:3FF:FEF0:0 remote−as 123
: neighbor 3333:333:333:A:C603:3FF:FEF0:0 update−source Loopback0
 
address−family ipv6
: neighbor 1111:111:111:A:C601:3FF:FEF0:0 activate
: neighbor 3333:333:333:A:C603:3FF:FEF0:0 activate
exit−address−family
 
R3 上で以下を実行
interface Loopback0
: ipv6 address 3333:333:333:A::/64 eui−64
: ipv6 address 10:12:12:12::1/0
!
interface FastEthernet0/0
: ipv6 address AB01:CD1:123:B::/64 eui−64
: ipv6 address 10:12:12:12::1/0
!
interface Serial0/0
: ipv6 address AB01:CD1:123:E::/64 eui−64
!
interface FastEthernet0/1
: ipv6 address AB01:CD1:123:D::/64 eui−64
: ipv6 address 10:12:12:12::1/0
!
ipv6 router ospf 10
: router−id 3.3.3.3
: redistribute connected route−map CONNECTED
!
router bgp 123
: no synchronization
: bgp router−id 3.3.3.3
: neighbor 1111:111:111:A:C601:3FF:FEF0:0 remote−as 123
: neighbor 1111:111:111:A:C601:3FF:FEF0:0 update−source Loopback0
: neighbor 2222:222:222:A:C602:3FF:FEF0:0 remote−as 123
: neighbor 2222:222:222:A:C602:3FF:FEF0:0 update−source Loopback0
: neighbor AB01:CD1:123:E:C605:16FF:FE98:0 remote−as 202
: neighbor AB01:CD1:123:E:C605:16FF:FE98:0 ebgp−multihop 5
!
address−family ipv6
: neighbor 1111:111:111:A:C601:3FF:FEF0:0 activate
: neighbor 1111:111:111:A:C601:3FF:FEF0:0 next−hop−self
: neighbor 1111:111:111:A:C601:3FF:FEF0:0 route−map LOCAL_PREF out
: neighbor 2222:222:222:A:C602:3FF:FEF0:0 activate
: neighbor 2222:222:222:A:C602:3FF:FEF0:0 next−hop−self
: neighbor 2222:222:222:A:C602:3FF:FEF0:0 route−map LOCAL_PREF out
: neighbor AB01:CD1:123:E:C605:16FF:FE98:0 activate
exit−address−family
!
ipv6 prefix−list 10 seq 5 permit BC01:BC1:10:A::/64
!
route−map LOCAL_PREF permit 10
: match ipv6 address prefix−list 10
: set local−preference 500
!
route−map LOCAL_PREF permit 20
!
route−map CONNECTED permit 10
: match interface Serial0/0
R4 上で以下を実行
interface Serial0/0
: ipv6 address AB01:CD1:123:C::/64 eui−64
!
interface Loopback10
: ipv6 address BC01:BC1:10:A::/64 eui−64
!
interface Loopback11
: ipv6 address BC02:BC1:11:A::/64 eui−64
!
interface Loopback12
: ipv6 address BC03:BC1:12:A::/64 eui−64
 
router bgp 101
bgp router−id 4.4.4.4
: neighbor AB01:CD1:123:C:C601:3FF:FEF0:0 remote−as 123
!
address−family ipv6
: neighbor AB01:CD1:123:C:C601:3FF:FEF0:0 activate
: network BC01:BC1:10:A::/64 network BC02:BC1:11:A::/64
: network BC03:BC1:12:A::/64 exit−address−family
R5 上で以下を実行
interface Serial0/0
: ipv6 address AB01:CD1:123:E::/64 eui−64
: clock rate 2000000
!
interface Loopback10
: ipv6 address BC01:BC1:10:A::/64 eui−64
!
interface Loopback11
: ipv6 address BC02:BC1:11:A::/64 eui−64
!
interface Loopback12
: ipv6 address BC03:BC1:12:A::/64 eui−64
!
router bgp 202
bgp router−id 5.5.5.5
: neighbor AB01:CD1:123:E:C603:3FF:FEF0:0 remote−as 123
: neighbor AB01:CD1:123:E:C603:3FF:FEF0:0 ebgp−multihop 5
!
address−family ipv6
: neighbor AB01:CD1:123:E:C603:3FF:FEF0:0 activate
: network BC01:BC1:10:A::/64
: network BC02:BC1:11:A::/64
: network BC03:BC1:12:A::/64
exit−address−family
 

ルートを確認するには、show bgp ipv6 unicast コマンドを使用します。

R2 上で以下を実行
R2> show bgp ipv6 unicast

ローカル プリファレンスを設定する前は、R2 は学習したすべての IPv6 アドレスのネクスト ホップとして R1 を持っていました。R3 でローカル プリファレンスを 500 に設定した後は、R2 はプリフィックス BC01:BC1:10:A::/64 に対して異なる優先出口ルートを持つようになります。R2 は、これでローカル プリファレンスとして指定された R3 の出口パスを通ってプリフィックス BC01:BC1:10:A::/64 に到達できるようになりました。

BGP ピア グループの更新ポリシー

BGP ピア グループとは、同じ更新ポリシーを共有する BGP 近隣のグループを指します。通常、更新ポリシーは、ルート マップ、配布リスト、およびフィルタ リストで設定します。

ピア グループを定義してグループに近隣を追加すると、そのピア グループに割り当てた更新ポリシーはグループ内のすべての近隣に適用されます。それぞれの近隣にポリシーを定義する必要がなくなります。

ピア グループのメンバーは、そのピア グループの設定をすべて継承します。更新ポリシーをオーバーライドするように特定のメンバーを設定することは可能ですが、受信トラフィックに設定されたポリシーに限られます。グループ ポリシーが送信トラフィックに適用される場合は、ポリシーをオーバーライドするようにメンバーを設定することはできません。

図 83. BGP ピア グループの更新ポリシーの設定

IPv6 BGP ピア グループとその更新ポリシーを設定するには、次の手順を実行します。

R3 上で以下を実行
router bgp 123
: no synchronization
: bgp router−id 3.3.3.3
neighbor interalmap peer-group
: neighbor interalmap remote-as 123
: neighbor 1111:111:111:A:C601:3FF:FEF0:0 peer-group interalmap
: neighbor 2222:222:222:A:C602:3FF:FEF0:0 peer-group interalmap
: neighbor AB01:CD1:123:E:C605:16FF:FE98:0 remote−as 202
: neighbor AB01:CD1:123:E:C605:16FF:FE98:0 ebgp−multihop 5
!
address−family ipv6
: neighbor interalmap activate
: neighbor interalmap route-map 1 out
: neighbor 1111:111:111:A:C601:3FF:FEF0:0 peer-group interalmap
: neighbor 2222:222:222:A:C602:3FF:FEF0:0 peer-group interalmap
exit−address−family
!
ipv6 prefix−list 10 seq 5 permit BC01:BC1:10:A::/64
!
route-map 1 permit 10
: match ipv6 address prefix-list 1 set tag 333
: set metric 273
: set local-preference 312

正しいローカル プリファレンス ルートが設定されたことを確認するには、show bgp ipv6 unicast コマンドを使用します。

R3 上で以下を実行
R3> show bgp ipv6 unicast

IPv6 アドレス BC01:BC1:10:A::/64 が AS100 から R1 と R2 に送信されたこと、およびメトリックとローカル プリファレンスが対応するルート マップ設定に設定されたことを確認します。

BGP 連合

AS を複数の AS に分割し、これらの AS を単一の連合に割り当てることができます。BGP 連合を実装すると、AS の iBGP メッシュ サイズが小さくなると共に、連合は引き続き単一の AS として外部のピアに通知できます。

連合内のそれぞれの AS はフル メッシュの iBGP を実行すると同時に、連合内の他の AS との間で eBGP 接続を実行します。連合内の eBGP ピア同士は、iBGP を使用しているかのようにルーティング情報を交換します。このとき、連合はネクスト ホップ、メトリック、ローカル プリファレンスなどの情報を維持します。連合は、外部からは単一の AS として見えます。

図 84. BGP 連合の設定

BGP 連合を設定するには、次の手順を実行します。

R1 上で以下を実行

router bgp 2000
: bgp log-neighbor-changes
: bgp confederation identifier 200
: bgp confederation peers 1000
: neighbor 2003::1 remote-as 1000
!
address-family ipv4
: neighbor 2003::1 activate
exit-address-family
!
address-family ipv6
: network 3002::/64
: network 4000::/64
: neighbor 2003::1 activate
exit-address-family
R2 上で以下を実行
router bgp 1000
: bgp confederation identifier 200
: neighbor 10.0.1.1 remote-as 1000
!
address-family ipv6
: neighbor 10.0.1.1 activate
exit-address-family
 
R3 上で以下を実行
router bgp 1000
: bgp confederation identifier 200
: bgp confederation peers 2000
: neighbor 10.0.1.2 remote-as 1000
: neighbor 3001::1 remote-as 2000
: neighbor 5000::1 remote-as 100
: neighbor 5000::1 update-source X2
!
address-family ipv6
: neighbor 10.0.1.2 activate
: neighbor 3001::1 activate
: neighbor 5000::1 activate
exit-address-family
 
R5 上で以下を実行
router bgp 100
: bgp router-id 5.5.5.5
: bgp log-neighbor-changes
: neighbor 2002::1 remote-as 200
!
address-family ipv6
: network 6666::6/128
: network 7777::7/128
: neighbor 2002::1 activate
exit-address-family
 

R5 が通知した以下のルートをR1、R2、R3 が学習できることを確認します。

: 6666::6/128 および 7777::7/128

R2 と R1 が直接接続されていないにもかかわらず、R2 が R1 から以下のルートを学習できることを確認します。

: 3002::/64 および 4000::/64