Junos では原則、OOB Management 用、すなわち管理用の VRF (以下、mgmt. VRF)が切られていません。
というより、そもそも mgmt. VRF 自体が Junos OS 17.3R1 から搭載された新しい機能であり、それまで mgmt. VRF を切ることすらできませんでした。
これから mgmt. VRF が使えない弊害と、mgmt. VRF の簡単な使い方に関して説明します。
では、mgmt. VRF が切られないとどういう問題が起こるかというと、管理用ポート (OOB mgmt.) に設定したアドレス空間と通常のフォワーディング用ポートに設定したアドレス空間がルーティングテーブル的に被っているように見えます。
要はどちらの経路も等しく inet.0
上で学習しているように見えます
この状態でよしなに通信してくれれば良いのですが、同一 prefix のアドレスをそれぞれに設定すれば、OS から見える経路表的には同一の routing table に乗っていても、実際には In-Band と Out-of-Band と異なる場所で管理されている経路情報ですので、その prefix での通信は異常状態となってしまいます。
例えば、192.0.2.1/24 を xe-0/0/0 に設定し、192.0.2.100/24 を em0 (fxp0, me0) に設定した場合などに通信異常が起きます(どちらも default VRF に設定されている場合です)。
じゃあ、管理用の VRF を普通に VRF として定義して、管理用ポートに適用すれば良い、という発想になります。
ところが Junos は NTP や syslog といったシステムが自発するパケットは default VRF (inet.0
, inet6.0
) からしか通信ができませんでした。
そのため、管理面に default VRF を使用し、実通信面に別 VRF を切るというやり方が一般的でした。
しかし、これだと routing-instances (VRF) の上(中)でプロトコルを設定しなければいけないなど、何かと不便です。
また、Junos のそういった挙動を知らない人からすると、一見すると意味不明な config が出来上がってしまいます。
そのような状況だからかどうかは知りませんが、ようやく Junos OS 17.3R1 から管理用 VRF が使用できることとなりました。
下記に mgmt. VRF を切り、デフォルトルートを設定し、Cloudflare へ DNS / NTP を解決するための config になります。
QFX ベースですが、MX や SRX も同様の config で動作します(設定は適宜読み替えてください)。
こうすることでそれぞれ mgmt. VRF として mgmt_junos.inet.0
と mgmt_junos.inet6.0
が別 table としてできます。
なお、IP アドレスは 198.51.100.100/24, 2001:db8:1:cafe::100/64
とし、それぞれの最若番が GW とします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | system { name-server { 1.1.1.1 routing-instance mgmt_junos; 2606:4700:4700::1111 routing-instance mgmt_junos; 1.0.0.1 routing-instance mgmt_junos; 2606:4700:4700::1001 routing-instance mgmt_junos; } management-instance; ntp { boot-server time.cloudflare.com; server time.cloudflare.com prefer routing-instance mgmt_junos; } } # Placeholder for QFX platform config. interfaces { em0 { unit 0 { family inet { address 198.51.100.100/24; } family inet6 { address 2001:db8:1:cafe::100/64; address fe80::100/64; dad-disable; } } } } routing-instances { mgmt_junos { routing-options { rib mgmt_junos.inet6.0 { static { route ::/0 next-hop 2001:db8:1:cafe::1; } } static { route 0.0.0.0/0 next-hop 198.51.100.1; } } } } |
No comment yet, add your voice below!