IPv6基礎学習 第四回 演習編「Cisco CSR1000vでIPv6 BGPネットワークの構築」

IPv6BGP,IPv6

はじめに

第一回の座学編第二回の座学編でIPv6の動向から基礎的な仕様を座学として説明し、前回、第三回 演習編でWindows10とCiscoCSR1000vを使った簡易IPv6ネットワークを構築しました。

今回は第四回となる演習編でIPv6のBGPネットワークを構築します。

第一回座学編IPv6の利用状況やIPv4の違いについて説明
第二回座学編IPv6アドレス表記と自動割り当てについて説明
第三回演習編Windows10+Cisco CSR1000vで簡易なIPv6ネットワークの構築
第四回演習編Cisco CSR1000vでIPv6 BGPネットワークの構築
第五回 演習編Cisco CSR1000vでIPv6 BGPネットワークの疎通確認と障害試験

実施概要と環境について

実施概要

CSR1000vを4台使い冗長構成のBGP環境を作ります。LANはHSRPで冗長します。

BGPルータ間はiBGP、対向とはeBGPで構成します。今回はLAN側をHSRPで構成しているだけなので、BGPでのパス属性を使ったルート制御等は行いません。(正常時はHSRPで主系リンク(Gi2.10リンク)を通る)

環境

機器OS Version
Windows10-1/221H1(19043.1266)
CSR1000v-01/02/03/0417.3.4a

BGPルータ(CSR1000v)のコンフィグ

LAN側の設定もあるのでコンフィグは下記3つのPartに分けて解説します。

 Part1 IPv6のベースコンフィグ
 Part2 IPv6のHSRP設定
 Part3 IPv6 BGP設定

Part1 IPv6のベースコンフィグ

まずは、前回の記事でCSR1000vのIPv6の有効化と、インタフェースの設定について説明しましたが、それと同様に構成図の通りの設定をします。明示的なリンクローカルアドレス(構成図の緑字)も必要ですがその設定は次のPartで設定します。

ipv6 unicast-routing

interface GigabitEthernet2.10
 encapsulation dot1Q 10
 ipv6 address 2001:1:1:99::1/64

interface GigabitEthernet3
 no ip address
 negotiation auto
 ipv6 address 2001:1:1:1::1/64
 ipv6 nd ra dns server 2001:4860:4860::8888

interface GigabitEthernet4.14
 encapsulation dot1Q 14
 ipv6 address 2001:1:1:97::1/64

ipv6 unicast-routing

interface GigabitEthernet2.11
 encapsulation dot1Q 11
 ipv6 address 2001:1:1:98::1/64

interface GigabitEthernet3
 no ip address
 negotiation auto
 ipv6 address 2001:1:1:1::2/64
 ipv6 nd ra dns server 2001:4860:4860::8888

interface GigabitEthernet4.14
 encapsulation dot1Q 14
 ipv6 address 2001:1:1:97::2/64

ipv6 unicast-routing

interface GigabitEthernet2.10
 encapsulation dot1Q 10
 ipv6 address 2001:1:1:99::2/64

interface GigabitEthernet3
 no ip address
 negotiation auto
 ipv6 address 2001:2:2:2::1/64
 ipv6 nd ra dns server 2001:4860:4860::8888

interface GigabitEthernet4.15
 encapsulation dot1Q 15
 ipv6 address 2001:1:1:96::1/64

ipv6 unicast-routing

interface GigabitEthernet2.11
 encapsulation dot1Q 11
 ipv6 address 2001:1:1:98::2/64

interface GigabitEthernet3
 no ip address
 negotiation auto
 ipv6 address 2001:2:2:2::2/64
 ipv6 nd ra dns server 2001:4860:4860::8888

interface GigabitEthernet4.15
 encapsulation dot1Q 15
 ipv6 address 2001:1:1:96::2/64

Part2 IPv6のHSRP設定

Part2ではクライアントであるWindows10のデフォルトゲートウェイ冗長化のため、HSRP設定を行いします。

まずは、IPv6なのでHSRP Version2にします。仮想IPアドレス、プライオリティ、プリエンプト等の設定を行います。

仮想IPアドレスですが、一般的にクライアントがIPv6のデフォルトゲートウェイとするのはリンクローカルアドレスになります。その為、ここでは6行目に明示的なリンクローカルアドレスを設定し、3行目の仮想IPアドレスを定義する必要があります。
※後のWindows10のステータス確認で説明しますが、Windows10は自動でここの仮想IPアドレスをデフォルトゲートウェイとします。

