56
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

愛の告白をBGPに載せて

Last updated at Posted at 2023-12-11

この記事はシスコの有志による Cisco Systems Japan Advent Calendar 2023 の 12日目として投稿しています。

2017年版: https://qiita.com/advent-calendar/2017/cisco
2018年版: https://qiita.com/advent-calendar/2018/cisco
2019年版: https://qiita.com/advent-calendar/2019/cisco
2020年版 1枚目: https://qiita.com/advent-calendar/2020/cisco
2020年版 2枚目: https://qiita.com/advent-calendar/2020/cisco2
2021年版 1枚目https://qiita.com/advent-calendar/2021/cisco
2021年版 2枚目https://qiita.com/advent-calendar/2021/cisco2
2022年版(1,2): https://qiita.com/advent-calendar/2022/cisco
2023年版: https://qiita.com/advent-calendar/2023/cisco<---こちら

前書き

Cisco SD-WAN、OMP、BGPのささやかでマニアックな技術仕様について架空人物の会話を通してお届けいたします。

本題

show ip bgpを実行するのに、こんなに緊張するのは初めてだ。流宇太(るうた)はターミナルソフト画面に表示されているshow ip bgpコマンドを凝視しながらこう思った。

 まだ若手エンジニアとは言えるが、幾つかの難関ネットワーク案件を完遂してきた実績を持っており、数々の本番環境で落ち着いて作業をこなしてきた流宇太は、人生初めて一つのコマンドを実行するのに、手のひらに汗をかくほど緊張している。

 それもそのはずだ。なぜならこのコマンドの実行結果には、愛の告白の返事が入っているからだ。

 二週間前にあの愛の告白作戦をやめとけばよかったかもしれないな、と心の中で嘆きながら、流宇太は無意識にWebex画面の向こうの女性に一瞬視線を向けた。

 彼女の名前は詩須子(しすこ)、流宇太とは保育園から大学までずっと一緒で、おまけに同じ会社に同期入社している仲だ。ネットワークという共通の趣味を持って、休日は一緒に自宅ラボで検証を楽しむこの二人は、周りから「流宇太と言えば詩須子(♡)、詩須子と言えば流宇太(♡)」と揶揄されるほどだ。

 保育園時代の名残で今でもお互いのことを「ちゃん」、「くん」をつけて呼び合っているが、幼馴染以上恋人未満の関係が長く続くと、なぜかその慣れたはずの呼び方から妙にもどかしさを感じる日々になっているようだ。

 あの形で愛の告白さえすれば、今年のクリスマスは恋人同士として一緒に過ごせると、自分なりに工夫してきたつもりだったが、逆に墓穴を掘ってしまったのか?










二週間前
Webex会議

image.png
そっちは朝の6時だっけ?朝早くて悪いね。米国出張は順調かな?

image.png
うん、順調よ。多分クリスマスまでには日本に帰れると思う。流宇太くんが用意してくれたテストデータのおかげよ。

image.png
それはよかった。テストデータといえば、前に頼まれた次のテスト用のラボ環境を構築しておいたよ。今軽く確認してもらえるかな?

image.png
構築は早いね!うん、一緒にやろう。あっ、日本は結構深夜だけど、流宇太くんは大丈夫?

image.png
俺は全然平気よ。今回の環境は特にBGPの部分は心を込めて作ったので、まずはBGPから確認してもらえると嬉しい。

image.png
うん、わかった。テスト用のサブネットはいつも通りかな?

image.png
うん、米国側のC01ルータは詩須子ちゃんがいつも愛用している192.168.10.0/24、日本側のR01ルータは俺がいつも使っている192.168.20.0/24にしているよ。構成図はこんな感じ。

image.png

image.png
R01とC01は同じAS番号となっているけど。意図的にこうしている?

image.png
うん、訳があってこうしているよ。C01でallowas-inを設定しているから大丈夫。っていうか、俺の気持ちをBGPに載せているからこうしているってとこかな。

