路由器后面有一个设备,比如 192.168.0.2,并且在端口 22 上启用了 ssh。在路由表中指定的 Gw 地址为 192.168.0.1。
还有一个路由器,192.168.0.1
我正在创建一个端口转发规则以从 wan 访问设备。
source - port - destination - port
0 - 22 - 192.168.0.2 - 22
因此,任何来自 wan 端口 22 的人都可以访问该设备。
但是,当我从设备的路由表中删除 gw 地址(192.168.0.1)时,端口转发不再起作用。
我不明白的就在这里;
- 在本地网络路由器和设备可以互相访问。如果路由器中有 ssh 客户端应用程序,无论设备中是否设置了网关,我都可以连接到设备。因此,本地网络正在路由器的 ETH0 接口上工作。
- 端口转发应该将来自特定端口上的 WAN 接口的所有包路由到位于 LAN 接口后面的特定 IP 的特定端口。
- 请求来自 WAN,这意味着通信由远程设备启动。在这种情况下,本地设备应该与网关地址无关,因为它只是响应来自 gw 的 LAN 接口的请求。
- 当设备发送响应时,路由器应将其发送给远程客户端。
在这种情况下,我认为没有必要将 gw 地址输入设备。
我在哪一点上错了?