一.说明
处理一故障,一台主机在思科路由器上做了一对一的静态NAT,从外面能正常通过NAT后的地址ssh登录该设备,但是该主机发送syslog,出来的地址却不是静态NAT后的地址,为路由器接口的地址。
二.原因
经过查看路由器的配置,除了做了静态NAT配置,还做了动态PAT的配置,但是动态配置ACL在前面增加该主机映射的内网地址的deny后,仍然没有效果。登录设备之后,才发现,映射的内网地址,其实是网卡的浮动地址,因为主机主动与外界通讯,不会以浮动地址作为源地址,所以该地址出去时做PAT。
三.解决方法
1.假定:
内网浮动地址:172.16.1.2
内网实际地址:172.16.1.1
内网浮动地址对外一对一映射的全局地址:10.101.16.1
接收syslog的主机地址:10.102.1.1
2.保留原有的虚地址的静态一对一的nat
ip nat inside source static 172.16.1.2 10.101.16.1
2.修改原有的PAT配置,增加首先拒绝syslog出去的包
ip access-list extended pat
deny udp host 172.16.1.1 host 10.102.1.1 eq syslog
permit ip any any
ip nat inside source list pat interface GigabitEthernet0/0 overload
3.增加PAT配置,全局地址的地址池地址为内网浮动地址映射的全局地址
ip access-list extended outpat
permit udp host 172.16.1.1 host 10.102.1.1 eq syslog
ip nat pool outpatpool 10.101.16.1 10.101.16.1 netmask 255.255.255.0
ip nat inside source list outpat pool outpatpool overload