image.png
流宇太くんの気持ち?

image.png
うん、そう、BGPに載せている、俺の気持ち、詩須子ちゃんに伝えたい気持ち。(高校の卒業文集に 大好物はBGP と平気で書いた詩須子ちゃんだからな)
とりあえず、俺の気持ちということで、俺を表す192.168.20.0/24に対してshow ip bgpをC01で実行してみたらわかるよ。

image.png
うん?わかった。じゃ、Webexでターミナルソフトの画面を共有しながら実行するね。
はい、実行したよ。

詩須子ちゃんの実行結果:
image.png

image.png
(・・・)

image.png
伝わったかな?あの、AS_PATHのところ。

image.png
特に変なところがないかな。C01でallowas-inが設定されているので、想定通りの結果よ。

C01でallowas-inを設定していない場合:
image.png

C01でallowas-inを設定している場合:
image.png

image.png
(・・・)英語堪能な詩須子ちゃんなら、わかると思うけどね。英語の略語っていうか、スラングっていうか。そのAS_PATHの数字。

image.png

image.png
そして、前にさりげなく詩須子ちゃんが言っていた話は覚えているよ。もしルータから突然告白されたら一番ロマンチックって。

image.png
色々覚えてくれてありがとう。嬉しい。
1 4 3の意味がわかるよ。I Love Youだよね。(・・・)

image.png
(・・・)って、詩須子ちゃんの気持ちは?

image.png
(意地悪っぽく笑いながら)私の気持ちは、
そうね、ルータが教えてくれるね。

image.png
ルータが教えてくれるって?

image.png
例えば、私を表す192.168.10.0/24に対してshow ip bgpを日本側のルータR01で実行してみたらわかるよ。あっもちろん、allowas-inをR01で設定してからね。お互いの気持ちを受け止めるという意味で。

image.png
じゃ、俺もWebexでターミナルソフトの画面を共有しながら実行してみるね

流宇太くんの実行結果:
image.png

image.png
えっと、AS_PATHは4 1 3となっているのは想定通りだけど、それは詩須子ちゃんの気持ち?よくわからないな。

image.png

image.png
(意地悪っぽく笑いながら)そうよ。全然英語のスラングでも略語でもないけど、1 4 3と同じノリで解釈すれば、4 1 3 はwait & seeと解釈してもよいかな、と。

image.png
wait & see、つまり、待って様子を見るってこと?

image.png
大事な話なのに茶化したようでごめんなさい。流宇太くんが自分の気持ちを私の大好きなルータとBGPに載せて伝えてくれてすごく嬉しく思っているわ。やはり私の返事も流宇太くんが構築してくれたこの環境のルータとBGPで伝えなきゃと、さっきからずっと何かよい方法がないかと考えてきたの。

image.png
つまり、以下の二つの実行結果のAS_PATHは同時に同じ1 4 3になったらいいな。
• 流宇太くんの気持ち:
o 流宇太くんを表す192.168.20.0/24に対してshow ip bgpを米国側のルータC01で私が実行する
• 私の気持ち:
o 私を表す192.168.10.0/24に対してshow ip bgpを日本側のルータR01で流宇太くんが実行する

image.png
同時に両方ともAS_PATHは1 4 3となる?

image.png
うん、お互いに1 4 3、つまり両思いということで。

image.png
そんな方法があるのかな?as-overrideやroute-mapなどで色々頑張ってみるしかないかな。

image.png
ううん、as-overrideやroute-mapなどの書き換え系はダメよ。なんかルータの本当の気持ちじゃなくなるから。さらにいうと、R01とC01のコンフィグは変更無しでそのままにしてほしい。ちょっと強引だけど、ありのままの私たちを表しているという解釈で。つまり、こういうお題だね。

image.png

image.png
(それは無理なんじゃないの?あっ、遠回しのお断りってことか)

image.png
もしかして、こんなの無理だよ、遠回しのお断りかと考えているのかな?

image.png
えっ?(読心術?)

