一对一 NAT,仅在 WAN 上有效?

一对一 NAT,仅在 WAN 上有效?

我们正在尝试在 Cisco RV180 路由器上测试一对一 NAT 配置,Cisco SMB 支持表示下面的设置不起作用。(他们似乎是对的)我知道这与 ARP 条目有关。

ISP Gateway
    |
    | (public IP block)
    |
   WAN
  NAT Router
   LAN
    |
    +----Computers connecting to the internet (192.168.1.*)
    |
   WAN
  NAT Router (this one with the One To One NAT rules)
   LAN
    |
   Computers that run webservers (192.168.2.*), each needing their own (192.168.1.*) IP address on the WAN of their router.

据说,如果我们需要进行实验室测试,就应该使用这种布局:

   LAN
  NAT Router (for simulation purposes only)
   WAN
    |
   WAN
  NAT Router (this one with the One To One NAT rules.)
   LAN
    |
   Computers that run webservers (192.168.2.*), each needing their own IP address on the WAN of their router.

该布局不保证能起作用。

但他们确实表示,以下是安全的选择:

  ISP Router
    |
    | (public IP block)
    |
   WAN
  NAT Router (this one with the One To One NAT rules.)
   LAN
    |
   Computers that run webservers (192.168.2.*), each needing their own (public) IP address on the WAN of their router.

我的问题

请解释一下一对一 NAT 设置的要求是什么,以及如何使 ARP 条目正常工作。

如果您有更多关于如何在“一对一 NAT”情况下保留 ARP 的信息,那将非常有帮助。

答案1

您的问题如下:

  • 计算机 192.168.1.A 尝试 ping 192.168.1.B。A 物理上位于网络上,B 应与 192.168.2.C 进行 1:1 NAT
  • 内核确定 192.168.1.B IP 应该位于同一以太网段,因此它使用“直接传送”(无需网关路由器)。它发送 ARP 请求“谁有 192.168.1.B”?
  • 因为实际上没有计算机拥有 192.168.1.B,所以没有答复,并且请求以“目标主机不可达”结束。

有一些可能的解决方案:

  • 将 192.168.1.B IP 放在 NATting 路由器的 WAN 接口上(这将引导其上的流量,并且可以正确进行 NATting/转发)。这应该可以在任何可配置的路由器上实现(如果您在使用 Cisco 时遇到问题,请尝试使用 Linux 作为路由器,或查看其他解决方案(如 Mikrotik),这些解决方案通常提供更好的价格/功能比)
  • 将网络桥接在一起,并将 192.168.1.B IP 添加到 192.168.2.C 计算机的以太网接口 - 这很干净且简单,我推荐此解决方案。
  • 如果您忽略了 NAT 地址必须来自 192.168.1.0/24 范围的要求,您也可以创建一个完全虚拟的地址空间(例如 192.168.3.0/24)。在主(上)路由器上,设置一条将所有 192.168.3.0/24 流量定向到内部(下)路由器的路由。在下路由器上,创建从 192.168.3.B 地址到 192.168.2.C 的 NAT。

希望有帮助

相关内容