Unicast RPF,单播逆向转发

Unicast Reverse Path Forwarding (Unicast RPF,单播逆向转发)
Unicast RPF 这个功能可以帮助我们减轻(注意不是完全避免,是减轻)伪造的源IP地址(IP Spoofing,IP地址欺骗)的数据包通过路由器所带来的问题。
1.基本概念
Unicast RPF对于进入网络中的那些源IP地址“无法证实”的IP数据包进行丢弃以防止地址欺骗。举个例子来说,对于DoS攻击,攻击者会利用伪造的或者是不断改变的源IP地址以防止攻击被定位或过滤。对于此类攻击,Unicast RPF只转发那些源IP地址在路由表中存在并有效的数据包。
当Unicast RPF在某个接口上启用,路由器检查所有进入此接口的数据包,确定其源IP地址和源接口在路由表中存在。这种“向后看”的能力只有当Cisco express forwarding (CEF) 启用时才生效,因为其依赖于Forwarding Information Base (FIB),FIB是CEF生成的。

注意: Unicast RPF只能在接口的input方向上。
Unicast RPF检查从某个接口上进入路由器的数据包,通过FIB判断该数据包是否通过最优路径到达,如果是,则正常转发,如果找不到逆向(返回源)的路径,说明该数据包的源IP可能被修改,这时需要通过ACL来判定对该数据包是转发还是丢弃。在接口启用Unicast RPF时,ACL是可选项,如果没有配置ACL,则对于找不到逆向路径的数据包会被丢弃!
当数据包到达一个配置了Unicast RPF和ACl的接口,路由器进行以下操作:
Step 1 利用接口上Input方向的ACL对数据包进行检查。
Step 2 Unicast RPF 检查是否有返回源的最佳路径。
Step 3 完成FIB查找。
Step 4 利用出站接口上Output方向的ACL对数据包进行检查。
Step 5 转发数据包。
2.配置命令
(config)# ip cef //启用CEF
(config)# interface 接口名
(config-if)# ip verify unicast reverse-path [ACL编号] //在接口上启用Unicast RPF,ACL为可选项。
查看命令:
# show ip traffic
# show ip interface 接口名
# show access-lists
3.下面用例子说明一下:
ip cef
interface serial 0/0
ip verify unicast reverse-path
这个例子中;从serial 0/0口进入的数据包如果找不到逆向路径则丢弃!
ip cef
int eth 0/1
ip address 192.168.200.1 255.255.255.0
ip verify unicast reverse-path 197
access-list 197 deny ip 192.168.201.0 0.0.0.63 any log-input
access-list 197 permit ip 192.168.201.64 0.0.0.63 any log-input
access-list 197 deny ip 192.168.201.128 0.0.0.63 any log-input
access-list 197 permit ip 192.168.201.192 0.0.0.63 any log-input
access-list 197 deny ip host 0.0.0.0 any log
这个是将Unicast RPF和ACL一起使用的例子。

 

你可能感兴趣的:(unicast,RPF,单播逆向转发)