一.说明

 处理一故障,一台主机在思科路由器上做了一对一的静态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