見出し画像

containerlab + FRRoutingでMPLS L3VPN step3?


topology

前のトポロジーだとノードが多かったので、PoCが面倒くさい。
ということで、いったん構成をsimple化

pe[12]のce向けIFはvrf cust1とした
MPLS網内はospf area0でノード間はpoint-to-pointとした

addressing

Config生成shell scriptを活用するためにloとethのアドレスをパラメータ化
動かすプロトコルも定義することでconfigを生成できるようにしたよ
※後でスクリプトは共有

出来た!と思っていた。

config作成スクリプトも改変し、provisioningスクリプトも改変し、サクッと起動すればL3VPNが確立され、通信できると思っていた。
経路見えているのに、ce間で通信ができない。(12/28なのに何にハマっているのだ)

構成のシンプル化、configの手動入力の果てに

なぜかわからないがconfigをある程度作っておき、ラボ起動後にvrfの設定を行うとIPv4 L3VPNが動いた。
※configurationは手動 <- 面倒くさい

topology2

pルータもなくし、最低限で設定できるように

設定順序

  1. sysctlでカーネルパラメータを変更
    ※mplsインタフェースの有効化、ラベルの設定

  2. vrfの設定
    ※全ノード共通:vrf mgmtの作成とeth0への適用
    ※MPLSノード:vrf cust1とlo10の作成、eth1へvrf cust1を適用

  3. Configuration
    ※IGP→LDP→BGP→BGP vrf cust1の順で実施

疎通確認結果

極小MPLS網だが、きちんとCE間でラベル通信ができている
NLRIに格納されている192.168.0.3がCE1のloであり、pe1(1.1.1.1)からpe2(2.2.2.2)に広告されている

最後に

これは私の設定が悪いのか、containerlab + FRRoutingで癖があるのかわからないけど、routing table上問題なくても疎通できないときがある。ということを年末に知った。朝からこんなことやっている人間はどうかと思うが、とりあえず動いてよかった。
step3で終わろうと思っていたが、ipv6 l3vpnができていないのでstep4でデュアルスタック化をしてみようと思う。

おまけ

こんなものいらないかと思いますが、configとshowコマンド、pcapファイルの詰め合わせを提供します。
年末年始時間があり、containerlabにトライしたい方、見てみてはいかがでしょうか。


いいなと思ったら応援しよう!