win7双网卡下如何实现不同的软件走不同的网络?

手头没有双网卡的机子,不过我从理论上研究了一下你的问题。大概可以给你提供一个思路。

网络数据要从源地址到目的地址,中间经过了很多路由器,路由器的功能是为网络数据寻找正确的传输路径,具体可以看我的另一个回答。

网络信息怎么在网线里传播的?270 赞同 · 45 评论回答

我在那个答案里没有详细说的一点是路由的细节。比如说你发给百度的数据和发给阿里的数据,目的地是显然不同的,那么流量如何判别自己往哪里发送呢。答案是通过路由表,每个主机以及路由器中都维护了一个路由表,他类似于这样的格式(实际还维护了子网掩码等其他域):

IP地址| 下一跳

48.27.x.x |27.12.x.x

这样路由就知道把发到某个IP的地址发到哪个下一跳路由去。这样每个路由接力,就把你的数据发到了目的地。但是互联网的主机数量十分庞大,40亿的量级,如果每个路由器都维护了所有主机的路有数据,那么路由表的数据过于庞大(每个地址1字节也得占用256TB),而且路由需要查这么庞大一个表,也很慢。为了解决这个问题,引入了网络掩码和默认网关概念,子网掩码的概念我就不解释了,可以参见我这个答案:

子网掩码与ip地址有实际关系吗?33 赞同 · 0 评论回答

而默认网关,就是指默认的下一跳地址,就是当你路由查询了路由表之后,发现没有精确匹配的值,那就把默认网关当做下一跳地址。因为一般家用路由实际上只有一个wan口,所以实际上所有数据的下一跳路由都是默认网关,也就是所有的数据都会被发送到这个网关去。

在windows里,默认网关这么查看,打开win7控制面板,网络,更改适配器设置,

注意,你下面这张图应该至少有两个设备,其中一个是蓝牙:

之后能看到这个页面。

问题是,路由表工作在网络层的协议,也就是说在工作在应用层的firefox,你不能控制它流量的下一跳地址,但你可以在网络层修改发往哪个IP的流量通过哪个网关发送,就是修改路由表。

你在这里提到了,你们公司的网络限制了很多网站的访问,你可以ping那些网站,拿到这些网站的IP地址,然后在路由表里添加相关的路由数据,设置所有的流量默认网关是公司网络网关,之后你把公司网络不能访问的网站的IP添加到路由表里面,让他走你蓝牙设备的网关。这样根据最长匹配原则,那些特定IP会走蓝牙,其他数据会走公司网络。可以最大限度减少蓝牙网络的使用。

具体怎么修改window的路由表,请参见谷歌,提供一个网址供参考:

Windows路由表配置:双网卡同时上公司内外网 - CSDN博客​blog.csdn.net/zxs9999/article/details/

重申:因为手头没有双网卡设备,而且还是MacOS,所以无法验证,期待你的验证结果……

简单的说,windows,以及绝大多数操作系统,路由选择是通过路由表做出的。显然路由表并没有工作在应用层。

所以你需要在应用层做一些work around。比如一个方案是,把公司网络设置为默认网关,然后在手机上运行一个代理服务器,ff走这个代理。

你可以试试装一个本地代理软件,部分应用软件通过代理走