将 169.254.*.* IP 地址 NAT 为 192.168.*.*

将 169.254.*.* IP 地址 NAT 为 192.168.*.*

我有一台机器,其静态 IP 在 169.254 范围内。并且无法更改。我需要从另一个网络访问它。我的想法是使用路由器,并将 WAN 端口设置为 192.168。设备且 LAN 端口为 192.168.设备。我尝试配置路由器的 LAN 地址为 169.254.1.1,但它不喜欢这个 IP 地址。我还能做什么来实现这个 NAT?

答案1

IPv4169.254.0.0/16地址范围是 Link-Local,无法进行路由。

RFC 6890,专用 IP 地址注册表

                +----------------------+----------------+
                | Attribute            | Value          |
                +----------------------+----------------+
                | Address Block        | 169.254.0.0/16 |
                | Name                 | Link Local     |
                | RFC                  | [RFC3927]      |
                | Allocation Date      | May 2005       |
                | Termination Date     | N/A            |
                | Source               | True           |
                | Destination          | True           |
                | Forwardable          | False          |
                | Global               | False          |
                | Reserved-by-Protocol | True           |
                +----------------------+----------------+

                        Table 5: Link Local

此外,该范围内的地址无法静态分配,因为它们无法执行重复地址检测,如果发现重复则更改寻址。

RFC 3927,IPv4 链路本地地址的动态配置

1.6. 禁止替代使用

请注意,169.254/16 前缀中的地址不应手动配置或由 DHCP 服务器配置。手动或 DHCP 配置可能会导致主机使用 169.254/16 前缀中的地址,而不遵循与此前缀中的地址相关的重复检测和自动配置的特殊规则。虽然 DHCP 规范 [RFC2131] 表明 DHCP 客户端应该使用 ARP 探测新收到的地址,但这并不是强制性的。同样,虽然 DHCP 规范建议 DHCP 服务器应该在分配地址之前使用 ICMP 回显请求探测地址,但这也不是强制性的,即使服务器这样做,IPv4 链路本地地址也是不可路由的,因此未直接连接到链路的 DHCP 服务器无法检测该链路上的主机是否已在使用所需的 IPv4 链路本地地址。

希望配置自己的本地地址(使用手动配置、DHCP 服务器或本文档中未描述的任何其他机制)的管理员应该使用现有的私有地址前缀之一 [RFC1918],而不是 169.254/16 前缀。

答案2

具有固定地址的工业设备可以通过 NAT 路由器(例如 AB 1783-NATR)进行连接。1:1 NAT 路由的一个要求是公网和私网必须是完全不同的网络地址。公网地址可能是:169.156.1.x,私网地址可能是 192.168.1.x

关联http://ab.rockwellautomation.com/Networks-and-Communications/Network-Address-Translation-Device

相关内容