BGPを使用したNW構築でやってしまったお話

というわけで今回は自戒の念を込めて筆者がやらかしてしまったお話を供養させていきたいと思います。
ご覧頂いた皆様におきましてはくれぐれも筆者の様な馬鹿な真似をしない様にご留意願います。
今回は特に誰かへのウラミツラミが書かれているわけではないので、
そちらの面白さを求められるとガッカリさせてしまうかも知れません。
そもそも本来はああいう事を言う人ではないのですが(え?)

ケーススタディと共に今回の件は完全に個人のやらかしなのでそういう意味でのメシウマをご堪能頂くには良いかも。
意外と今回の事例、ネット記事に転がっていなかったので、こんな事でハマるケースはレアなのか、そもそも前提の構成があまりないレアケースなのかも知れませんが、同じような事象でどこかで苦しい思いをしている人がいるかも知れないのでご参考になれば幸いです。

それはいつぞやの記事で「ダイナミックルーティング」とボカして書いていたところのお話です。


事象

ざっくり構成図はこんな感じ。

構成図を更新しました。(※2025/1/17)

どうでも良いのですが、同じ架(ラック)に存在していても
管理する組織が異なれば、AS 番号も変えといた方が後々
色々トラブルが起きた時に責任分界点を明示的に確認しやすい。
のでこういう感じにしました。

で、それぞれがどういう役割だったかと言うと
ACT 機にはメイン回線を、SBY 機にはワイヤレスバックアップ回線を
それぞれ収容していました。
一応画ではバックアップ側を点線にしています。
CPE は VPNGW 向けにデフォルトルートを、VPNGW は CPE のLAN セグメントをそれぞれ Static で喋らせています。
なお、Static には N 社で言う所の「 connected 」、Y 社でいう所の「 hide 」オプションを付与しており、インターフェースが活性化している場合のみ、その Static 経路がルーティングテーブルに乗ります。
ぶっちゃけこのオプションがなくても vti インターフェースに紐付いた
Static 経路は勝手にルーティングテーブルから消える様な気もしますが、手元にないのでどうだったか記憶が曖昧です。
何がともあれここまではよくあるパターンですね。

んで、VPNGW 間の iBGP ピアリング、inetGW と VPNGW との eBGP ピアリングも恙なく終わらせたところで
いざ CPE <-> VPNGW 間の切替わり、切戻り試験を実施。
(本番環境での受入試験の段階です。)

経路が切り戻らない・・・
切り替わるけど切り戻らない・・・
基幹システムへの疎通性がない・・・
という事は ACT 系が強い状態になっていない???
なんでや???

当時の Config がざっとこんな感じ。まずは ACT 側から。

VPNGW-ACT
!
ip route ${CPE-LANNW} via ${CPE-WAN_ADDR} connected distance 222
!
router bgp 65001
  neighbor ${VPNGW-SBY} remote-as 65001
  neighbor ${VPNGW-SBY} soft-reconfiguration inbound
  neighbor ${VPNGW-SBY} timers 10 30
  neighbor ${VPNGW-SBY} update-source GE1/0/2
    address-family ipv4 unicast
    redistribute static route-map CPE-out
!

続いて SBY 側です。

VPNGW-SBY
!
ip route ${CPE-LANNW} via ${CPE-WAN_ADDR} connected distance 222
!
router bgp 65001
  neighbor ${VPNGW-ACT} remote-as 65001
  neighbor ${VPNGW-ACT} soft-reconfiguration inbound
  neighbor ${VPNGW-ACT} timers 10 30
  neighbor ${VPNGW-ACT} update-source GE1/0/2
    address-family ipv4 unicast
    redistribute static route-map CPE-out
!

※適当にC社風のConfigに仕立てております。
 多少の間違いや脚色は生暖かい目でご覧下さい。
 また、再配布する際のルートマップは省略しています。
 要は余計な経路を流さない様によしなにしているよー、的な事を
 やっている想定でいて下さい。

要は VPNGW-ACT と VPNGW-SBY にて iBGP でピアリングしており、
CPE-LAN というセグメントを互いに広報しあっていますが、
Static の AD 値を「222 (※)」にする事により、
 (※) J 社ではないので iBGPは AD 値 = 200
通常時は iBGP にて学習した経路をベストパスとして扱い、
VPNGW-ACT 側で CPE の LAN 側経路を見失った時に
VPNGW-SBY がベストパスとして経路が活性化するので結果切り替わる。
VPNGW-ACT 側で CPE の LAN 側経路が戻った時には通常通り、
iBGP のAD 値 = 200 vs Static の弱めた AD 値 = 222
というマッチアップをする想定で勝手に経路が切り戻るという想定でした。

ところが切り戻らない。
VPNGW-SBY 側が想定通りの挙動をしていないのだろうな、
という事だけは判りましたがスタティック側で AD 値弱くしているから切り替わってくれるのでは???
と思っていた筆者はここで完全にハマってしまいました。
結果切り戻し、検証環境で色々検証してみる事と相成りました。

ここから先は

2,094字 / 1画像

¥ 100

期間限定!Amazon Payで支払うと抽選で
Amazonギフトカード5,000円分が当たる

この記事が気に入ったらチップで応援してみませんか?