「2024-09-25 Catalyst3850 PBR 機能検証」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
|||
476行目: | 476行目: | ||
[[ファイル:Catalyst PBR 02.png|代替文=Catalyst PBR 通常時 トラフィックフロー|なし|フレーム|Catalyst PBR 通常時 トラフィックフロー]] | [[ファイル:Catalyst PBR 02.png|代替文=Catalyst PBR 通常時 トラフィックフロー|なし|フレーム|Catalyst PBR 通常時 トラフィックフロー]] | ||
[[ファイル:Catalyst PBR 03.png|代替文=Catalyst PBR 障害時 トラフィックフロー|なし|フレーム|Catalyst PBR 障害時 トラフィックフロー]] | [[ファイル:Catalyst PBR 03.png|代替文=Catalyst PBR 障害時 トラフィックフロー|なし|フレーム|Catalyst PBR 障害時 トラフィックフロー]] | ||
=== コマンドリスト === | |||
以下の ping が fail 想定以外の箇所で疎通すること。 | |||
==== PE-RT01 ==== | |||
### PE-RT01 | |||
!!! Success is OK | |||
tclsh | |||
foreach address { | |||
8.8.8.8 | |||
203.0.113.249 | |||
203.0.113.250 | |||
198.51.100.253 | |||
198.51.100.5 | |||
198.51.100.6 | |||
198.51.100.9 | |||
198.51.100.10 | |||
198.51.100.13 | |||
198.51.100.14 | |||
198.51.100.17 | |||
198.51.100.18 | |||
198.51.100.21 | |||
198.51.100.22 | |||
198.51.100.252 | |||
} { ping $address source Lo1 } | |||
tclquit | |||
!!! Fail is OK | |||
tclsh | |||
foreach address { | |||
10.0.0.1 | |||
} { ping $address source Lo1 } | |||
tclquit | |||
==== CE-RT01 ==== | |||
### CE-RT01 | |||
!!! Success is OK | |||
tclsh | |||
foreach address { | |||
10.0.0.1 | |||
} { ping $address source Lo0 } | |||
tclquit | |||
!!! Success is OK | |||
tclsh | |||
foreach address { | |||
8.8.8.8 | |||
203.0.113.249 | |||
203.0.113.250 | |||
198.51.100.253 | |||
198.51.100.5 | |||
198.51.100.6 | |||
198.51.100.9 | |||
198.51.100.10 | |||
198.51.100.13 | |||
198.51.100.14 | |||
198.51.100.17 | |||
198.51.100.18 | |||
198.51.100.21 | |||
198.51.100.22 | |||
198.51.100.252 | |||
} { ping $address source Lo0 } | |||
tclquit | |||
==== L3SW01 ==== | |||
### L3SW01 | |||
!!! Success is OK | |||
tclsh | |||
foreach address { | |||
8.8.8.8 | |||
203.0.113.249 | |||
203.0.113.250 | |||
198.51.100.253 | |||
198.51.100.5 | |||
198.51.100.6 | |||
198.51.100.9 | |||
198.51.100.10 | |||
198.51.100.13 | |||
198.51.100.14 | |||
198.51.100.17 | |||
198.51.100.18 | |||
198.51.100.21 | |||
198.51.100.22 | |||
198.51.100.252 | |||
} { ping $address source Lo1 } | |||
tclquit | |||
tclsh | |||
foreach address { | |||
8.8.8.8 | |||
203.0.113.249 | |||
203.0.113.250 | |||
198.51.100.253 | |||
198.51.100.5 | |||
198.51.100.6 | |||
198.51.100.9 | |||
198.51.100.10 | |||
198.51.100.13 | |||
198.51.100.14 | |||
198.51.100.17 | |||
198.51.100.18 | |||
198.51.100.21 | |||
198.51.100.22 | |||
198.51.100.252 | |||
} { ping $address source Lo2 } | |||
tclquit | |||
tclsh | |||
foreach address { | |||
8.8.8.8 | |||
203.0.113.249 | |||
203.0.113.250 | |||
198.51.100.253 | |||
198.51.100.5 | |||
198.51.100.6 | |||
198.51.100.9 | |||
198.51.100.10 | |||
198.51.100.13 | |||
198.51.100.14 | |||
198.51.100.17 | |||
198.51.100.18 | |||
198.51.100.21 | |||
198.51.100.22 | |||
198.51.100.252 | |||
} { traceroute $address source Lo1 } | |||
tclquit | |||
tclsh | |||
foreach address { | |||
8.8.8.8 | |||
203.0.113.249 | |||
203.0.113.250 | |||
198.51.100.253 | |||
198.51.100.5 | |||
198.51.100.6 | |||
198.51.100.9 | |||
198.51.100.10 | |||
198.51.100.13 | |||
198.51.100.14 | |||
198.51.100.17 | |||
198.51.100.18 | |||
198.51.100.21 | |||
198.51.100.22 | |||
198.51.100.252 | |||
} { traceroute $address source Lo2 } | |||
tclquit | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+疎通確認 | |+疎通確認 |
2024年10月3日 (木) 11:08時点における版
想定外の動作をしたりデバッグ手法の少ない PBR について、機能検証を実施しました。
このページにラボシナリオとして、コンフィグや確認コマンド、疎通確認のポイントなどをまとめています。
実機として Catalyst 3850 を使用していますが、同一系統の ASIC を持つ、Catalyst 9000 シリーズでも同様の動作をします。
目的
PBR の想定外動作について理解を深められること。
IP アドレッシングを意識した PBR 用 ACL を設計できるようになること。
通信要件
LAN グローバル アドレスが送信元のトラフィック
- WAN 宛も LAN 宛も NAT されないこと
LAN プライベート アドレスが送信元のトラフィック
- LAN グローバル / プライベート アドレス宛のトラフィックは NAT されず疎通できること
- WAN グローバル アドレス宛てのトラフィックが NAT され疎通できること
- LAN / WAN のすべての IP に対し、疎通確認と経路確認ができること
LAN プライベートアドレスが宛先のトラフィック
- WAN グローバル アドレスから、LAN プライベート アドレスに疎通できないこと
PBR 冗長
- PBR の next-hop がリンク障害時に次の next-hop へ切り替わること
検証環境
Cisco Catalyst 3850-24T : IOS-XE 16.12.12 x3
VyOS ベアメタル : 1.4-rolling-202203110317
構成図
- Catalyst 3850 : PE-RT01 , CE-RT01 , L3SW01
- VyOS : NAT-RT01
PE-RT01 を WAN の機器、CE-RT01 , NAT-RT01 , L3SW01 を LAN の機器とする。

