2018年2月17日土曜日

AWS VPN接続の2つのトンネルにおけるMED値

VPN接続でBGPオプションを選択したとき、優先側トンネルのDown/Upによる細かい動作を確認しました。
なお、2018/2/17現在の動きです。

1つ目のトンネル
====
vyos@vyos01:~$ show ip bgp neighbors 169.254.26.57 received-routes
BGP table version is 0, local router ID is 172.22.22.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.0/16      169.254.26.57          100             0 10124 i
====

2つ目のトンネル
====
vyos@vyos01:~$ show ip bgp neighbors 169.254.25.149 received-routes
BGP table version is 0, local router ID is 172.22.22.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.0/16      169.254.25.149         200             0 10124 i
====

仮装プライベートゲートウェイ(VGW)から広報される10.0.0.0/16宛の経路の優先度を示すMED値は以下の通り

169.254.26.57経由:100
169.254.25.149経由:200

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.0/16      169.254.26.57          100             0 10124 i
*                   169.254.25.149         200             0 10124 i

MED値は小さい方が選択されるので、この段階では169.254.26.57のBGPピアを経由した通信となる。

この段階で、169.254.26.57側のBGPピアをshutdownする。

vyos@vyos01# set protocols bgp 65000 neighbor 169.254.26.57 shutdown
[edit]
vyos@vyos01# commit
[edit]

この状態で、今まで受信していた経路を確認する

vyos@vyos01:~$ show ip bgp neighbors 169.254.26.57 received-routes
vyos@vyos01:~$

vyos@vyos01:~$ sh ip bgp
   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.0/16      169.254.25.149         200             0 10124 i

当然経路がなくなる
BGPのステータスはshutdown
vyos@vyos01:~$ show ip bgp neighbors 169.254.26.57
BGP neighbor is 169.254.26.57, remote AS 10124, local AS 65000, external link
 Administratively shut down
  BGP version 4, remote router ID 169.254.26.57
  BGP state = Idle
  Last read 13:57:27, hold time is 30, keepalive interval is 5 seconds
  Configured hold time is 30, keepalive interval is 5 seconds

この状態ではMED値200の169.254.25.149経由で通信している

vyos@vyos01:~$ show ip bgp neighbors 169.254.25.149 received-routes

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.0/16      169.254.25.149         200             0 10124 i

しばらくすると、169.254.25.149から広報されている経路のMED値が200から100に変わる。

vyos@vyos01:~$ show ip bgp neighbors 169.254.25.149 received-routes

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.0/16      169.254.25.149         100             0 10124 i

Total number of prefixes 1

次にshutdownしていた169.254.26.57側のBGPピアを復旧する

vyos@vyos01# commit
[edit]
vyos@vyos01# del protocols bgp 65000 neighbor 169.254.26.57 shutdown
[edit]
vyos@vyos01# commit
[edit]

自動的に169.254.26.57側のBGPピアは復旧する

vyos@vyos01:~$ show ip bgp neighbors 169.254.26.57
BGP neighbor is 169.254.26.57, remote AS 10124, local AS 65000, external link
  BGP version 4, remote router ID 169.254.26.57
  BGP state = Established, up for 00:00:02
  Last read 13:56:28, hold time is 30, keepalive interval is 10 seconds
  Configured hold time is 30, keepalive interval is 5 seconds
  Neighbor capabilities:
    4 Byte AS: advertised and received
    Route refresh: advertised and received(old & new)
    Address family IPv4 Unicast: advertised and received

そして、この状態では169.254.26.57のMED値は200となっている。

   Network          Next Hop            Metric LocPrf Weight Path
*  10.0.0.0/16      169.254.26.57          200             0 10124 i
*>                  169.254.25.149         100             0 10124 i

その後、元のバックアップ用トンネルのMED値が200に降格する
しかし、優先はまだ169.254.25.149のまま

   Network          Next Hop            Metric LocPrf Weight Path
*  10.0.0.0/16      169.254.26.57          200             0 10124 i
*>                  169.254.25.149         200             0 10124 i

この後、正確な時間は不明だが、MED値元の状態に戻る

   Network          Next Hop            Metric LocPrf Weight Path
*  10.0.0.0/16      169.254.26.57          100             0 10124 i
*>                  169.254.25.149         200             0 10124 i

そして、優先ルートが切り戻る。

この後、正確な時間は不明だが、MED値元の状態に戻る

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.0/16      169.254.26.57          100             0 10124 i
*                   169.254.25.149         200             0 10124 i


まとめると、MED値の値は以下の流れ

2本のBGPピアがEstablishedの状態
169.254.26.57 100
169.254.25.149 200

優先側のBGPピアがdownの状態
169.254.26.57 無し
169.254.25.149 200

優先側のBGPピアがdownしてしばらく経過した状態
169.254.26.57 無し
169.254.25.149 100 #200->100へ変更

優先側のBGPピアが復旧直後の状態
169.254.26.57 200 #もともと100だったが、200で復旧
169.254.25.149 100

優先側のBGPピアが復旧直後の状態
169.254.26.57 200


169.254.25.149 200 #100->200へ変更して両方200になるが、まだ切り替わらない

優先側のBGPピアが復旧してしばらく経過した状態
169.254.26.57 100 #元の状態に変化(100->200)
169.254.25.149 200

っということで、優先側が復旧後には切り戻しが行われる。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

Apple Watch Ultra 3

 以前の6から乗り換え 6は娘へお下がり、下取りしても3,000円だった ダイビングを再開してから、潜る前後で時計を付け替える煩わしさを感じてたけど、確かに、ダイビングを休眠する前から感じていたことだったのを思い出した ソフトのサブスクも高いらしいけど、まあぁ、ダメだったら以前の...