为什么EIGRP和OSPF的路由协议包无法通过设置了NAT地址翻译的端口,而RIP可以。

debug ip nat显示, translation failed(F), dropping packets

这个括号里面的大写的F是什么?
tcpip路由技术卷2的249页写的有,但是不详细,请详细解答,多谢。
谢谢解答。
配置很简单,都不用配置第二个路由器,就可以看到效果。
------------------------------------------------------------
interfaceFastEthernet0/0
ip address192.168.0.1 255.255.255.252
ip nat outside
ipvirtual-reassembly
duplexauto
speed auto
!
router eigrp 90
network192.168.0.1 0.0.0.0
auto-summary

ip nat insidesource list 1 interface FastEthernet0/0 overload
!
access-list 1permit any
-------------------------------------------------------
这时候如果开了debug ip nat 就会看到:
NAT: translation failed (F), dropping packet s=192.168.0.1 d=224.0.0.10

抓包的话,什么都抓不到。
谢谢各位。
PS: 如果ACL中deny掉224.0.0.10,就可以了,但是就是想知道为什么不可以。

把你nat设备的配置发一下,我大概知道你怎么回事了。在确定一下

其实这个问题就在于overload这一关键词,为什么rip可以发过去。因为rip使用udp 520端口,使用overload这关键词就意味着使用端口映射功能,nat转换表中会对520端口做映射,ospf,eigrp为什么过不去?是因为他们只有协议号,没有端口号。所以pat做不了映射就drop了,但其中有个特例就是icmp,不需要端口号也能做端口映射。不信的话你改成static就能过了,因为静态nat不需要端口号。这就跟nat-T原理类似。
有不明白再问,你这问题挺有意思,我也想了下。
温馨提示:答案为网友推荐,仅供参考
相似回答