如何通过不同的网络接口路由不同的流量(在Windows中)


29

我已经搜索了有关执行此操作的详细信息,但未成功-我想知道是否有人可以提供一些建议。

因此,假设我有2个网卡(在我的实例中为LAN和3G),都分配了动态IP地址。LAN接口是我的公司LAN,我想将3G接口用于所有其他访问(即t'internet!)。

我几乎没有网络经验,但是我的感觉是我应该能够将3G卡设置为默认网关,然后通过LAN接口强制一组已知子网的所有流量。

这是路线图

===========================================================================
Interface List

 40...........................Vodafone Mobile Connect
 12...00 16 cf 87 71 22 ......Dell Wireless 1500 Draft 802.11n WLAN Mini-Card
 11...00 15 c5 58 47 24 ......Broadcom NetXtreme 57xx Gigabit Controller
 24...00 50 56 c0 00 01 ......VMware Virtual Ethernet Adapter for VMnet1
 25...00 50 56 c0 00 08 ......VMware Virtual Ethernet Adapter for VMnet8
  1...........................Software Loopback Interface 1
 26...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 21...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
 23...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4   
 28...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #6
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
    Netork Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0     10.183.148.5   10.183.148.157   4235
          0.0.0.0          0.0.0.0     10.183.148.6   10.183.148.157   4235
          0.0.0.0          0.0.0.0     10.183.148.7   10.183.148.157   4235
          0.0.0.0          0.0.0.0         On-link      10.57.175.79     31
     10.57.175.79  255.255.255.255         On-link      10.57.175.79    286
     10.183.148.0    255.255.255.0         On-link    10.183.148.157   4491
   10.183.148.157  255.255.255.255         On-link    10.183.148.157   4491
   10.183.148.255  255.255.255.255         On-link    10.183.148.157   4491
       127.0.0.0        255.0.0.0         On-link         127.0.0.1   4531
        127.0.0.1  255.255.255.255         On-link         127.0.0.1   4531
  127.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
      169.254.0.0      255.255.0.0         On-link    10.183.148.157   4511
  169.254.255.255  255.255.255.255         On-link    10.183.148.157   4491    
      192.168.6.0    255.255.255.0         On-link       192.168.6.1   4501
      192.168.6.1  255.255.255.255         On-link       192.168.6.1   4501
    192.168.6.255  255.255.255.255         On-link       192.168.6.1   4501
     192.168.73.0    255.255.255.0         On-link      192.168.73.1   4501
     192.168.73.1  255.255.255.255         On-link      192.168.73.1   4501
   192.168.73.255  255.255.255.255         On-link      192.168.73.1   4501
        224.0.0.0        240.0.0.0         On-link         127.0.0.1   4531
        224.0.0.0        240.0.0.0         On-link    10.183.148.157   4492
        224.0.0.0        240.0.0.0         On-link       192.168.6.1   4502
        224.0.0.0        240.0.0.0         On-link      192.168.73.1   4502
        224.0.0.0        240.0.0.0         On-link      10.57.175.79     31
  255.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
  255.255.255.255  255.255.255.255         On-link    10.183.148.157   4491
  255.255.255.255  255.255.255.255         On-link       192.168.6.1   4501
 255.255.255.255  255.255.255.255         On-link      192.168.73.1   4501
 255.255.255.255  255.255.255.255         On-link      10.57.175.79    286
===========================================================================
Persistent Routes:
  None

因此,接口40是我的3G卡,接口11是我的LAN卡。您可以看到(我认为)我目前有两条默认路由,但由于指标较低,因此3G胜出了吗?我需要强制全部10.183。LAN接口上的流量。

欢迎任何建议!

问候,杰森

Answers:


27

您要查找的命令是route add:

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/route.mspx?mfr=true

对于您的设置,我认为语法是:

route add 10.183.0.0 mask 255.255.0.0 10.183.148.5

这会将10.183.xx的所有流量发送到系统已经知道不在您的以太网网卡上的下一跳地址10.183.148.5,并且与路由不匹配的任何流量都将被默认路由捕获,并且通过3g连接前进。看起来您的网络已分配了多个路由器,因此您可能希望将其加倍并添加10.183.148.6和.7的路由。

如果网络中的内容不在10.183范围内,则可能需要小心,可能需要添加更多路由。您可能还可以将所有10.0.0.0/8路由到公司网络,因为Windows将具有更特定的路由,但是我不确定100%如此,因为您的3g卡为您提供了IP在10.xxx范围内。


1
非常有效,非常感谢-尽管我添加了-p使其具有粘性!

太完美了!当我遇到这个问题时,我认为不会很快解决它。太完美了,谢谢。
阿什坎

到MS Docs的链接已断开。:(
bahrep

13

一种替代方法是更改​​每个有问题的适配器的“ Metric”值。我刚刚使用3G MiFi适配器完成了此操作。要更改指标,请进入网络和共享中心->更改适配器设置。选择要更改的适配器,然后进入其属性。在要更改的协议的高级部分(通常为IPv4)中,取消选中“自动度量”复选框并指定您自己的值。值越低,适配器在搜索主机时将具有更高的优先级。

这样就不会影响您的路由。


支持。我的方案是到本地路由器192.168.2.x的以太网,以及到专用网络192.168.6.x的无线连接-并且为无法中断的仪器设置了.6。但是它们都链接回了ISP,因此Netflix将在Windows文件复制保持在.2 Same时随机决定超过.6。因此,我将以太网.2的IPv4配置设置为1,将WiFi .6设置为100。这非常有用,因为每当我想与.6设备通信时,都只有一种方法。但是所有其他流量都支持以太网。简单!
SDsolar

在任何人搞乱路由表之前,这应该是第一个选择。即使在雇用的帮助下,也可以在每台PC上完成几秒钟。太糟糕了,这个问题中的场景不是那么整洁。当两者都是10.183.xx网络时,情况将变得复杂。但是我敢打赌,这是在这方面非常专业的少数案例研究。
SDsolar

5

要将3g卡设置为默认网关,请删除11接口的默认路由:

route delete 0.0.0.0 10.57.175.79

假设10.57.1​​75.79是您的LAN ip地址。

然后将您的10.183.148.x子网定向到您的lan ip:

route add 10.183.148.0 mask 255.255.255.0 10.57.175.79 

我没有尝试过,但是我认为接口的IP地址没有用,因为它是动态的?

我编写了一个快速的n脏vbs脚本,该脚本将下面的ipconfig命令的输出重定向到一个文件并使用了该值。像这样:ipconfig | findstr“ IP地址10.57”
Seamus

2

确保更改指标比删除任何默认路由是更好的解决方案。它也很健壮,因为在断开连接后,您仍然可以通过公司LAN进行互联网访问而无需进行任何修改。

但是,由于此接口上有动态IP,所以每天手动查找更改的网关IP令人沮丧。因此,您可以使用此cmd脚本自动找到ROUTE CHANGE命令所需的所有参数。

只需更改变量MyImportantInterface即可满足您的需要,并记住在建立3G连接后以管理员身份运行。

@echo off
REM ! CHANGE THIS TO  ! \
SET MyImportantInterface=Mobile Broadband
REM ! MATCH YOUR NEED ! /

echo Active Routes:
echo Network Destination        Netmask          Gateway       Interface  Metric

route PRINT | findstr /C:" 0.0.0.0"

echo Finding  "%MyImportantInterface%"...

FOR /f "tokens=1" %%* IN (
   'netsh interface ipv4 show interfaces 
    ^| findstr /R /C:"%MyImportantInterface%"'
   ) DO SET "MyImportantInterface=%%*"

FOR /f "tokens=3" %%* IN (
   'netsh interface ipv4 show config "%MyImportantInterface%"
    ^| findstr /R /C:"Default Gateway"'
   ) DO SET "TheDefaultGateway=%%*"

route CHANGE 0.0.0.0 MASK 0.0.0.0 %TheDefaultGateway% ^
   METRIC 5 IF %MyImportantInterface%

route PRINT | findstr /C:"%TheDefaultGateway%"

如您所见,魔术发生在两个FOR循环和ROUTE CHANGE命令中。ECHO和ROUTE PRINT命令使此功能更具参考价值。我个人会在末尾添加tracert命令,以确保它可以按我的意愿工作。请享用。


0

默认将所有内容从3G卡中路由出去会更容易吗?因此,您只有一条从Int 40出来的路由(具有较高的AD),而所有路由都保持在Int 11上。我发现,与Int 11相比,Int 40具有更好的度量标准是很奇怪的。

您是在整个业务中使用动态路由还是静态路由?我知道在cisco中,您可以在所需的任何接口上放置静态默认路由,然后在其上更改AD,以便可以对这种方法进行优先级排序。


我想,你告诉我:)是的,我想我必须将3g卡(接口40)设置为“默认”路由接口。我不确定我是否理解或可以回答您的第二个问题-我只能使用Windows 7 Shell提示符:)

您使用的是EIGRP,RIP之类的路由协议,还是所有静态路由?
lilott8
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.