概要
BGPを設定する際、基本的に大まかに以下をおこなう必要があります。
1. IGPプロトコルを自ASで動かす
2. ループバックアドレスでフルメッシュorルートリフレクターを用いてiBGPでピアを貼る
3.他ASとeBGPで経路を交換する
今回はこれに加えて集約した経路を他ASに広告することをIPv6で実施します。
IPv6の許可
実はIPv6を扱う際にここでつまずきました。fireflyではIPv6通信は許可されていないようため、IPv6の通信がダイレクトピアすら繋がりませんでした。
以下のコマンドで現状について確認します。
show security flow status
結果がInet6 forwarding mode
がdrop
になっている。
つまり現在の状態ではIPv6通信は使えない。
www.juniper.net
このコマンドで有効化できます。
set security forward-options family inet6 mode packet-based
BGP経路配信
今回は1と2が完了していることを前提とし、外部へ指定した経路を広告する部分から記載します。 ユニークローカルアドレスのfc00::/48を配信します
指定した経路を広告するポリシーを定義する
Juniper ではBGPの設定をポリシーで定義します。
※BGP-OUT-v6 は定義したポリシー名
set policy-options policy-statement BGP-OUT-v6 term 10 from route-filter fc00::/48 exact
set policy-options policy-statement BGP-OUT-v6 term 10 then accept
定義したポリシーをBGPに反映
set protocol bgp group iBGP-v6 export BGP-OUT-v6
スタティック経路で意図した経路を作成する
BGPでポリシーを定義しても、自分自身のルーティングテーブルにない経路は配信されません。そのためスタティックでブラックホール経路を作成します。
set routing-options static route fc00::/48 discard
上記でcommit
しようとすると...
このアドレスは間違っているからルーティングテーブルに登録できないと出ている。
つまりipv4とipv6ではルーティングテーブルが違うから、v6ならちゃんと指定して入力しろってことのようだ。
www.juniper.net
IPv6 のルーティングテーブルにスタティックルートを登録
set routing-options rib inet6.0 static route fc00::/48 discard
これならcommit
が通る
確認
show route
意図した経路(fc00::/48)が他のルータで見えていれば成功になります。