転職してからISPやIX間での接続を検討することが多くなり、BGPの検証をよくしています。
それまではBGPに関する設定を一通り理解はしてましたが、AS運用の観点では色々と勉強となることがあります。
ちょっと自分でもAS運用して色々検証をやってみようと思い、IHANetというグループに参加してました。
IHANetとは?
公式サイトに詳しく記載がありますので、そちらをご覧ください。
要はInternet上でトンネルを構築してMP-BGPでIPv6経路をやりとりして遊ぶ、という営みです。
実際参加してみて、AS番号が割り振られてAS運用者として他ASとPeering交渉~経路交換まで自分で行い、とても勉強になりました。
今回ブログではIHANetに接続するまでにやったことをノウハウとして残しておこうと思います。
使用した機材
弊宅ではIHANetへ参加するため下記の機能を持つ機器が必要でした。
・GRE Tunnel (IPv6 over IPv4 GRE Tunnel)
・BGP4+(MP-BGP)
(・PPPoE接続+ポートフォワーディング)
なかなかBGP4+に対応する機器がなく、色々探した結果、CiscoのC841M-4X-JAIS/K9(以下C841M)が満たせる機種だったので調達しました。
PPPoE接続+ポートフォワーディングは既に持っているNECのIX2207でやることにしました。
また、後述する検証のためにESXi上にVyOSを立てました(自分でVersion 1.3.2をビルドしISOを作成しました)
併せてポートミラーリング可能なNETGEARのGS308Eを用意しました。
接続までに検証したこと
いきなり他人とBGP接続!はハードルが高く、GRE TunnelやBGP4+もあまり触ったことない技術だったので、いくつかSTEPを踏んで検証しました。
【STEP1】 MP-BGP接続確認
STEP1ではC841MがMP-BGPにてIPv6 Prefixの経路交換ができるか検証しました。
データシートにもBGP4+の記載はありましたし、他のブログやTwitterでもやってる人が多数いたので、あっさり確認できました。
対向を模擬したルーター(疑似対向ルーター)はVyOSを使っています。
構成概要はこんな感じです。
【STEP2】 GRE Tunnel経由によるMP-BGP接続確認
STEP2ではC841MとVyOS間でGRE Tunnelを張り、BGP Peer UP(IPv6 Prefixの経路交換)ができるか検証しました。
一応、本番の環境と似せてIX2207を経由する構成とし、GRE Tunnel張るようにしました。
このSTEPで本番のオペレーションの流れが検証できるので、接続手順をメモしておきました。
構成概要はこんな感じです。
【STEP3】 PPPoE IFからIPv6 over IPv4 GRE Tunnelパケット送出確認
STEP3ではIX2207のPPPoE IFからC841MのパケットがNAPTされて送信されるか確認しました。
まだ、Internet上には実際の対向はいないのでTunnelの張り先は適当に設定して(MP-BGP通信の前段となる)TCP 179番ポートのSYNが送出されているか確認しました。
構成概要はこんな感じです。
【STEP4】 対向とBGP Peeringを実施
最後のSTEP4は実際に対向のAS運用者と接続をしました。
STEP2でメモした手順で経路交換できるか、各種パラメーターに問題ないかなど確認しました。
また、このSTEPで初めてPPPoE IF(グローバルIPアドレス)宛にGREパケットが来るので、IX2207にてGREパケットをC841Mにポートフォワーディングする設定も併せて検証しました。
構成概要はこんな感じです。