我有一台有 2 个网络接口的机器。网络本身如下所示
| access point | wi-fi | my machine | | 2-nd machine |
| 192.168.1.1 | --------- | 192.168.1.37 | Ethernet | |
Internet ---- | 76.77.15.87 | | 192.168.0.1 | --------- | 192.168.0.2 |
我发现了如何在 Windows 机器上设置路由:
http://www.home-network-help.com/ip-forwarding.html
我完全按照上面说的做了。在我的机器上
1. Set HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/IPEnableRouter to 1
2. Setup the blank default gateway on my machine for 192.168.0.1 interface
3. Rebooted the machine
4. Turned off the firewall (just in case)
在第二台机器上设置192.168.0.1作为默认网关。
但它仍然不起作用:
第二台机器可以ping 192.168.0.1
工作。ping 192.168.1.1
但是不工作。
在我的機器上ping 192.168.1.1
工作。
这里可能有什么问题?如何调试?
答案1
由于子网路由,机器可以访问同一本地子网中的其他机器。由于默认路由,机器可以访问网关可以访问的任何设备。但这些都不适用于试图访问 ping 它的机器的接入点。因此 ping 回复无法返回到源机器。您需要添加子网路由。
一般来说,每个作为其他设备默认网关的设备都应该有一条通往每个本地子网的路由,除非其默认网关是另一个本地设备。我假设您的接入点是其他设备的默认网关,并且其默认网关不是本地的,因此它应该有一条通往每一个本地子网。如果我没有看错的话,接入点需要知道发往的数据包192.168.0.0/24
应该被发送到192.168.1.37
。