日期:2014-05-17  浏览次数:21022 次

如何将两个局域网连接起来自由通讯?
有两个局域网,都分别申请了 ADSL 上网。
现在情况是:如果想用局域网1上网,必须禁用内置网卡,如果想用网络2上网,则要禁用无线网卡。
现在想解决:
怎样连接两个网络,才能让指定 WindowsXP 自由上网,而不必禁用任何网卡(无线网卡)?
而且可以当一个宽带不顺畅时,WindowsXP 自动使用另外一个宽带?

具体网络布局如图所示:


------解决方案--------------------
网络有一定复杂性,恐怕楼主图中提供的线索还不够完全。我先根据自已对你外围网络拓朴的猜测给出一个方向性的方案,假定网络配置如下:
你的电脑无线网卡的IP地址是192.168.1.x,无线AP2的LAN口地址是192.168.1.1,局域网1的网段为10.0.0.0/255.0.0.0
你的电脑有线网卡的IP地址是192.168.2.x,有线路由器的LAN口地址是192.168.2.1,局域网2的网段为172.16.0.0/255.255.0.0



在桌面建批处理1内容如下:
BatchFile code

route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1

------解决方案--------------------
1.设置其中接外网的网卡的IP地址、网关按要求进行设置
--注:这是对应外网的网卡,按照你们单位外网的ip分配情况,在TCP/IP属性中配置好 ip、掩码、DNS等

2.将连接单位内部网的网卡IP配好后,设网关设置为空(即不设网关),启用后,此时内网无法通过网关路由

注意:只设IP地址和子网掩码

3.进入CMD,运行:route -p add 192.0.0.0 mask 255.0.0.0 192.168.0.1 metric 1

--注:意思是将192*的IP包的路由网关设为192.168.0.1 ,-P 参数代表永久写入路由表,建议先不加此参数,实践通过后在写上去

--192.0.0.0与192.168.0.1为你单位内网网段及网关,根据你单位情况自行设定。

4. OK!同时启用两个网卡,两个网关可以同时起作用了,两个子网也可以同时访问了,关机重启后也不用重设!


------解决方案--------------------
就是多网卡同时连两个网络了

1.最基本的就是双网卡,用哪个禁用另了一个,这个其实用脚本来切换也很简单的
BatchFile code
@echo off
rem 在XP系统中不支持netsh interface set interface name命令扩展,提取2003下的ifmon.dlld文件覆盖
set net1=本地连接
set net2=无线网络连接
:loop
cls
echo 1:使用本地连接&&echo.
echo 2:使用无线网络连接&&echo.
echo 3:查看本地网络连接&&echo.
echo 4:退出&&echo.
set /p var=请选择网络(1/2/3/4):
if "%var%"=="1" goto :net1
if "%var%"=="2" goto :net2
if "%var%"=="3" goto :display
if "%var%"=="4" goto :end
goto :loop

:net1
netsh int set int name="%net2%" admin= disabled
netsh int set int name="%net1%" admin= enabled
goto :end

:net2
netsh int set int name="%net1%" admin= disabled
netsh int set int name="%net2%" admin= enabled
goto :end

:display
cls
netsh int show int
goto :loop

:end
pause>nul
exit

------解决方案--------------------
最直接的做法还是插拔网线/无线开关,动动手指头的事;
接着就是用软件的方法,比如上面提到的脚本或者一些工具(上网搜,应该很多),enable/disable网卡或者调整网卡的顺序(实际上是调了默认路由,最后还是一个网卡在上网);
再然后就是高级的了,控制路由表,简单的脚本上面都有提到,基本上是route命令,调整路由的原则就是两个局域网的服务都能使用(比如特定的服务只能由某个局域网访问到),优先选择某一网络做为访问Internet的出口,然后明确了解某个Internet host由某一网络访问更快的,对其再做单独的设置;很明显这是基于经验的设置(通过使用了解到对于哪些服务,哪个网络做接入更好),达不到“动态”的需要,要达到此目的,就要编程:
个人构思:
1、简单的图形界面;
2、能枚举机器接口;
3、能做基本的enable/disable,调整路由的功能;
4、“动态”,hook系统的网络接入请求(比如上网),对于每一请求,预定用某一网络出去,但同时在后台也用另一网络出去,通过对响应的统计,再根据预定的策略(比如一定时间/次数内响应更快),针对类似的请求(比如都是某某网站),调整路由使其通过特定网卡出去。

------解决方案--------------------
首先请确定这两个网络哪个网络性能更好,给更好的网络性能的网络添加一条默认路由,本人认为一般有线网卡会稳定一定,当然也得根据你的带宽而来,如果你要使用你的有线网络,假如你有线网络IP是192.168.1.1(网关),则设rotue add 0.0.0.0 mask 0.0.0.0 192.168.1.1 -p。要实现“可以当一个宽带不顺畅时,WindowsXP 自动使用另外一个宽带”,则再加一默认路由设下跳为无线网络的网关,如route add 0.0.0.0 mask 0.0.0.0 10.10.10.1 metric 2 -p.前者路由跳数为默认,默认为1。
有点搞不懂楼主的是“如果想用局域网1上网,必须禁用内置网卡,如果想用网络2上网,则要禁用无线网卡”,如果两个网络均正常的话理当能上网,网络坚持一条“就近原则”,上网到达的目的地经过的路由器哪个更少则用那个网络。楼主的信息应该更多一点,可以ipconfig /all截下图,然后禁用网卡1后tracert www.baidu.com截图,然后禁用网卡2后tracert www.baidu.com截图。我现在上网就是双网卡,一个用于公司内网,通过代理服务器(但也能上外网),一个用于上外网,给你看下我的路由表

Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.144.1.1 10.144.55.104 20
0.0.0.0 0.0.0.0 192.168.111.1 192.168.111.130 1
10.0.0.0 255.0.0.0 10.144.1.1 10.144.55.104 1
10.144.0.0 255.255.0.0 10.144.55.104 10.144.55.104 20
10.144.55.104 255.255.255.255 127.0.0.1 127.0.0.1 20