【概要】
uRPF(Unicasat Reverse Path Forwarding)
uRPFは送信元IPアドレスを偽造した通信をルータで破棄する機能で、偽造かの判別は、uRPFを設定したルータのルーティングテーブル上に、送信元セグメントのルートがあるか否かとなる。
構成図
- R1/R2/R3はOSPFで全てのセグメントを学習できている
- 現状 [1.1.1.1] -> [3.3.3.3] icmp OK
- 現状 [1.1.1.2] -> [3.3.3.3] icmp OK
uRPFの設定
- R2 Inbound (Gi0/0)にuRPF設定をする
「ip verify unicast source reachable-via rx allow-default」 - R2に[1.1.1.2]をルーティングテーブル上から無くすためdistribute-listで[1.1.1.2]のルートを削除する
uRPF実施
- R2 のルーティングテーブル上[1.1.1.1/32]はありの状態
- R2 のルーティングテーブル上[1.1.1.2/32]は無しの状態
Config
R1-config click
hostname R1 ! interface GigabitEthernet0/0 ip address 10.12.1.1 255.255.255.0 ! interface GigabitEthernet0/1 ip address 1.1.1.254 255.255.255.0 ! router ospf 1 redistribute static subnets network 10.12.1.0 0.0.0.255 area 0 ! ip route 1.1.1.1 255.255.255.255 GigabitEthernet0/1 ip route 1.1.1.2 255.255.255.255 GigabitEthernet0/1 ! control-plane ! end
R2-config click
hostname R2 ! interface GigabitEthernet0/0 ip address 10.12.1.2 255.255.255.0 ip verify unicast source reachable-via rx allow-default //uRPF設定 ! interface GigabitEthernet0/1 ip address 10.23.1.2 255.255.255.0 ! router ospf 1 network 0.0.0.0 255.255.255.255 area 0 distribute-list prefix PL-1.1.1.2 in //routeフィルタ ! ip prefix-list PL-1.1.1.2 seq 5 deny 1.1.1.2/32 //routeフィルタ ip prefix-list PL-1.1.1.2 seq 10 permit 0.0.0.0/0 le 32 //routeフィルタ ! control-plane ! end
R3-config click
hostname R3 ! interface GigabitEthernet0/0 ip address 10.23.1.3 255.255.255.0 ! interface GigabitEthernet0/1 ip address 3.3.3.254 255.255.255.0 ! router ospf 1 passive-interface GigabitEthernet0/1 network 0.0.0.0 255.255.255.255 area 0 ! control-plane ! end
Paket Capture考察
- Capture Point : R2 と R3の間
- 1.1.1.1 -> 3.3.3.3 :R2のルーティングテーブル上に[1.1.1.1]があるため、パケット破棄無し
- 1.1.1.2 -> 3.3.3.3 :R2のルーティングテーブル上に[1.1.1.2]が無いため、パケット破棄されPacket Captureにも出てこない。
【おまけ】R2にデフォルトを設定した場合
R2#show ip route
Gateway of last resort is 10.12.1.1 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 10.12.1.1
O E2 1.1.1.1 [110/20] via 10.12.1.1, 00:42:53, GigabitEthernet0/0
1.1.1.2のルーティングテーブル上に無くても、デフォルトルートがあれば送信元IPアドレスはルーティングテーブル上に存在すると判断し、R2でパケット破棄しない。(uRPFで守ることはできなくなる)
ネットワークの構成上、外部向けにデフォルトルートがある場合はuRPFは不可となる。