【概要】
Cisco PBRのコマンドのうち、似たようなコマンド【set ip default next-hop】と【set ip next-hop】
についてCiscoCMLを使って動作を確認したいと思います。
NW構成 (Cisco Modeling Labs利用)
————————————————–>
通信方向
【set ip default next-hop】
宛先セグメントがルーティングテーブル内に存在する場合
PBRを行わずに、ルーティング テーブルに基づいてパケット転送
例として、以下のように5.5.5.0/24のルーティングエントリーがあれば、5.5.5.0/24向けの通信に対して
【set ip default next-hop】は利用しないことを意味する。
R1#show ip route O 5.5.5.0 [110/201] via 10.12.1.2, 00:00:05, GigabitEthernet0/1
ip access-list extended PBR permit ip host 192.168.1.100 host 5.5.5.5 route-map R-MAP permit 10 match ip address PBR set ip default next-hop 10.13.1.3 //このnext-hopは使われない
宛先 IP アドレスがルーティングテーブル内に存在しない場合
PBRにしたがって、設定したネクストホップにパケットを送信する
例として、以下のように5.5.5.0/24のルーティングエントリーが存在なけなれば、5.5.5.0/24向けの通信に対して
【set ip default next-hop】は利用することを意味する。
O 5.5.5.0 [110/201] via 10.12.1.2, 00:00:05, GigabitEthernet0/1
ip access-list extended PBR permit ip host 192.168.1.100 host 5.5.5.5 route-map R-MAP permit 10 match ip address PBR set ip default next-hop 10.13.1.3 //このnext-hopに転送
ルーティング設定状況
全ルータ(R1~R5)はOSPFでルーティングし、PC1/PC2⇒PC3宛の通信の場合R1->R2->R5->PC3が最短になるようコストを調整しています。
Config
R1
hostname R1 ! interface GigabitEthernet0/0 ip address 192.168.1.254 255.255.255.0 ip policy route-map R-MAP ! interface GigabitEthernet0/1 ip address 10.12.1.1 255.255.255.0 ip ospf cost 100 ! interface GigabitEthernet0/2 ip address 10.13.1.1 255.255.255.0 ip ospf cost 200 ! interface GigabitEthernet0/3 ip address 10.14.1.1 255.255.255.0 ip ospf cost 300 ! router ospf 1 passive-interface GigabitEthernet0/0 network 0.0.0.0 255.255.255.255 area 0 ! ip access-list extended PBR permit ip host 192.168.1.100 host 5.5.5.5 ! route-map R-MAP permit 10 match ip address PBR set ip default next-hop 10.13.1.3 ! access-list 5 deny 5.5.5.0 0.0.0.255 access-list 5 permit any ! control-plane ! end
R2
hostname R2 ! interface GigabitEthernet0/0 ip address 10.12.1.2 255.255.255.0 ip ospf cost 100 ! interface GigabitEthernet0/1 ip address 10.25.1.2 255.255.255.0 ip ospf cost 100 ! router ospf 1 network 0.0.0.0 255.255.255.255 area 0 ! control-plane ! end
R3
hostname R3 ! interface GigabitEthernet0/0 ip address 10.13.1.3 255.255.255.0 ip ospf cost 200 ! interface GigabitEthernet0/1 ip address 10.35.1.3 255.255.255.0 ip ospf cost 200 ! router ospf 1 network 0.0.0.0 255.255.255.255 area 0 ! control-plane ! end
R4
hostname R4 ! interface GigabitEthernet0/0 ip address 10.14.1.4 255.255.255.0 ip ospf cost 300 ! interface GigabitEthernet0/1 ip address 10.45.1.4 255.255.255.0 ip ospf cost 300 ! router ospf 1 network 0.0.0.0 255.255.255.255 area 0 ! control-plane ! end
R5
hostname R5 ! interface GigabitEthernet0/0 ip address 5.5.5.254 255.255.255.0 ! interface GigabitEthernet0/1 ip address 10.25.1.5 255.255.255.0 ip ospf cost 100 ! interface GigabitEthernet0/2 ip address 10.35.1.5 255.255.255.0 ip ospf cost 200 ! interface GigabitEthernet0/3 ip address 10.45.1.5 255.255.255.0 ip ospf cost 300 ! router ospf 1 passive-interface GigabitEthernet0/0 network 0.0.0.0 255.255.255.255 area 0 ! control-plane ! end
R1にPC3向けのルーティングがある場合
O 5.5.5.0 [110/201] via 10.12.1.2, 00:00:05, GigabitEthernet0/1
PC1のTracerouteより (ルーティングテーブルに従って)
PC1 ⇒ R1 ⇒ R2 ⇒ R5 ⇒ PC3 の経路で通信を行う。
R1にPC3向けのルーティングがない場合
O 5.5.5.0 [110/201] via 10.12.1.2, 00:00:05, GigabitEthernet0/1
※検証では、R1のOSPF distribute-list inで5.5.5.0/24 エントリーをルーティングテーブルに載せない
PC1のTracerouteより(set ip default next-hopに従って)
PC1 ⇒ R1 ⇒ R2 ⇒ R5 ⇒ PC3 の経路で通信を行う。
関連showコマンド
R1#show route-map R-MAP route-map R-MAP, permit, sequence 10 Match clauses: ip address (access-lists): PBR Set clauses: ip default next-hop 10.13.1.3 Policy routing matches: 347 packets, 28344 bytes
R1#show ip access-lists PBR 10 permit ip host 192.168.1.100 host 5.5.5.5 (347 matches)
R1#show ip policy Interface Route map Gi0/0 R-MAP
debug ip policy
宛先 IP アドレスがルーティングテーブル内に存在する場合
normal forwarding !
*Mar 9 08:47:08.550: IP: s=192.168.1.100 (GigabitEthernet0/0), d=5.5.5.5, len 84, FIB policy match *Mar 9 08:47:08.550: IP: s=192.168.1.100 (GigabitEthernet0/0), d=5.5.5.5, len 84, PBR Counted *Mar 9 08:47:08.550: IP: s=192.168.1.100 (GigabitEthernet0/0), d=5.5.5.5, len 84, FIB policy rejected(explicit route) - normal forwarding
宛先 IP アドレスがルーティングテーブル内に存在しない場合
FIB policy routed !
*Mar 9 08:51:31.803: IP: s=192.168.1.100 (GigabitEthernet0/0), d=5.5.5.5, len 84, FIB policy match *Mar 9 08:51:31.803: IP: s=192.168.1.100 (GigabitEthernet0/0), d=5.5.5.5, len 84, PBR Counted *Mar 9 08:51:31.803: IP: s=192.168.1.100 (GigabitEthernet0/0), d=5.5.5.5, g=10.13.1.3, len 84, FIB policy routed