interface GigabitEthernet3
 standby version 2
 standby 1 ipv6 FE80:1::FFFF
 standby 1 priority 115
 standby 1 preempt
 ipv6 address FE80:1::1 link-local

interface GigabitEthernet3
 standby version 2
 standby 1 ipv6 FE80:1::FFFF
 standby 1 priority 110
 standby 1 preempt
 ipv6 address FE80:1::2 link-local

interface GigabitEthernet3
 standby version 2
 standby 1 ipv6 FE80:2::FFFF
 standby 1 priority 115
 standby 1 preempt
 ipv6 address FE80:2::1 link-local

interface GigabitEthernet3
 standby version 2
 standby 1 ipv6 FE80:2::FFFF
 standby 1 priority 110
 standby 1 preempt
 ipv6 address FE80:2::2 link-local

Part3 IPv6 BGP設定

Part3はBGPの設定となります。

LoopbackインタフェースのIPアドレスはBGPのルータID用に必要です。

BGPの設定自体はほぼIPv4と同じになります。今回はIPv4は使いませんので「no bgp default ipv4-unicast」を設定しIPv4 BGPの機能を無効にします。各ネイバーの設定等はIPv4とほぼ同じ内容ですので各コマンドの説明は割愛します。

interface Loopback0
 ip address 1.1.1.1 255.255.255.255

router bgp 111
 bgp router-id 1.1.1.1
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 timers bgp 7 21
 neighbor 2001:1:1:97::2 remote-as 111
 neighbor 2001:1:1:99::2 remote-as 222
 address-family ipv6
  network 2001:1:1:1::/64
  neighbor 2001:1:1:97::2 activate
  neighbor 2001:1:1:97::2 next-hop-self
  neighbor 2001:1:1:99::2 activate
 exit-address-family

interface Loopback0
 ip address 3.3.3.3 255.255.255.255

router bgp 111
 bgp router-id 3.3.3.3
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 timers bgp 7 21
 neighbor 2001:1:1:97::1 remote-as 111
 neighbor 2001:1:1:98::2 remote-as 222
 address-family ipv6
  network 2001:1:1:1::/64
  neighbor 2001:1:1:97::1 activate
  neighbor 2001:1:1:97::1 next-hop-self
  neighbor 2001:1:1:98::2 activate
 exit-address-family

interface Loopback0
 ip address 2.2.2.2 255.255.255.255

router bgp 222
 bgp router-id 2.2.2.2
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 timers bgp 7 21
 neighbor 2001:1:1:96::2 remote-as 222
 neighbor 2001:1:1:99::1 remote-as 111
 address-family ipv6
  network 2001:2:2:2::/64
  neighbor 2001:1:1:96::2 activate
  neighbor 2001:1:1:96::2 next-hop-self
  neighbor 2001:1:1:99::1 activate
 exit-address-family

interface Loopback0
 ip address 4.4.4.4 255.255.255.255

router bgp 222
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 timers bgp 7 21
 neighbor 2001:1:1:96::1 remote-as 222
 neighbor 2001:1:1:98::1 remote-as 111
 address-family ipv6
  network 2001:2:2:2::/64
  neighbor 2001:1:1:96::1 activate
  neighbor 2001:1:1:96::1 next-hop-self
  neighbor 2001:1:1:98::1 activate
 exit-address-family

設定は以上で終わりです。

ステータス確認

設定が一通り完了したので、まずはHSRPのステータス確認をします。その後、クライアント側となるWindows10のIPv6やデフォルトゲートウェイの確認。最後にBGPの確認をします。

HSRPのステータス確認

まずはHSRPから。プライオリティが高いルータがActiveになっており、仮想IPアドレスも設定した「FE80:1::FFFF」と 「FE80:2::FFFF」 であることを確認します。

CSR1000v-01#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi3         1    115 P Active  local           FE80:1::2       FE80:1::FFFF
CSR1000v-01#

CSR1000v-03#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi3         1    110 P Standby FE80:1::1       local           FE80:1::FFFF
CSR1000v-03#

CSR1000v-02#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi3         1    115 P Active  local           FE80:2::2       FE80:2::FFFF
CSR1000v-02#

CSR1000v-04#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi3         1    110 P Standby FE80:2::1       local           FE80:2::FFFF
CSR1000v-04#

Windows10-01/02のステータス確認

次にWindows10のIPv6アドレスを確認します。(Windows10ではIPv6アドレスの取得は自動設定にしています。)

まずはIPv6アドレスの項目でCSR1000vで設定したプレフィックスと同じになっていることを確認します。
 Windows10-01は「2001:1:1:1:4990:197f:9f1f:ce93」
 Windows10-02は「2001:2:2:2:68d8:3784:8cc0:4eac」
 ※赤字のプレフィックスがCSR1000vのGi3で設定したプレフィックスと同じであること。

