概念
Reverse Path Forwarding是一個安全機制,它檢查IP來源是否是合法的區域,一般來說都是看目的地然後轉送,因此檢查來源IP便是逆向的。
為了防止甚麼?如果偽冒一個IP去PING目的端,目的端會回給偽冒的IP,然後被偽冒的端就會收到目的端的封包。這是一種攻擊手法。如果做了反向路徑檢查,就會發現偽冒的IP不是來自Routing Table上的方向,然後drop。
找到不錯的影片講解:[Chin] DoS、DDoS攻擊原理說明與Cisco解決方案uRPF(unicast Reverse Path Forwarding)
uRPF有三種設定模式
Strict嚴格:看 來源端的IP 跟 來源端的介面。來源端介面不能到來源端IP則drop。
Loose寬鬆:只看 來源端的IP。
VRF:跟Loose一樣,但只作用於VRF上。
※在Cisco設備上,CEF需要啟用,才能運作uRPF。
一般來說uRPF是不會拿default route做檢查,如果Router從default route來了一個沒有學到網段的封包,就會drop。這裡可以下指令,避免被錯誤drop。
ip verify unicast source reachable-via {rx | any} allow-default
然後uRPF也不能自己ping自己,如從Loopback去ping到Gigabitethernet0/0,在uRPF啟用時,這樣的封包會被drop,但可以下指令避免。
ip verify unicast source reachable-via {rx | any} allow-self-ping
實戰
uRPF – Strict與Loose:比較這兩者的差別,順便帶入allow-default跟allow-self-ping。