image.png
読心術ではなく、顔に書いてあるよw
意地悪く聞こえたらごめんさない。実は先ほどお題を出すときに、一つ実現可能性のある方法に思い付いたのね。実際に実現できるかどうかは検証してみないとわからないけど。ぜひ流宇太くんにもこの方法に思い付いて、私たちの大好きなネットワーク技術で私たちの「両思い」を実現してほしい。

image.png
わかった!必ず実現してみせる。

image.png
うん、流宇太くんなら絶対大丈夫と思う!

image.png
(こう言われるとなんか緊張してきたな。本当にできるのかな・・・)

image.png
(・・・)あっ、そうだ、来週開催される予定のCisco SD-WAN Black Beltトレーニングはぜひ受けた方がよいよ。私は先月同じトレーニングを受けてきて、とても勉強になった!

image.png
はい、了解。

image.png
(・・・)あの、特に

image.png
 特に?

image.png
特にOMPは面白いよ!大好きなBGPと似て非なるっていうか、とりあえずトレーニングのOMPの部分はちゃんと聞いてね。

image.png
はい、了解!










二週間後
Webex会議

image.png
結局、詩須子ちゃんの帰国前日になってしまって、ごめんね。

image.png
ううん。こちらこそ、私のわがままのお題に付き合ってくれてありがとう。

image.png
今から、あの、俺たちの「両思い」を実現してみせるね。

image.png
うん!

image.png
俺たちの「両思い」実現のポイントは、ズバリSD-WAN化だ!借用できるSD-WANコントローラの空きがなく、ぎりぎり今日借りることができたけど、今からやる検証はぶっつけ本番だ。愛の告白に相応しく一発勝負ということだ。

image.png
うん!(なんか、相当強気になっている)

image.png
Cisco社のルータはコマンド一つでモードを変えることができるため、まずはcontroller-mode enableコマンドで、日本側のWANルータTKYと米国側のWANルータSJCのモードを自律モード(autonomous mode)からSD-WANモード(controller mode)に変更する。こんな感じだ。

image.png

image.png
初期設定を行い、SD-WANコントローラとコントロール接続を確立する。ここら辺の設定はCisco SD-WAN Black Beltトレーニングのハンズオンで何回もやっているので、ささっと作業を終わらせるね。

image.png

image.png
あとは訳あって、TKYのAS番号を4から1に変更する。

image.png

image.png
次はTKY、SJCのOMP設定とBGPとの再配布設定を行う。

image.png

image.png
現時点のAS_PATH情報を一旦見てみよう。

image.png

image.png

image.png

image.png
簡単にまとめると、OMPはBGPではないため、そもそもBGPのAS_PATHは再配布時に消失するというのはポイントだね。この時点でC01が受信した192.168.20.0/24のAS_PATH(=俺の気持ち)は1となっているはず。
そして、同じ理屈で、この時点でR01が受信した192.168.10.0/24のAS_PATH(=詩須子ちゃんの気持ち)も1となっているはず。

image.png

image.png
詩須子ちゃん、一緒にWebexで共有しながら実機でも確認しようか。

image.png
あっ、はい!

流宇太くんの実行結果(R01):
image.png

image.png
想定通り1だね。

詩須子ちゃんの実行結果(C01):
image.png

image.png
はい、そうだね。

image.png
では、次のステップとしては、propagate as path機能を有効にして、BGPからOMPへルートを再配布する際に、BGPのAS_PATHを保持できるようにする。

image.png

image.png
ちなみに、SD-WAN Manager GUIではこのように設定する。

image.png
image.png

image.png
propagate as path有効後のAS_PATH情報を一旦見てみよう。

image.png
image.png
image.png

image.png
簡単にまとめると、propagate as path有効化後、BGPルートをOMPへ再配布後もAS_PATH情報が消失せずに保持されるため、そのままOMPを超えて対向側のルータのBGPに通知できる。この時点でC01が受信した192.168.20.0/24のAS_PATH(=俺の気持ち)は1 3となっているはず。
そして、同じ理屈で、この時点でR01が受信した192.168.10.0/24のAS_PATH(=詩須子ちゃんの気持ち)も1 3となっているはず。