デフォルトゲートウェイの設定値がCSR1000vのHSRPで設定した仮想IPアドレスになっていることを確認します。
 Windows10-01は「fe80:1::ffff」
 Windows10-02は「fe80:2::ffff」

C:\Users\kantaro>ipconfig

Windows IP 構成
<省略>
イーサネット アダプター Ethernet1:

   接続固有の DNS サフィックス . . . . .:
   IPv6 アドレス . . . . . . . . . . . .: 2001:1:1:1:4990:197f:9f1f:ce93
   リンクローカル IPv6 アドレス. . . . .: fe80::4990:197f:9f1f:ce93%13
   デフォルト ゲートウェイ . . . . . . .: fe80:1::ffff%13

C:\Users\kantaro>

C:\Users\kantaro.LAB-INFRA>ipconfig

Windows IP 構成
<省略>
イーサネット アダプター Ethernet1:

   接続固有の DNS サフィックス . . . . .:
   IPv6 アドレス . . . . . . . . . . . .: 2001:2:2:2:68d8:3784:8cc0:4eac
   リンクローカル IPv6 アドレス. . . . .: fe80::68d8:3784:8cc0:4eac%15
   デフォルト ゲートウェイ . . . . . . .: fe80:2::ffff%15

C:\Users\kantaro.LAB-INFRA>

BGPのステータス確認

最後にBGPのステータスを確認します。今回は下記のコマンドでBGPのステータスとルーティングテーブルを確認します。※出力イメージはいずれもIPv4とほぼ同じです。

 show bgp ipv6 unicast summary
 show bgp ipv6 unicast
 show ipv6 route

「show bgp ipv6 unicast summary」では対向のCSR1000v、及び渡りの先の片側のCSR1000vとネイバーが張れており、State/PfxRcdからプレフィックスを受け取っていることを確認します。(2であればそのネイバーから2つのプレフィックスを受信しているということ。つまり1以上であることを確認します)

「show bgp ipv6 unicast」は2つのネットワークプレフィックスが存在することが確認できます。1つ目は「自コネクトのプレフィックス」もう1つは「対向拠点のLAN側のプレフィックス」です。
なお、対向拠点のプレフィックスで渡りのネイバーから受信しているもの(対向Networkのプレフィックスで先頭に「* i」と付いてるもの)についてはNextHopが渡りの先に存在するCSR1000vのIPアドレスになっていることからBGPの設定で行った「next-hop-self」が効いていることも分かります。

「show ipv6 route」でも対向拠点のLAN側向けルーティングをBGPで学習していることが確認できます。(先頭が「B」になっているルート)

CSR1000v-01#show bgp ipv6 unicast summary
<省略>
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
2001:1:1:97::2  4          111    1706    1712       10    0    0 03:12:19        2
2001:1:1:99::2  4          222    1480    1488       10    0    0 02:47:08        1

CSR1000v-01#

CSR1000v-01#show bgp ipv6 unicast
<省略>
     Network          Next Hop            Metric LocPrf Weight Path
 * i  2001:1:1:1::/64  2001:1:1:97::2           0    100      0 i
 *>                    ::                       0         32768 i
 *>   2001:2:2:2::/64  2001:1:1:99::2           0             0 222 i
 * i                   2001:1:1:97::2           0    100      0 222 i
CSR1000v-01#

CSR1000v-01#show ipv6 route
<省略>
C   2001:1:1:1::/64 [0/0]
     via GigabitEthernet3, directly connected
L   2001:1:1:1::1/128 [0/0]
     via GigabitEthernet3, receive
C   2001:1:1:97::/64 [0/0]
     via GigabitEthernet4.14, directly connected
L   2001:1:1:97::1/128 [0/0]
     via GigabitEthernet4.14, receive
C   2001:1:1:99::/64 [0/0]
     via GigabitEthernet2.10, directly connected
L   2001:1:1:99::1/128 [0/0]
     via GigabitEthernet2.10, receive
B   2001:2:2:2::/64 [20/0], tag 222
     via FE80::20C:29FF:FE8D:8315, GigabitEthernet2.10
L   FF00::/8 [0/0]
     via Null0, receive
CSR1000v-01#

CSR1000v-03#show bgp ipv6 unicast summary
<省略>
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
2001:1:1:97::1  4          111    1712    1706        4    0    0 03:12:19        2
2001:1:1:98::2  4          222    1713    1707        4    0    0 03:12:19        1

CSR1000v-03#

