スポンサーリンク
スポンサーリンク

cisco [set ip default next-hop] Policy Base Routing (PBR) の仕組み

【概要】
Cisco PBRのコマンドのうち、似たようなコマンド【set ip default next-hop】と【set ip next-hop】
についてCiscoCMLを使って動作を確認したいと思います。

NW構成 (Cisco Modeling Labs利用)

PBR1-1
————————————————–>
通信方向

【set ip default next-hop】

【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向けのルーティングがある場合

PBR1-1

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
PBRALL
スポンサーリンク
スポンサーリンク