top of page

JANOG 53 NETCON 問題解説 Level1-9

JANOG 53 にスタッフ(NETCON委員)として参加させていただきました。 作成した問題について、回答と解説を記載します。 Level1-9 BGP route-reflector問題



技術要素

BGP

構成解説

・CSR1000v x 4

問題文

R3が 4.4.4.4/32 を学習していません。

R3に 4.4.4.4/32 の経路を学習させて、以下の表示のように疎通が取れるようにして下さい。

R3>show ip bgp | include 4.4.4.4
 *>i  4.4.4.4/32       1.1.1.1                  0    100      0 200 i
 
R3>ping 4.4.4.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/13/62 ms
 
R3>traceroute 4.4.4.4
Type escape sequence to abort.
Tracing the route to 4.4.4.4
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.23.2 44 msec 0 msec 0 msec
  2 192.168.12.1 1 msec 1 msec 1 msec
  3 123.0.0.2 8 msec *  2 msec

制約 ・R4にはログインできません

・R2のみ設定を変更できます



問題解説 R3で  show ip route 4.4.4.4  / show ip bgp を実行してみます。

R3>sh ip route 4.4.4.4

% Network not in table

 

R3>sh ip bgp

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, m multipath, b backup-path, f RT-Filter,

              x best-external, a additional-path, c RIB-compressed,

              t secondary path, L long-lived-stale,

Origin codes: i - IGP, e - EGP, ? - incomplete

RPKI validation codes: V valid, I invalid, N Not found

 

     Network          Next Hop            Metric LocPrf Weight Path

 r>i  2.2.2.2/32       2.2.2.2                  0    100      0 i

 *>   3.3.3.3/32       0.0.0.0                  0         32768


R3は 4.4.4.4/32 をBGPで学習していません。R2のBGPテーブルも確認してみます。

R2#sh ip bgp

BGP table version is 5, 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, m multipath, b backup-path, f RT-Filter,

              x best-external, a additional-path, c RIB-compressed,

              t secondary path, L long-lived-stale,

Origin codes: i - IGP, e - EGP, ? - incomplete

RPKI validation codes: V valid, I invalid, N Not found

 

     Network          Next Hop            Metric LocPrf Weight Path

 r>i  1.1.1.1/32       1.1.1.1                  0    100      0 i

 *>   2.2.2.2/32       0.0.0.0                  0         32768 i

 r>i  3.3.3.3/32       3.3.3.3                  0    100      0 i

 *>i  4.4.4.4/32       1.1.1.1                  0    100      0 200 i

 

 

R2#sh ip route 4.4.4.4

Routing entry for 4.4.4.4/32

  Known via "bgp 100", distance 200, metric 0

  Tag 200, type internal

  Last update from 1.1.1.1 00:06:43 ago

  Routing Descriptor Blocks:

  * 1.1.1.1, from 1.1.1.1, 00:06:43 ago

      opaque_ptr 0x7F3D6DFFE7F0

      Route metric is 0, traffic share count is 1

      AS Hops 1

      Route tag 200

      MPLS label: none

R2は 4.4.4.4/32 をBGPで学習しており、ルーティングテーブルにも載っています。 R2がR3に 4.4.4.4/32 をアドバタイズしているのか、確認します。

R2#sh ip bgp summary

BGP router identifier 2.2.2.2, local AS number 100

BGP table version is 5, main routing table version 5

4 network entries using 992 bytes of memory

4 path entries using 544 bytes of memory

3/3 BGP path/bestpath attribute entries using 864 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 2424 total bytes of memory

BGP activity 4/0 prefixes, 4/0 paths, scan interval 60 secs

4 networks peaked at 08:38:28 Dec 19 2023 UTC (00:01:46.423 ago)

 

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

1.1.1.1         4          100       8       6        5    0    0 00:02:37        2

3.3.3.3         4          100       6       6        5    0    0 00:02:40        1

 

 

R2#sh ip bgp nei 3.3.3.3 advertised-routes

BGP table version is 5, 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, m multipath, b backup-path, f RT-Filter,

              x best-external, a additional-path, c RIB-compressed,

              t secondary path, L long-lived-stale,

Origin codes: i - IGP, e - EGP, ? - incomplete

RPKI validation codes: V valid, I invalid, N Not found

 

     Network          Next Hop            Metric LocPrf Weight Path

 *>   2.2.2.2/32       0.0.0.0                  0         32768 i

 

Total number of prefixes 1

R2は 2.2.2.2/32 しかアドバタイズしていません。

R1とR3のBGPネイバーも確認します。

R1>sh ip bgp su

(略)

 

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

2.2.2.2         4          100       7       8        4    0    0 00:02:57        1

123.0.0.2       4          200       8       8        4    0    0 00:03:47        1

 

 

R3>sh ip bgp su

(略)

 

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

2.2.2.2         4          100       7       7        3    0    0 00:03:09        1

R1とR3のiBGPネイバーが構成されておらず、フルメッシュになっていません。

R2はR1/R3とiBGPネイバーを構成していますが、BGPスプリットホライズンにより

iBGPピアから受信したルートを別のiBGPピアにアドバタイズしないため、

R3は 2.2.2.2/32 しか学習できていません。


フルメッシュ構成にするにはR1とR3でiBGPネイバーを構成することになりますが、

今回の問題では設定変更できるのはR2だけのため、R1とR3の設定変更が出来ません。


