Routing
不指定網關的 Windows 靜態路由(下一跳)
我有以下情況:
電腦 A:
198.51.100.8
, 網路遮罩255.255.255.0
電腦 B:
203.0.113.9
, 網路遮罩255.255.255.0
兩台電腦在同一個 LAN 網段上;在這兩種情況下都沒有指定預設網關。
為了讓這兩台電腦相互通信,我添加了兩條靜態路由,如下所示:
route add 203.0.113.9 mask 255.255.255.255 198.51.100.8
但是,我更願意通過指定網路介面而不是指定網關 IP 地址來添加靜態路由。
這可以通過使用以下命令在 Linux 上實現:
ip route add 203.0.113.9 dev eth0
同樣在 FreeBSD 中:
route add 203.0.113.9/32 -iface fxp0 -cloning
但是,我不知道如何使用 Windows 執行此操作。理想情況下,我想做類似的事情:
route add 203.0.113.9 mask 255.255.255.255 if 2
但這只是列印出
route
命令的用法,這告訴我我做錯了。我也嘗試過使用netsh
,它告訴我:> netsh routing ip add persistentroute 203.0.113.9 255.255.255.255 "Local Area Connection" Specify the next-hop for non point-to-point interfaces.
有什麼想法或建議嗎?
更新:當我最初發布這個問題時,我使用的是 Windows XP。但我忽略了提及這一點。
我會留下灰熊的原始答案,因為它對我最初的問題是正確的。但是,如果您使用的是比 XP/2003 更新的 Windows 版本,請嘗試其他答案之一。
Windows 可能無法做到這一點
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/route.mspx
Quote: 對於本地連接的子網路由,網關地址是分配給連接到子網的介面的 IP 地址。
0.0.0.0
在 Windows 中,您可以通過作為網關傳遞,在不知道網關的情況下添加基於介面的路由這給出了這樣的東西:
route add <IPtoRoute> mask <MaskOfTheIp> 0.0.0.0 IF <InterfaceNumber> route add 203.0.113.9 mask 255.255.255.255 0.0.0.0 IF 2