Cisco NAT 发夹

网络工程 思科 路由 路由器 纳特
2021-07-21 21:12:49

我有一个配置了 NAT(4 个静态 NAT 和动态 NAT)的 Cisco 路由器。我的问题是我无法使用来自内部网络的公共 IP 地址访问内部服务器。

我知道问题是什么。我做了很多关于这个问题的谷歌搜索,我了解到大多数防火墙/路由器会自动处理这种情况。

在 Cisco 的情况下,NAT 发夹是解决方案之一(我不知道我是否正确)。我怎样才能做到这一点?。

在此处输入图片说明

我需要使用202.192.68.235我 PC 上的 IP 地址访问服务器,但我不能。

3个回答

NVI NAT 已经由 Aaron D 提出。

这是一个工作示例的相关配置位。它是在带有 IOS 15.4(3)M6a 的 CISCO881 上完成的

Outside network: 172.19.31.0 /24   on  FastEthernet4
Inside network:  172.19.140.0 /23  on VLAN141/SVI141
exposed host:    172.19.141.24
external port:   2222
internal port:   22

接口配置:

interface FastEthernet4
 ip address 172.19.31.2 255.255.255.0
 ip nat enable

interface Vlan141
 ip address 172.19.140.1 255.255.254.0
 !
 ! hairpinning did not work until ip redirects were disabled
 !
 no ip redirects
 ip nat enable

NAT ACL:

ip access-list standard ACLv4_SUBNET141
 permit 172.19.140.0 0.0.1.255

NAT规则:

ip nat source static tcp 172.19.141.24 22 interface FastEthernet4 2222
ip nat source list ACLv4_SUBNET141 interface FastEthernet4 overload

简而言之:

  1. 将相关接口设置为“ip nat enable”而不是“ip nat in/outside”,并稍微修改NAT规则。
  2. 确保存在 NVI NAT 样式的出站策略,否则发夹式主机将无法将出站或发夹式连接到自身。
  3. 在“内部”接口上禁用 ip 重定向,否则发夹(至少不是来自主机本身)将不起作用。

注意: NVI NAT 可能会对 800 系列等低端路由器的 CPU 造成很大负担。我的旧 881 过去能够通过经典 NAT 提供 50-60Mbit/s 的速度,切换到 NVI 导致吞吐量下降到 20-30Mbit/s,并且在负载下 CPU 会发出红色光。

当实际上没有使用要被发夹的转换时,情况也是如此,只是流量与正常的“接口...过载”出站 NAT 规则匹配。

在 ASA 上,这很容易。在路由器上,我认为您可以设置 Nat/NVI 来实现您想要的。

试试这个:Cisco Router Easy Hairpin NAT

这是端口转发到同一网络的情况。对于此类 DMZ 设置,首选发夹式或使用本地 DNS 来解析此类内部服务器。除了它们之外,还有一个等效的解决方案。

解决方案是为您的 LAN 区域设置DNAT 规则,以便来自本地客户端的目标 ip 为202.192.68.235的数据包可以转换为10.0.6.35并由路由器路由回同一网络。

但同样的问题是服务器将尝试直接回复客户端,因为它属于同一网络。现在要让服务器通过路由器回复客户端我们需要添加一个SNAT 规则,使源成为路由器。

您的 SNAT 规则应该非常具体,以便它仅适用于来自本地子网且目的地为 10.0.6.35 的流量。这肯定会解决您的问题。

总而言之,您必须为 LAN 接口添加 DNAT 和 SNAT 规则。