今回の場合、R2をルートリフレクタにして、R1/R3をルートリフレクタクライアントにすることで

R2が受信したルートをリフレクトするため、R3で 4.4.4.4/32 の経路を学習することが出来ます。

(正確には、今回の問題はR2がR1から学習した 4.4.4.4/32 をR3にアドバタイズすれば良いため、

 R1かR3のどちらに対して route-reflector-client を設定するだけでも問題は解決できます)


ルートリフレクタ


R2 router bgp 100

 neighbor 1.1.1.1 route-reflector-client

 neighbor 3.3.3.3 route-reflector-client

 

R2#clear ip bgp * soft

再度R3のBGPネイバーの状態とBGPテーブル・ルーティングテーブルを確認します。

R3>sh ip bgp su

(略)

 

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

2.2.2.2         4          100      10       5        7    0    0 00:00:01        3

 

 

R3>sh ip bgp

(略)

 

     Network          Next Hop            Metric LocPrf Weight Path

 r>i  1.1.1.1/32       1.1.1.1                  0    100      0 i

 r>i  2.2.2.2/32       2.2.2.2                  0    100      0 i

 *>   3.3.3.3/32       0.0.0.0                  0         32768 i

 *>i  4.4.4.4/32       1.1.1.1                  0    100      0 200 i

 

 

R3>sh ip route bgp | be Gate

Gateway of last resort is not set

 

      4.0.0.0/32 is subnetted, 1 subnets

B        4.4.4.4 [200/0] via 1.1.1.1, 00:00:28

R3が 4.4.4.4/32 をBGPで学習できたので、疎通確認してみます。

R3>ping 4.4.4.4

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/14/66 ms

 

 

 

R3>trace 4.4.4.4

Type escape sequence to abort.

Tracing the route to 4.4.4.4

VRF info: (vrf in name/id, vrf out name/id)

  1 192.168.23.2 43 msec 1 msec 1 msec

  2 192.168.12.1 0 msec 1 msec 0 msec

  3 123.0.0.2 9 msec *  2 msec

疎通が取れるようになりました。




正解例

以下のようにR2に設定を追加します。

R2 router bgp 100

 neighbor 1.1.1.1 route-reflector-client

 neighbor 3.3.3.3 route-reflector-client

※今回の問題はR1かR3をルートリフレクタクライアントに指定するだけでも解決できます

R2 router bgp 100

 neighbor 1.1.1.1 route-reflector-client

または

R2 router bgp 100

 neighbor 3.3.3.3 route-reflector-client



初期config

R1

hostname R1

no ip domain lookup

 

interface Loopback0

 ip address 1.1.1.1 255.255.255.255

 

interface GigabitEthernet3

 ip address 192.168.12.1 255.255.255.0

 no shut

 

interface GigabitEthernet4

 ip address 123.0.0.1 255.255.255.252

 no shut

 

router ospf 1

 router-id 1.1.1.1

 network 1.1.1.1 0.0.0.0 area 0

 network 192.168.12.0 0.0.0.255 area 0

 

router bgp 100

 bgp router-id 1.1.1.1

 network 1.1.1.1 mask 255.255.255.255

 neighbor 2.2.2.2 remote-as 100

 neighbor 2.2.2.2 update-source Loopback0

 neighbor 2.2.2.2 next-hop-self

 neighbor 123.0.0.2 remote-as 200

R2

hostname R2

no ip domain lookup

 

interface Loopback0

 ip address 2.2.2.2 255.255.255.255

 

interface GigabitEthernet3

 ip address 192.168.12.2 255.255.255.0

 no shut

 

interface GigabitEthernet4

 ip address 192.168.23.2 255.255.255.0

 no shut

 

router ospf 1

 router-id 2.2.2.2

 network 2.2.2.2 0.0.0.0 area 0

 network 192.168.12.0 0.0.0.255 area 0

 network 192.168.23.0 0.0.0.255 area 0

 

router bgp 100

 bgp router-id 2.2.2.2

 network 2.2.2.2 mask 255.255.255.255

 neighbor 1.1.1.1 remote-as 100

! neighbor 1.1.1.1 route-reflector-client

 neighbor 3.3.3.3 remote-as 100

! neighbor 3.3.3.3 route-reflector-client

 R3

hostname R3

no ip domain lookup

 

interface Loopback0

 ip address 3.3.3.3 255.255.255.255

 

interface GigabitEthernet3

 ip address 192.168.23.3 255.255.255.0

 no shut

 

router ospf 1

 router-id 3.3.3.3

 network 3.3.3.3 0.0.0.0 area 0

 network 192.168.23.0 0.0.0.255 area 0

 

router bgp 100

 bgp router-id 3.3.3.3

 network 3.3.3.3 mask 255.255.255.255

 neighbor 2.2.2.2 remote-as 100

 neighbor 2.2.2.2 update-source Loopback0

R4

hostname R4

no ip domain lookup

 

interface Loopback0

 ip address 4.4.4.4 255.255.255.255

 

interface GigabitEthernet3

 ip address 123.0.0.2 255.255.255.252

 no shut

 

router bgp 200

 bgp router-id 4.4.4.4

 neighbor 123.0.0.1 remote-as 100

 network 4.4.4.4 mask 255.255.255.255

 

ip route 0.0.0.0 0.0.0.0 123.0.0.1


タグ:

Comments


最新記事
アーカイブ
タグから検索
ソーシャルメディア
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page