CSR1000v-03#show bgp ipv6 unicast
<省略>
     Network          Next Hop            Metric LocPrf Weight Path
 *>   2001:1:1:1::/64  ::                       0         32768 i
 * i                   2001:1:1:97::1           0    100      0 i
 * i  2001:2:2:2::/64  2001:1:1:97::1           0    100      0 222 i
 *>                    2001:1:1:98::2           0             0 222 i
CSR1000v-03#

CSR1000v-03#show ipv6 route
<省略>
C   2001:1:1:1::/64 [0/0]
     via GigabitEthernet3, directly connected
L   2001:1:1:1::2/128 [0/0]
     via GigabitEthernet3, receive
C   2001:1:1:97::/64 [0/0]
     via GigabitEthernet4.14, directly connected
L   2001:1:1:97::2/128 [0/0]
     via GigabitEthernet4.14, receive
C   2001:1:1:98::/64 [0/0]
     via GigabitEthernet2.11, directly connected
L   2001:1:1:98::1/128 [0/0]
     via GigabitEthernet2.11, receive
B   2001:2:2:2::/64 [20/0], tag 222
     via FE80::20C:29FF:FE01:1B22, GigabitEthernet2.11
L   FF00::/8 [0/0]
     via Null0, receive
CSR1000v-03#

CSR1000v-02#show bgp ipv6 unicast summary
<省略>
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
2001:1:1:96::2  4          222    1488    1486       23    0    0 02:47:09        2
2001:1:1:99::1  4          111    1488    1480       23    0    0 02:47:08        1

CSR1000v-02#

CSR1000v-02#show bgp ipv6 unicast
<省略>
     Network          Next Hop            Metric LocPrf Weight Path
 *>   2001:1:1:1::/64  2001:1:1:99::1           0             0 111 i
 * i                   2001:1:1:96::2           0    100      0 111 i
 * i  2001:2:2:2::/64  2001:1:1:96::2           0    100      0 i
 *>                    ::                       0         32768 i
CSR1000v-02#

CSR1000v-02#show ipv6 route
<省略>
B   2001:1:1:1::/64 [20/0], tag 111
     via FE80::20C:29FF:FEB6:66E7, GigabitEthernet2.10
C   2001:1:1:96::/64 [0/0]
     via GigabitEthernet4.15, directly connected
L   2001:1:1:96::1/128 [0/0]
     via GigabitEthernet4.15, receive
C   2001:1:1:99::/64 [0/0]
     via GigabitEthernet2.10, directly connected
L   2001:1:1:99::2/128 [0/0]
     via GigabitEthernet2.10, receive
C   2001:2:2:2::/64 [0/0]
     via GigabitEthernet3, directly connected
L   2001:2:2:2::1/128 [0/0]
     via GigabitEthernet3, receive
L   FF00::/8 [0/0]
     via Null0, receive
CSR1000v-02#

CSR1000v-04#show bgp ipv6 unicast summary
<省略>
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
2001:1:1:96::1  4          222    1486    1488        3    0    0 02:47:09        2
2001:1:1:98::1  4          111    1707    1713        3    0    0 03:12:19        1

CSR1000v-04#

CSR1000v-04#show bgp ipv6 unicast
<省略>
     Network          Next Hop            Metric LocPrf Weight Path
 * i  2001:1:1:1::/64  2001:1:1:96::1           0    100      0 111 i
 *>                    2001:1:1:98::1           0             0 111 i
 * i  2001:2:2:2::/64  2001:1:1:96::1           0    100      0 i
 *>                    ::                       0         32768 i
CSR1000v-04#

CSR1000v-04#show ipv6 route
<省略>
B   2001:1:1:1::/64 [20/0], tag 111
     via FE80::20C:29FF:FEBA:C4B4, GigabitEthernet2.11
C   2001:1:1:96::/64 [0/0]
     via GigabitEthernet4.15, directly connected
L   2001:1:1:96::2/128 [0/0]
     via GigabitEthernet4.15, receive
C   2001:1:1:98::/64 [0/0]
     via GigabitEthernet2.11, directly connected
L   2001:1:1:98::2/128 [0/0]
     via GigabitEthernet2.11, receive
C   2001:2:2:2::/64 [0/0]
     via GigabitEthernet3, directly connected
L   2001:2:2:2::2/128 [0/0]
     via GigabitEthernet3, receive
L   FF00::/8 [0/0]
     via Null0, receive
CSR1000v-04#

以上がCSR1000vで組んだBGP設定でした。次は最後となります第五回 BGPネットワークをベースにした疎通確認と障害試験を実施します。

IPv6BGP,IPv6