シナプスの技術部ネットワーク課の福山と申します。
弊社では、2022年からJuniper機器を導入しました。
Juniper機器の運用は弊社では初となり、実際のサービス投入までの間はいろいろと検証することができました。
しかし、いざサービスに投入され運用に入ってしまうと、お客様向けサービスに支障が発生するリスクを避けるため、安易には設定変更できません。
そこで、Juniper vLabs の使い勝手などを検証してみました。
Juniper vLabs とは
Juniper vLabs とは、事前に構築されたトポロジーを使用して、ジュニパーの提供するユースケースや機能をテストできるWebベースのプラットフォームです。
Juniperのアカウント登録をすると無料で利用できます。
vLABの登録/利用ガイドに利用方法が載っています。
利用できるトポロジー
2022年12月時点では以下のトポロジーが利用可能でした。
- Standalone
- Junos Day One + Experience
- Standalone vMX
- Standalone vSRX
- Standalone cSRX
- Standalone vQFX
- Standalone vRR
- Routing
- OSPF - Single-area
- OSPF - Multi-area
- IS-IS - Single-area
- IS-IS - Multi-level/area
- BGP - Multi-AS
- BGP - Multi-AS with Route Reflection
- Classful Transport Planes – Intra-Domain
- Segment Routing - Basic
- Switching
- IP Fabric with EVPN-VXLAN
- Apstra
- Apstra (pre-configured EVPN)
- VLANs
- RSTP
- Security
- Zones / Policies
- IPsec VPN - Policy-based
- IPsec VPN - Route-based
- NAT - Source & Destination
- Automation
- JET for Junos - Automation and Programmability
- PyEZ for Junos - Automation and Programmability
- Network Management, Telemetry, and Analytics
- Apstra
- Apstra (pre-configured EVPN)
- NorthStar Controller [Precursor to Paragon Pathfinder]
- Sky Enterprise
- Security Director
- Connectivity Services Director
検証
利用できるトポロジーから「BGP - Multi-AS」を使って検証してみました。
デフォルトで基本的な設定は投入されています。
- インターフェース、IPアドレス
- IGPとしてOSPF
- BGP(IBGP、EBGP)
検証内容
- vMX2(AS64522)が vMX4(AS64533)から受信した経路にコミュニティ(64522:64533)を付与する
- vMX2(AS64522)が vMX5(AS64544)から受信した経路にコミュニティ(64522:64544)を付与する
- vMX2(AS64522)が受信した経路でコミュニティ(64522:64533)が付与されている経路は vMX1(AS64522)に広報しないようにする
vMX4(AS64533)設定内容
- 192.168.1.0/24 を vMX2(AS64522)に広報する
set routing-options static route 192.168.1.0/24 discard set policy-options prefix-list 1 192.168.1.0/24 set policy-options policy-statement ADVERTISE term 1 from prefix-list 1 set policy-options policy-statement ADVERTISE term 1 then accept set protocols bgp group to-AS64522 export ADVERTISE
vMX5(AS64544)設定内容
- 192.168.2.0/24 を vMX2(AS64522)に広報する
set routing-options static route 192.168.2.0/24 discard set policy-options prefix-list 1 192.168.2.0/24 set policy-options policy-statement ADVERTISE term 1 from prefix-list 1 set policy-options policy-statement ADVERTISE term 1 then accept set protocols bgp group to-AS64522 export ADVERTISE
vMX2(AS64522)設定内容
- vMX4(AS64533)から受信した経路→コミュニティ(64522:64533)を付与
- vMX5(AS64544)から受信した経路→コミュニティ(64522:64544)を付与
set policy-options community AS64533-COMMUNITY members 64522:64533 set policy-options community AS64544-COMMUNITY members 64522:64544 set policy-options policy-statement AS64533-in term 1 then community add AS64533-COMMUNITY set policy-options policy-statement AS64544-in term 1 then community add AS64544-COMMUNITY set protocols bgp group to-AS64533 import AS64533-in set protocols bgp group to-AS64544 import AS64544-in
vMX1(AS64522)で vMX2(AS64522)から受信している経路を確認
- vMX4(AS64533)からの経路(192.168.1.0/24)にコミュニティ(64522:64533)が付与されている
- vMX5(AS64544)からの経路(192.168.2.0/24)にコミュニティ(64522:64544)が付与されている
jcluser@vMX1> show route receive-protocol bgp 10.100.100.2 extensive inet.0: 14 destinations, 16 routes (14 active, 0 holddown, 0 hidden) * 192.168.1.0/24 (2 entries, 1 announced) Accepted Nexthop: 10.100.24.2 Localpref: 100 AS path: 64533 I Communities: 64522:64533 * 192.168.2.0/24 (2 entries, 1 announced) Accepted Nexthop: 10.100.25.2 Localpref: 100 AS path: 64544 I Communities: 64522:64544 inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
vMX2(AS64522) にポリシーの設定を追加
- vMX4(AS64533)から受信してコミュニティ(64522:64533)を付与した経路は vMX1(AS64522)に広報しないようにする
set policy-options policy-statement vMX1-out term 1 from community AS64533-COMMUNITY set policy-options policy-statement vMX1-out term 1 then reject set protocols bgp group IBGP export vMX1-out
vMX1(AS64522)で vMX2(AS64522)から受信している経路を確認
- vMX4(AS64533)からの経路(192.168.1.0/24)を受信しなくなりました
jcluser@vMX1> show route receive-protocol bgp 10.100.100.2 extensive inet.0: 14 destinations, 15 routes (14 active, 0 holddown, 0 hidden) * 192.168.2.0/24 (2 entries, 1 announced) Accepted Nexthop: 10.100.25.2 Localpref: 100 AS path: 64544 I Communities: 64522:64544 inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
まとめ
基本的な設定は投入済みなので、ポリシーの設定確認などの検証にはとても良いと思いました。
今まで触れたことのない色々なトポロジーがあるので、試してみようと思います。