我有两个网络连接到我的 Windows 7 PC:
- 192.168.9.0/24 - 可访问互联网的无线网络
- 192.168.23.0/24-我的私人网络
wifi卡IP:192.168.9.23;我的私网IP:192.168.23.2
我想在我的 Windows 7 机器上设置这些网络之间的双向隧道。我已经看到了Windows 7 设置两个网络之间的路由和如何将 Win7 PC 设置为路由器?
C:\Windows\system32>ipconfig /all
Konfiguracja IP systemu Windows
Nazwa hosta . . . . . . . . . . . : Amamiya
Sufiks podstawowej domeny DNS . . :
Typ węzła . . . . . . . . . . . . : Hybrydowy
Routing IP włączony . . . . . . . : Tak
Serwer WINS Proxy włączony. . . . : Nie
(抱歉,它是波兰语的,因为 Windows 似乎无法理解人们想要选择语言……无论如何,它显示“IP 路由已启用:是”)
我的路由表(为了清楚起见,不包括广播/多播/本地主机):
192.168.9.0 255.255.255.0 On-link 192.168.9.23 279
192.168.9.23 255.255.255.255 On-link 192.168.9.23 279
192.168.9.255 255.255.255.255 On-link 192.168.9.23 279
192.168.23.0 255.255.255.0 On-link 192.168.23.2 21
192.168.23.2 255.255.255.255 On-link 192.168.23.2 276
192.168.23.255 255.255.255.255 On-link 192.168.23.2 276
从 Windows PC 上一切正常 - 我可以正确访问互联网和我的专用网络。现在我希望能够在这两个子网之间路由(通过我的 Windows PC),但它似乎不起作用。
尝试从 Windows 计算机和我的私有子网 ping 192.168.9.1(无线路由器)。从 Windows 计算机可以 ping 通,但从私有子网 ping 通后,虽然可以正确转发 ping 到我的 Windows 计算机(使用 wireshark 验证),但没有收到任何回复。
我在设置中遗漏了什么吗?是否有任何防火墙设置阻止子网之间的转发流量?
答案1
回答我自己的问题,因为我能够找出问题所在。
网络布局:
192.168.23.0/24 192.168.9.0/24
----------------------- ------------------------
192.168.23.5 (server)
192.168.23.1 (router)
192.168.23.2 (----- windows -----) 192.168.9.23
192.168.9.1 (floor router)
有两个问题,都不是 Windows 端的问题(另一个也是 Windows 端的问题,但与路由无关):
Windows 正确地传输了消息,但楼层路由器不知道将回复发送到哪里。通过我的 Windows PC 向 192.168.23.0/24 添加静态路由后,我能够从子网内部访问 192.168.9.0/24。
由于某种原因,当从我的子网外部访问服务器时,服务器的回复会丢失(除非服务器直接访问发送请求的 IP)。路由器上设置了转发,但服务器发送回复时它没有回答“重定向主机”,因此除非服务器已经缓存了正确的路由,否则回复会丢失。我不得不将路由 192.168.23.0/24 -> 192.168.9.0/24 从路由器配置直接移动到 Linux 服务器。
route add -net 192.168.9.0/24 gw 192.168.23.2
直接在服务器上后,一切开始正常工作。
至于为什么我一开始没有注意到 Windows 正在正确转发数据包,那是因为我没有注意到我在 wireshark 中只监听一个网络设备...
第三个问题(与 Windows 相关,但与路由无关)是,在我设法正确设置所有东西之后,第一件事就是网卡驱动程序中出现 BSOD 0x000000D1...更新了驱动程序,现在一切正常。