IP アドレッシング
文書用例示アドレス (8.8.8.8 を除く) | ||||||
---|---|---|---|---|---|---|
大種別 | 小種別 | ネットワーク アドレス | ホスト | インターフェース | ホスト アドレス | 備考 |
グローバルアドレス | WAN グローバルアドレス | 8.8.8.8/32 | PE-RT01 | Lo1 | 8.8.8.8/32 | 主な ping の宛先 |
203.0.113.248/30 | PE-RT01 | Gi1/0/20 | 203.0.113.249/30 | スタティック ルーティングを設定
CE ルータ宛には
| ||
CE-RT01 | Gi1/0/20 | 203.0.113.250/30 | PE ルータ宛にデフォルト ルートを設定する | |||
LAN グローバル アドレス | 198.51.100.0/24 | CE-RT01 | Vlan10 | 198.51.100.5/30 | NAT outside Active | |
NAT-RT01 | eth0.10 | 198.51.100.6/30 | ||||
CE-RT01 | Vlan20 | 198.51.100.9/30 | NAT inside Active | |||
NAT-RT01 | eth0.20 | 198.51.100.10/30 | ||||
CE-RT01 | Vlan11 | 198.51.100.13/30 | NAT outside Standby | |||
NAT-RT01 | eth1.11 | 198.51.100.14/30 | ||||
CE-RT01 | Vlan21 | 198.51.100.17/30 | NAT inside Standby | |||
NAT-RT01 | eth1.21 | 198.51.100.18/30 | ||||
CE-RT01 | Gi1/0/1 | 198.51.100.21/30 | OSPF で L3SW のネットワーク アドレスを受信する
デフォルトルートを配布 | |||
L3SW01 | Gi1/0/23 | 198.51.100.22/30 | OSPF で L3SW のネットワークアドレスを配布する
デフォルトルートを受信 | |||
L3SW01 | Lo1 | 198.51.100.251/32 | グローバル アドレスの疎通確認用 送信元 IP アドレス | |||
プライベートアドレス | LAN プライベート アドレス | 10.0.0.0/24 | L3SW01 | Lo2 | 10.0.0.1/24 | プライベート アドレスの疎通確認用 送信元 IP アドレス |
コンフィギュレーション
ここではプロトコル・ホスト別にコンフィギュレーションを簡単に解説します。
自分でコンフィグを組んでみたい人向けに、デフォルトでは表示しません。
PE-RT01
CE-RT01
疎通確認