image.png

image.png
詩須子ちゃん、また一緒にWebexで共有しながら実機で確認しようか。

image.png
あっ、はい!

流宇太くんの実行結果(R01):
image.png

image.png
想定通り1 3だね。

詩須子ちゃんの実行結果(C01):
image.png

image.png
はい、そうだね。

image.png
次はいよいよ最後のステップだ。今度はOMPをBGPとみなして、overlay-asを設定してOMPオーバーレイにAS番号を付与する。値は4とする。

image.png

image.png
ちなみに、SD-WAN Manager GUIではこのように設定する。

image.png
image.png

image.png
overlay-asの設定完了後、つまり、最終形の環境のAS_PATH情報を見てみよう。

image.png

image.png

image.png

image.png
簡単にまとめると、overlay-as番号を設定したあと、BGPルートをOMPへ再配布後は元々のAS_PATH情報が消失せずに保持されるだけでなく、さらにOMPオーバーレイのAS番号は当該AS_PATHに追加される。この時点でC01が受信した192.168.20.0/24のAS_PATH(=俺の気持ち)は1 4 3となっているはず。
そして、同じ理屈で、この時点でR01が受信した192.168.10.0/24のAS_PATH(=詩須子ちゃんの気持ち)も1 4 3となっているはず。

image.png

image.png
ちょっと待って!TKYやSJCのAS番号はAS_PATHに追加されないかな?たとえば、192.168.20.0/24のルート伝播を例にして普通のBGP的に考えると、R01 (AS番号:3) -> TKY(AS番号:1) -> OMPオーバーレイ (AS番号:4) -> SJC(AS番号:1)の順番でAS番号が追加され、C01が受信した192.168.20.0/24のAS_PATHは1 4 1 3になるんじゃないのかな?

image.png
いいツッコミだね。
そこは俺も検証できずに色々悩んで考えたけど、結論は1 4 1 3にならずに、1 4 3になるはずだ。なぜなら、TKYの立場で考えると、あくまでも自分のBGPプロセスがR01から受信した192.168.20.0/24のAS_PATH(値:3)を自分のOMPプロセスに再配布するだけで、別に他のBGPスピーカーに192.168.20.0/24をアドバタイズしているわけではないので、自分の持つBGP AS番号(値:1)をAS_PATHに追加することがないと思う。

image.png
うん、言われてみればなんか確かにそうだなって感じね。実際の実行結果は気になるね。じゃ、一緒にWebexで共有しながら実機で確認しよう!










現在
Webex会議

image.png
流宇太くん、どうしたの?さっきから画面を見てぼうっとしているよ。

image.png
流なんか、急に緊張になってきたな、1万回くらい打ったはずのshow ip bgpを見ながら。愛の告白に相応しく一発勝負だという大言壮語を吐いてみたが、やはりぶっつけ本番は怖いね。「両思い」にならなかったらどうしようって。
あはは、情けないw

image.png
きっとうまくいくはずよ。私、私はるうたを信じているから。

image.png
今のるうたって、ネットワーク機器のことかな、それとも俺のこと?

image.png
両方かな。

image.png
そうか、そうだね。俺もしすこを信じているから、怖いもの無しだね。

image.png
えっ?

image.png
今回のお題の解のポイントとなるCisco SD-WANのCiscoを信じているし、
二週間前にCisco SD-WANやOMPなどのヒントを一生懸命出してくれた詩須子も信じている。そう、絶対にうまくいくと思う!
せーので一緒にshow ip bgpを実行しよう!

image.png
あっ、はい!

流宇太くんの実行結果(R01):
image.png

image.png
1 4 3だ!やった!詩須子、I Love Youだ!

詩須子ちゃんの実行結果(C01):
image.png

image.png
私も!

56
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
56
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?