如何在 WinXP/Vista 中将 IP 掩码/范围与多个网卡关联

如何在 WinXP/Vista 中将 IP 掩码/范围与多个网卡关联

我在 Windows 上有多个网络接口客户机器。我希望根据目标服务器的 IP(实际上,我更喜欢域名)让一些 IP 流量通过一张卡,而其他流量通过另一张卡。

我看不到使用 Windows GUI 进行配置的方法。

我可以在 WinXP+ 中执行此操作吗?

如果很复杂,那么一些指向好文章的指针就足够了,因为我的谷歌搜索技巧似乎在这里失败了。

答案1

您可以使用“route”命令。本质上,您可以告诉您的机器根据目标 IP 范围将流量发送到不同的网关。从 cmd.exe 中输入“route”以查看使用行为。

以下是我本地机器上“route print”的输出。您可以看到,由于我有一个启用了拆分隧道的 VPN 连接,因此一些网络(由 VPN 服务器定义)被发送到 VPN(172.16.143.151),而一些被发送到我的本地网络接口(192.168.0.16)

C:\Documents and Settings\jj33>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x3 ...00 1f e1 3d 61 06 ...... Dell Wireless 1395 WLAN Mini-Card - Packet Scheduler Miniport
0x10005 ...00 1e 37 fc ca c8 ...... Bluetooth Personal Area Network - Packet Scheduler Miniport
0x100006 ...00 05 9a 3c 78 00 ...... Cisco Systems VPN Adapter - Packet Scheduler Miniport
0x120002 ...00 1d 09 d7 78 65 ...... Broadcom NetXtreme 57xx Gigabit Controller- Packet Scheduler Miniport
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.16       25
         10.0.0.0        255.0.0.0   172.16.143.151  172.16.143.151       1
      69.8.143.78  255.255.255.255   172.16.143.151  172.16.143.151       1
     69.8.147.133  255.255.255.255      192.168.0.1    192.168.0.16       1
        72.4.16.0  255.255.255.248   172.16.143.151  172.16.143.151       1
      72.4.78.130  255.255.255.255   172.16.143.151  172.16.143.151       1
      89.101.16.0    255.255.255.0   172.16.143.151  172.16.143.151       1
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      169.254.0.0      255.255.0.0     192.168.0.16    192.168.0.16       20
       172.16.0.0      255.240.0.0   172.16.143.151  172.16.143.151       1
     172.16.143.0    255.255.255.0   172.16.143.151  172.16.143.151       25
   172.16.143.151  255.255.255.255        127.0.0.1       127.0.0.1       25
   172.16.255.255  255.255.255.255   172.16.143.151  172.16.143.151       25
      192.168.0.0    255.255.255.0     192.168.0.16    192.168.0.16       25
      192.168.0.4  255.255.255.255     192.168.0.16    192.168.0.16       1
     192.168.0.16  255.255.255.255        127.0.0.1       127.0.0.1       25
    192.168.0.255  255.255.255.255     192.168.0.16    192.168.0.16       25
    192.168.100.0    255.255.255.0   172.16.143.151  172.16.143.151       1
    206.220.212.0    255.255.252.0   172.16.143.151  172.16.143.151       1
      216.135.0.0    255.255.252.0   172.16.143.151  172.16.143.151       1
        224.0.0.0        240.0.0.0   172.16.143.151  172.16.143.151       25
        224.0.0.0        240.0.0.0     192.168.0.16    192.168.0.16       25
  255.255.255.255  255.255.255.255   172.16.143.151  172.16.143.151       1
  255.255.255.255  255.255.255.255     192.168.0.16    192.168.0.16       1
  255.255.255.255  255.255.255.255     192.168.0.16          120002       1
  255.255.255.255  255.255.255.255     192.168.0.16           10005       1
Default Gateway:       192.168.0.1
===========================================================================
Persistent Routes:
  None

现在,所有这些都是动态路由。不过,您可以使用 route 命令来复制类似的东西。尝试谷歌搜索“向窗口添加静态路由”更多细节

答案2

无论您使用哪种平台,这个问题都是相似的。首先,我假设您有两个网络适配器,并且它们都连接到同一个子网。如果它们连接到不同的子网,答案是相似的。

用一个例子来说明解决问题的方法:

根据 IP 路由流量

适配器:

  • 答案1:10.20.100.101/24
  • A2:10.20.100.102/24
  • 两者的默认网关:10.20.100.1

目标地址/网络以及您希望如何访问它们:

  • 10.20.100.201通过 A1
  • 10.20.100.202通过 A2
  • 10.20.101.0/24通过 A1
  • 10.20.102.0/24通过 A2

这意味着您要设置以下直接和网关路由。ip routes为简单起见,我使用与 Linux 上类似的符号:

10.20.100.201/32 dev A1
10.20.100.202/32 dev A2
10.20.101.0/24 via 10.20.100.1 dev A1
10.20.102.0/24 via 10.20.100.1 dev A2

如何使这些路由存在、如何引用适当的适配器以及如何使它们持久取决于您使用的操作系统。我将描述如何在 XP 中执行此操作。

首先,您必须识别每个接口的接口号。如上一个答案所述,使用route print。假设前几行显示:

C:\>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x120002 ...00 1d 09 d7 78 65 ...... Broadcom NetXtreme 57xx Gigabit Controller
0x120003 ...00 1d 09 d7 78 66 ...... Broadcom NetXtreme 57xx Gigabit Controller

假设您确定 0x120002 是适配器 A1,而 0x120003 是适配器 A2,那么您可以键入以下命令:

C:\> route -p add 10.20.100.201 mask 255.255.255.255 10.20.100.101 IF 0x120002
C:\> route -p add 10.20.100.202 mask 255.255.255.255 10.20.100.102 IF 0x120003
C:\> route -p add 10.20.101.0 mask 255.255.255.0 10.20.100.1 IF 0x120002
C:\> route -p add 10.20.102.0 mask 255.255.255.0 10.20.100.1 IF 0x120003

使用该-p选项可以使路由持久,这意味着它们在重启后仍然可用。

根据域名路由流量

为此,我将使用相同的方法,但将域名划分为不同的子网,以使路由条目更容易。例如,使用上面的数据:

  • mynetwork1.company.localnet=10.20.101.0/24
  • mynetwork2.company.localnet=10.20.102.0/24

相关内容