![无法使静态路由和 NAT 协同工作](https://linux22.com/image/1500929/%E6%97%A0%E6%B3%95%E4%BD%BF%E9%9D%99%E6%80%81%E8%B7%AF%E7%94%B1%E5%92%8C%20NAT%20%E5%8D%8F%E5%90%8C%E5%B7%A5%E4%BD%9C.png)
我家的 LAN 是一个相当标准的 192.168.2.0/24 网络,网关为 192.168.2.1,并在 100 多个地址上配置了 DHCP华硕路由器(RT-AC66U)。WAN 通过 ISP 的 DHCP 配置。
我的目标是访问一台机器172.16.5.31在 172.16.5.0/24 网络上,从我家 LAN 上的任何一台机器。我可以物理访问该机器所连接的交换机,但无法访问该网络的路由器。
为了朝着这个目标迈出第一步,我买了另一台路由器(dd-wrt),将 WAN 网络配置为 172.16.5.0/24,WAN IP 为 172.16.5.37,将 LAN 端配置为 192.168.2.0/24,192.168.2.98IP。NAT 已激活。无 DHCP。WAN 或 LAN 上均未定义网关。WAN 端口插入位于 172.16.5.0/24 的交换机。
在 IP 为 192.168.2.67、网关为 192.168.2.98 的笔记本电脑上手动设置网络,仅通过该 dd-wrt 即可正常工作。但我想使用该 dd-wrt 作为我家 LAN 的一个组件来访问另一个网络。因此,我将两个路由器的 LAN 端连接在一起,并在我的 ASUS 路由器上创建了一条静态路由,如下所示:主机 IP:172.16.5.31、网络掩码 255.255.255.0 、网关192.168.2.98(dd-wrt LAN IP),接口 LAN。但是,使用该配置后,我收到无法访问主机的错误。
我的想法是让一个设备发出请求172.16.5.31数据包会发送到通常的家庭 LAN 路由器,然后重定向到 dd-wrt 路由器(静态路由),然后 dd-wrt 路由器会执行 NAT,并将回复数据包路由回设备。但是这不起作用,我想知道我做错了什么/假设错了什么。
答案1
它必须能工作(除了可能的华硕固件错误)
但是您设置了错误的静态路由,(我不知道 ASU 如何解释您的设置):
主机 IP:172.16.5.31,网络掩码 255.255.255。255,网关 192.168.2.98
或者访问所有 172.16.5.0/24 网络
主机IP:172.16.5。0、网络掩码 255.255.255.0 、网关 192.168.2.98
第二次尝试:
如果您需要从一台(或多台)PC 访问,请在 PC 上添加静态路由。
对于 Windows(需要以管理员身份运行)
route -p add 172.16.5.0 MASK 255.255.255.0 192.168.2.98
为了实验,您可以跳过 -p 键,然后重新启动时效果就会消除。