NAT翻译之谜

网络工程 路由器 ipv4 虚拟专用网 纳特
2021-07-13 17:31:13

我们有一个邮件服务器,它的私有地址在 Cisco 路由器上被转换为公共地址。我们使用以下命令将其一对一映射:

ip nat inside source static 192.168.7.7 198.51.100.7 route-map Deny_on_VPN

Deny_on_VPN路由映射没有 set 子句,但仅阻止流量在发送到 VPN 上的远程位置时被 NAT 转换,没有什么特别的。同样在外部接口 ACL 上,我们允许传入流量到邮件功能所需的端口(IMAP、POP3、SMTP、Web 客户端)。

翻译过程中发生了一些奇怪的事情。我看了看show ip nat translations | include 192.168.7.7传入的流量端口转换得很好,比如198.51.100.7:25 to 192.168.7.7:25. 但是带有随机源端口的传出流量正在被转换成这样:192.168.7.7:58634 to 198.51.100.7:80,并且始终是第 80 个端口。它对 TCP 和 UDP 数据包执行相同的操作。

我不明白为什么会发生这样的事情。也许你们中的任何一个网络人都可以帮助我。如果您需要任何其他信息,请告诉我。


更新:

端口地址转换配置(针对用户):

ip nat pool ovrld 198.51.100.30 198.51.100.31 prefix-length 27
ip nat inside source list 107 pool ovrld overload

PAT 源列表 ACL(邮件服务器在第一行被 PAT 阻止):

router#show access-lists 107
Extended IP access list 107
    10 deny ip host 192.168.7.7 any (2922102 matches)
    --- Omitted as it is irrelevant ---
    9999 permit ip any any

来自外部接口的入站 ACL 的相关线路:

router#show access-lists FILTER_IN
Extended IP access list FILTER_IN
    110 permit tcp any host 198.51.100.7 eq pop3 (3197667 matches)
    120 permit tcp any host 198.51.100.7 eq smtp (4812814 matches)
    130 permit tcp any host 198.51.100.7 eq 143 (299804 matches)
    140 permit tcp any eq domain host 198.51.100.7 (9 matches)
    150 permit udp any eq domain host 198.51.100.7 (120634 matches)
    160 permit tcp any eq www host 198.51.100.7 (271241 matches)
    170 permit tcp any eq smtp host 198.51.100.7 (1033371 matches)
    180 permit icmp any host 198.51.100.7 (18075 matches)
    190 permit tcp any host 198.51.100.7 eq www
    200 deny ip any host 198.51.100.7 (17811 matches)
    210 permit ip any any (4259977862 matches)

VPN_Deny路由映射阻止从内部网络到分支机构子网的流量被 NAT 转换。没有固定条款。

注意: ACL 拒绝在过载池上转换邮件服务器地址。

注意: 198.51.100.0/24来自TEST-NET-2范围。

1个回答

这并没有真正回答我的问题,为什么 NAT 总是使用第 80 个端口作为传出流量的源端口,但至少我想出了如何解决这个问题。

我创建了一个访问列表来匹配来自邮件服务器的流量,并为其创建了一个包含一个公共地址的池。

ip access-list extended 109
 !!! Restrict NAT for branch office destinations
 deny ip host 192.168.7.7. 192.168.0.0 0.0.255.255
 permit ip host 192.168.7.7 any
ip nat pool MAIL 198.51.100.7 198.51.100.7 prefix-length 27
ip nat inside source list 109 pool MAIL

还有……瞧!它现在在发送流量时保留源端口号。并且我们的邮件不再被某些外部 MTA 邮件服务器阻止。


更新:

所以现在我尝试恢复到:

ip nat source static 192.168.7.7 198.51.100.7 route-map Deny_On_VPN

它实际上开始按预期转换地址和端口 - 一对一。我真的不明白这是怎么回事,也许是一个错误?希望从现在开始它会一直这样运行。我想,我会看看IOS发布说明