コマンドリスト
以下の ping が fail 想定以外の箇所で疎通すること。
PE-RT01
### PE-RT01 !!! Success is OK tclsh foreach address { 8.8.8.8 203.0.113.249 203.0.113.250 198.51.100.253 198.51.100.5 198.51.100.6 198.51.100.9 198.51.100.10 198.51.100.13 198.51.100.14 198.51.100.17 198.51.100.18 198.51.100.21 198.51.100.22 198.51.100.252 } { ping $address source Lo1 } tclquit !!! Fail is OK tclsh foreach address { 10.0.0.1 } { ping $address source Lo1 } tclquit
CE-RT01
### CE-RT01 !!! Success is OK tclsh foreach address { 10.0.0.1 } { ping $address source Lo0 } tclquit !!! Success is OK tclsh foreach address { 8.8.8.8 203.0.113.249 203.0.113.250 198.51.100.253 198.51.100.5 198.51.100.6 198.51.100.9 198.51.100.10 198.51.100.13 198.51.100.14 198.51.100.17 198.51.100.18 198.51.100.21 198.51.100.22 198.51.100.252 } { ping $address source Lo0 } tclquit
L3SW01
### L3SW01 !!! Success is OK tclsh foreach address { 8.8.8.8 203.0.113.249 203.0.113.250 198.51.100.253 198.51.100.5 198.51.100.6 198.51.100.9 198.51.100.10 198.51.100.13 198.51.100.14 198.51.100.17 198.51.100.18 198.51.100.21 198.51.100.22 198.51.100.252 } { ping $address source Lo1 } tclquit tclsh foreach address { 8.8.8.8 203.0.113.249 203.0.113.250 198.51.100.253 198.51.100.5 198.51.100.6 198.51.100.9 198.51.100.10 198.51.100.13 198.51.100.14 198.51.100.17 198.51.100.18 198.51.100.21 198.51.100.22 198.51.100.252 } { ping $address source Lo2 } tclquit tclsh foreach address { 8.8.8.8 203.0.113.249 203.0.113.250 198.51.100.253 198.51.100.5 198.51.100.6 198.51.100.9 198.51.100.10 198.51.100.13 198.51.100.14 198.51.100.17 198.51.100.18 198.51.100.21 198.51.100.22 198.51.100.252 } { traceroute $address source Lo1 } tclquit tclsh foreach address { 8.8.8.8 203.0.113.249 203.0.113.250 198.51.100.253 198.51.100.5 198.51.100.6 198.51.100.9 198.51.100.10 198.51.100.13 198.51.100.14 198.51.100.17 198.51.100.18 198.51.100.21 198.51.100.22 198.51.100.252 } { traceroute $address source Lo2 } tclquit
経路確認
エントリ確認
動作確認 - ホスト別コマンドリスト
Catalyst の PBR は設定した機器で動作確認するコマンドがほぼ存在しない。
- ACL カウンターは動作しない
- show route-map のカウンタもハードウェア転送では動作しない
- 一応 ip local policy route-map で自発トラフィックに PBR がかかるため、これで動作確認することは一応可能
- 下手な設定をすると OSPF がダウンしたりするため、少なくとも商用機で未検証のコンフィグを試すのはやらない方が良い
このため、下位側の機器で ping / traceroute を実施するのが動作確認としてマストとなる。
CE-RT01
- show ip policy
L3SW01
- ping
- traceroute
リファレンス
Cisco
IP Routing Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 3850 Switches)
脚注
- ↑ 以下の位置に戻る: 1.0 1.1 How to Configure PBR ip next-hop recursive and ip next-hop verify availability features are not available and the next-hop should be directly connected.