目次
ネットワーク構成
設定条件
- AS65123とAS65004でBGPによってルートを交換して、2001:123:123:2::/64と2001:4:4:4::/64間で通信できるようにします。R2で2001:123:123:2::/64をBGPルートとして生成し、R4で2001:4:4:4::/64をBGPルートとして生成します。
- BGPネイバーではIPv4プレフィクスを扱わないものとします。
- 各ルータのBGPルータIDは「x.x.x.x」(x=ルータ番号)とします。
- AS65123のIBGPネイバーはフルメッシュで確立します。IBGPネイバーの確立はLoopback0のIPv6アドレスを用います。
初期設定
R1~R4の初期設定の抜粋は以下のとおりです。
R1
ipv6 unicast-routing ! interface Loopback0 ipv6 address 2001:123:1:1::1/64 ipv6 address FE80::1 link-local ipv6 ospf 1 area 0 ! interface Ethernet0/0 ipv6 address 2001:123:123:12::1/64 ipv6 address FE80::1 link-local ipv6 ospf 1 area 0 ! interface Ethernet0/1 ipv6 address 2001:123:123:13::1/64 ipv6 address FE80::1 link-local ipv6 ospf 1 area 0 ! interface Ethernet0/2 ipv6 address 2001:14:14:14::1/64 ipv6 address FE80::1 link-local ! ipv6 router ospf 1 router-id 1.1.1.1 log-adjacency-changes
R2
ipv6 unicast-routing ! interface Loopback0 ipv6 address 2001:123:2:2::2/64 ipv6 address FE80::2 link-local ipv6 ospf 1 area 0 ! interface Loopback1 ipv6 address 2001:123:123:2::2/64 ipv6 address FE80::2 link-local ! interface Ethernet0/0 ipv6 address 2001:123:123:12::2/64 ipv6 address FE80::2 link-local ipv6 ospf 1 area 0 ! interface Ethernet0/1 ipv6 address 2001:123:123:23::2/64 ipv6 address FE80::2 link-local ipv6 ospf 1 area 0 ! ipv6 router ospf 1 router-id 2.2.2.2 log-adjacency-changes
R3
ipv6 unicast-routing ! interface Loopback0 ipv6 address 2001:123:3:3::3/64 ipv6 address FE80::3 link-local ipv6 ospf 1 area 0 ! interface Ethernet0/0 ipv6 address 2001:123:123:23::3/64 ipv6 address FE80::3 link-local ipv6 ospf 1 area 0 ! interface Ethernet0/1 ipv6 address 2001:123:123:13::3/64 ipv6 address FE80::3 link-local ipv6 ospf 1 area 0 ! interface Ethernet0/2 ipv6 address 2001:34:34:34::3/64 ipv6 address FE80::3 link-local ! ipv6 router ospf 1 router-id 3.3.3.3 log-adjacency-changes
R4
ipv6 unicast-routing ! interface Loopback0 ipv6 address 2001:4:4:4::4/64 ipv6 address FE80::4 link-local ! interface Ethernet0/0 ipv6 address 2001:14:14:14::4/64 ipv6 address FE80::4 link-local ! interface Ethernet0/1 ipv6 address 2001:34:34:34::4/64 ipv6 address FE80::4 link-local
設定と確認
【Step1:BGPプロセスの有効化】
R1~R4でAS番号を指定してBGPプロセスを有効化します。BGPプロセスが動作するためにはBGPルータIDが必要です。デフォルトでは、BGPルータIDはOSPFと同様にルータのIPv4アドレスをもとに決められます。R1~R4はIPv4アドレスを持たないため、BGPルータIDを決められなくなってしまいます。そこで、BGPプロセスを動作させるために、R1~R4でBGPルータIDをスタティックに設定します。次の表に、各ルータのAS番号とルータIDをまとめています。
ルータ | AS番号 | ルータID |
R1 | 65123 | 1.1.1.1 |
R2 | 65123 | 2.2.2.2 |
R3 | 65123 | 3.3.3.3 |
R4 | 65004 | 4.4.4.4 |
R1
router bgp 65123 bgp router-id 1.1.1.1 no bgp default ipv4-unicast
R2
router bgp 65123 bgp router-id 2.2.2.2 no bgp default ipv4-unicas
R3
router bgp 65123 bgp router-id 3.3.3.3 no bgp default ipv4-unicast
R4
router bgp 65004 bgp router-id 4.4.4.4 no bgp default ipv4-unicast
【Step2:AS65123のIBGPネイバーの設定】
AS65123のR1~R3でIBGPネイバーを設定します。IBGPネイバーはLoopback0のIPv6アドレス 2001:123:123:X:X::X (X=ルータ番号)を利用してフルメッシュで確立します。router bgp直下でネイバーを指定し、IPv6プレフィクスを扱えるようにaddress-family ipv6の中でネイバーをactivateします。
R1
router bgp 65123 neighbor 2001:123:2:2::2 remote-as 65123 neighbor 2001:123:2:2::2 update-source Loopback0 neighbor 2001:123:3:3::3 remote-as 65123 neighbor 2001:123:3:3::3 update-source Loopback0 ! address-family ipv6 neighbor 2001:123:2:2::2 activate neighbor 2001:123:3:3::3 activate
R2
router bgp 65123 neighbor 2001:123:1:1::1 remote-as 65123 neighbor 2001:123:1:1::1 update-source Loopback0 neighbor 2001:123:3:3::3 remote-as 65123 neighbor 2001:123:3:3::3 update-source Loopback0 ! address-family ipv6 neighbor 2001:123:1:1::1 activate neighbor 2001:123:3:3::3 activate
R3
router bgp 65123 neighbor 2001:123:1:1::1 remote-as 65123 neighbor 2001:123:1:1::1 update-source Loopback0 neighbor 2001:123:2:2::2 remote-as 65123 neighbor 2001:123:2:2::2 update-source Loopback0 ! address-family ipv6 neighbor 2001:123:1:1::1 activate neighbor 2001:123:2:2::2 activate
【Step3:AS65123のIBGPネイバーの確認】
R1~R3間のIBGPネイバーを確認します。そのために、以下のコマンドを実行します。
- show bgp ipv6 unicast summary
- show bgp ipv6 unicast neighbor
R1でのshowコマンドの出力は次のようになります。
R1
R1#show bgp ipv6 unicast summary BGP router identifier 1.1.1.1, local AS number 65123 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 2001:123:2:2::2 4 65123 13 13 1 0 0 00:09:34 0 2001:123:3:3::3 4 65123 12 12 1 0 0 00:08:42 0 R1#show bgp ipv6 unicast neighbors BGP neighbor is 2001:123:2:2::2, remote AS 65123, internal link BGP version 4, remote router ID 2.2.2.2 BGP state = Established, up for 00:00:10 Last read 00:00:10, last write 00:00:10, hold time is 180, keepalive interval is 60 seconds Neighbor capabilities: Route refresh: advertised and received(old & new) Address family IPv6 Unicast: advertised and received ~省略~ BGP neighbor is 2001:123:3:3::3, remote AS 65123, internal link BGP version 4, remote router ID 3.3.3.3 BGP state = Established, up for 00:00:06 Last read 00:00:06, last write 00:00:06, hold time is 180, keepalive interval is 60 seconds Neighbor capabilities: Route refresh: advertised and received(old & new) Address family IPv6 Unicast: advertised and received ~省略~
次の図は、AS65123のIBGPネイバーをまとめたものです。
【Step4:BGPプレフィクスの生成(AS65123)】
AS65123のR2でIPv6 BGPプレフィクス 2001:123:123:2::/64を生成します。R2でaddress-family ipv6の中でnetworkコマンドを利用します。
R2
router bgp 65123 address-family ipv6 network 2001:123:123:2::/64
networkコマンドで生成したIPv6 BGPプレフィクスはIBGPネイバーへとアドバタイズされます。
【Step5:AS65123内でのBGPプレフィクスアドバタイズの確認】
Step4で生成したIPv6 BGPプレフィクスがAS65123内で正常にアドバタイズされていることを確認します。そのために、以下のコマンドを利用します。
- show bgp ipv6 unicast
- show bgp ipv6 unicast neighbor {advertised-routes|routes}
R2ではshowコマンドの出力は次のようになります。
R2
R2#show bgp ipv6 unicast BGP table version is 2, local router ID is 2.2.2.2 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 *> 2001:123:123:2::/64 :: 0 32768 i R2#show bgp ipv6 unicast neighbors 2001:123:1:1::1 advertised-routes BGP table version is 2, local router ID is 2.2.2.2 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 *> 2001:123:123:2::/64 :: 0 32768 i Total number of prefixes 1 R2#show bgp ipv6 unicast neighbors 2001:123:3:3::3 advertised-routes BGP table version is 2, local router ID is 2.2.2.2 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 *> 2001:123:123:2::/64 :: 0 32768 i Total number of prefixes 1
次の図はAS65123内でのIPv6 BGPプレフィクスのアドバタイズの様子を表しています。
【Step6:EBGPネイバーの設定】
AS65123とAS65004間でEBGPネイバーを設定します。ネイバーを確立するIPv6アドレスは物理インタフェースのものを利用します。
R1
router bgp 65123 neighbor 2001:14:14:14::4 remote-as 65004 ! address-family ipv6 neighbor 2001:14:14:14::4 activate
R3
router bgp 65123 neighbor 2001:34:34:34::4 remote-as 65004 ! address-family ipv6 neighbor 2001:34:34:34::4 activate
R4
router bgp 65004 neighbor 2001:14:14:14::1 remote-as 65123 neighbor 2001:34:34:34::3 remote-as 65123 ! address-family ipv6 neighbor 2001:14:14:14::1 activate neighbor 2001:34:34:34::3 activate
【Step7:EBGPネイバーの確認】
EBGPネイバーが正しく確立できていることを確認します。R4でshow bgp ipv6 summaryコマンドを見ると、次のようになります。
R4
R4#show bgp ipv6 unicast summary BGP router identifier 4.4.4.4, local AS number 65004 BGP table version is 2, main routing table version 2 1 network entries using 149 bytes of memory 2 path entries using 152 bytes of memory 2/1 BGP path/bestpath attribute entries using 248 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 573 total bytes of memory BGP activity 1/0 prefixes, 2/0 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 2001:14:14:14::1 4 65123 9 9 2 0 0 00:04:03 1 2001:34:34:34::3 4 65123 9 9 2 0 0 00:04:00 1
EBGPネイバーが正常に確立できていれば、R4でAS65123内の2001:123:123:2::/64のプレフィクスを確認できます。R4でIPv6 BGPテーブルを見ると、次のようになります。
R4
R4#show bgp ipv6 unicast BGP table version is 2, local router ID is 4.4.4.4 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 * 2001:123:123:2::/64 2001:34:34:34::3 0 65123 i *> 2001:14:14:14::1 0 65123 i
【Step8:BGPプレフィクスの生成(AS65004)】
AS65004のR4でIPv6 BGPプレフィクス 2001:4:4:4::/64を生成します。R4でaddress-family ipv6の中でnetworkコマンドを利用します。
R4
router bgp 65004 address-family ipv6 network 2001:4:4:4::/64
networkコマンドで生成したIPv6 BGPプレフィクスはAS65123へとアドバタイズされます。R1、R3でIPv6 BGPテーブルを確認すると、次のようになります。
R1
R1#show bgp ipv6 unicast BGP table version is 3, 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 * i2001:4:4:4::/64 2001:34:34:34::4 0 100 0 65004 i *> 2001:14:14:14::4 0 0 65004 i *>i2001:123:123:2::/64 2001:123:2:2::2 0 100 0 i
R3
R3#show bgp ipv6 unicast BGP table version is 3, local router ID is 3.3.3.3 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 * i2001:4:4:4::/64 2001:14:14:14::4 0 100 0 65004 i *> 2001:34:34:34::4 0 0 65004 i *>i2001:123:123:2::/64 2001:123:2:2::2 0 100 0 i
しかし、R2でIPv6 BGPテーブルを確認すると、プレフィクス2001:4:4:4::/64を受信しているもののベストパスとなっていません。
R2
R2#show bgp ipv6 unicast BGP table version is 2, local router ID is 2.2.2.2 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 * i2001:4:4:4::/64 2001:14:14:14::4 0 100 0 65004 i * i 2001:34:34:34::4 0 100 0 65004 i *> 2001:123:123:2::/64 :: 0 32768 i R2#show bgp ipv6 unicast 2001:4:4:4::/64 BGP routing table entry for 2001:4:4:4::/64, version 0 Paths: (2 available, no best path) Not advertised to any peer 65004 2001:14:14:14::4 (inaccessible) from 2001:123:1:1::1 (1.1.1.1) Origin IGP, metric 0, localpref 100, valid, internal 65004 2001:34:34:34::4 (inaccessible) from 2001:123:3:3::3 (3.3.3.3) Origin IGP, metric 0, localpref 100, valid, internal
次の図は、AS65004の2001:4:4:4::/64がアドバタイズされる様子を表しています。
【Step9:next-hop-selfの設定】
R2で2001:4:4:4::/64が無効なプレフィクスになってしまっている理由は、ネクストホップへの接続性がないためです。R2は2001:14:14:14::4および2001:34:34:34::4への接続性がないので、これらのIPv6アドレスがネクストホップとなっているIPv6プレフィクスを利用することができません。
R2での2001:4:4:4::/64のネクストホップへの接続性を確保するために、R1とR3でnext-hop-selfの設定を行います。IPv6プレフィクスに対するnext-hop-selfの設定は、address-family ipv6の中でコマンドを入力します。
R1
router bgp 65123 address-family ipv6 neighbor 2001:123:2:2::2 next-hop-self neighbor 2001:123:3:3::3 next-hop-self
R3
router bgp 65123 address-family ipv6 neighbor 2001:123:2:2::2 next-hop-self neighbor 2001:123:1:1::1 next-hop-self
【Step10:next-hop-selfの確認】
R2でnext-hop-selfによって2001:4:4:4::/64のネクストホップへの接続性を確保できていることを確認します。
R2
R2#show bgp ipv6 unicast 2001:4:4:4::/64 BGP routing table entry for 2001:4:4:4::/64, version 3 Paths: (2 available, best #1, table Global-IPv6-Table) Not advertised to any peer 65004 2001:123:1:1::1 (metric 10) from 2001:123:1:1::1 (1.1.1.1) Origin IGP, metric 0, localpref 100, valid, internal, best 65004 2001:123:3:3::3 (metric 10) from 2001:123:3:3::3 (3.3.3.3) Origin IGP, metric 0, localpref 100, valid, internal
R1、R3のnext-hop-selfによって、2001:4:4:4::/64のネクストホップアドレスがR2から接続性のある2001:123:1:1:1::/64、2001:123:3:3::/64に変更されています。そして、ベストパスがR1経由のプレフィクスとなっていることがわかります。なお、この場合のベストパスの選択はルータIDに基いて行われています。
次の図は、next-hop-selfの設定を行った場合2001:4:4:4::/64のアドバタイズの様子を表しています。
【Step11:通信確認】
AS65123の2001:123:123:2::/64とAS65004の2001:4:4:4::/64間の通信が正しく行えることを確認します。
R2
R2#ping 2001:4:4:4::4 source 2001:123:123:2::2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:4:4:4::4, timeout is 2 seconds: Packet sent with a source address of 2001:123:123:2::2 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 48/67/108 ms
BGPの仕組み
- BGPの概要 ~AS間でルート情報を交換~
- BGPの動作
- BGPの基本設定と確認コマンド
- BGPピアグループ(Peer Group) ~ネイバーの設定をまとめよう~
- BGPネイバーの状態
- BGPコンフェデレーションの設定
- BGPコンフェデレーションの設定例
- BGPネイバー認証
- BGP Well Known Mandatory アトリビュート -ORIGIN/AS_PATH/NEXT_HOP-
- 図解!BGPベストパス選択アルゴリズム
- BGP 基本的な設定についての演習[Cisco]
- BGPの基本的な設定についての演習 ~トラブルシュート~
- BGP KEEPALIVEタイマ/ホールドタイムの設定
- BGPルート 最小送信間隔の設定
- BGPルートダンプニング
- マルチホーム – インターネット接続の冗長化 –
- マルチホームAS BGPルートフィルタのポイント
- マルチホームAS ベストパス選択のポイント
- マルチホームAS IGPとBGPの連携のポイント
- マルチホームAS BGPの設定例
- IP-VPNでのBGPの利用 設定例
- BGPルートフィルタの種類
- BGPルートフィルタ -ディストリビュートリスト-
- BGPルートフィルタ -ディストリビュートリスト設定例-
- BGPルートフィルタ -プレフィクスリスト-
- BGPルートフィルタ -プレフィクスリスト設定例-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)設定例-
- BGPルートフィルタ -ルートマップ(route-map)-
- BGPルートフィルタ -ルートマップ(route-map)設定例-
- BGP neighbor allowas-inコマンド
- BGP neighbor as-overrideコマンド
- BGPルート RIB Failure
- BGPルート アドミニストレイティブディスタンスの制御
- BGPルートの負荷分散
- BGPルート 条件付き生成
- BGPルート 条件付きアドバタイズ
- BGP ルート集約 自動集約
- BGPルート集約 networkコマンドによる集約
- BGPルート集約 networkコマンドによる集約 設定例
- BGP ルート集約 aggregate-addressコマンドによる集約
- aggregate-addressコマンドのオプション summary-only
- aggregate-addressコマンドのオプション attribute-map
- aggregate-addressコマンドのオプション as-set
- aggregate-addressコマンドのオプション advertise-map
- aggregate-addressコマンド as-set/attribute-map/advertise-map 設定例
- BGP選択型集約の概要
- BGP選択型集約 suppress-map
- BGP選択型集約 unsuppress-map
- BGP 選択型集約 suppress-map/unsuppress-map 設定例
- BGP local-as ~ネイバーに他のASのように見せる~
- BGP neighbor remove-private-ASコマンド
- bgp fast external-fallover
- BGP プレフィクス数の制限
- BGP COMMUNITYアトリビュートの使い方
- BGP Well-known COMMUNITYのルートフィルタ設定例
- BGP プライベートCOMMUNITYによるルート制御の設定例
- [演習]BGP応用 Part1:BGP基本設定
- [演習]BGP応用 Part2:ルート集約
- [演習]BGP応用 Part3:ポリシーベースルーティング
- [演習]BGP応用 Part4:トラブルシューティング
- BGP 設定ミスの切り分けと修正 Part1
- BGP 設定ミスの切り分けと修正 Part2
- BGP 設定ミスの切り分けと修正 Part3
- BGP 設定ミスの切り分けと修正 Part4
- BGP 設定ミスの切り分けと修正 Part5
- BGP 設定ミスの切り分けと修正 Part6
- BGP 設定ミスの切り分けと修正 Part7
- IPv6 BGPの設定例 Part1
- IPv6 BGPの設定例 Part2
- 2021年10月4日 Facebookに何が起こったか?
- IPv4 BGPネイバーでのIPv6プレフィックスの交換