解决电脑双网卡无法上网的问题

解决电脑双网卡无法上网的问题


2024年5月17日发(作者:pdfedit编辑器 免费)

解决电脑双网卡无法上网的问题

有的公司或机构的内网是封闭的,只有内部网络,没有出口网关,上不了外网的。但有

时候我们希望再加一块网卡连上外网线,让电脑既能访问内网,又能访问外网(互联网)。

然而这两块网卡好像不能共存,要上外网的时候只能禁用内网卡,要上内网时只能禁用外网

卡,有没有办法实现内外网共存呢?

可以实现的。

首先网络拓扑如下:

有双网卡的电脑原来只有一块网卡的时候,那块内网卡的IP是公司分配的。该电脑被划分

在vlan10里,分配了一个IP:192.168.10.5/24位掩码,网关为192.168.10.1

后来想让这台电脑能访问互联网,于是又加了一块外网卡,接到能上互联网的路由器上,该

路由器默认分配的IP是192.168.1.0/24网段的,例如外网卡获取到的IP是192.168.1.14,

默认网关是192.168.1.1在有双网卡的电脑上的cmd命令行里输入ipconfig回车:

上图显示确实有两块网卡,且IP地址都是正确的,都有网关,ping各自的网关都能通

当两块网卡都启用时,却不能上网了(不能上网的情况有两种)

1)有时是不能访问内网的服务器(IP为192.168.30.254),但可以上外网

2)有时是可以访问内网服务器,而不能访问外网

因为这两块网卡都配有默认网关,当要访问的目的IP与这两块网卡的IP不在同一个网段时,

计算机就会把数据发给默认网关,从网关出去了。有时候能ping通内网的服务器是因为该

数据包从内网的网关出去了,而ping外网IP不通,是因为该数据包也从内网网关出去了,

而内网又没有出口到互联网去,所以不通。

同理,有时能ping通外网而不通内网,是因为数据包都从外网网关出去了。

也就是说,当目的IP与本机的网卡IP在同一个网段时,都能ping通,而不在一个网段时,

会从网关转发出去,那么到底从哪个网卡的网关出去呢?

这得看计算机的路由表,在cmd命令行输入route-4print

1)当内网卡是连网线,外网卡是一块无线网卡时,看到的路由表可能如下:

内网卡IP为192.168.10.5外网卡IP为192.168.1.14

上图中每一行表示一条路由,一行中最后一个数字表示跃点数,跃点数越小越优先走这条路

由。所以这时是优先走192.168.1.1这个网关的(就是外网卡的网关),所以这时是ping不

通内网的服务器的。

2)当内网卡和外网卡都是有线网卡时,看到的路由表可能如下图所示:

上图表示两条默认路由的跃点数一样大,是一样优先的。是不是说数据包可以从两个网关出

去呢?不是的,这只是普通的电脑,不具备负载均衡的功能,它还是只能选择一个网关出去。

当两块网卡的默认路由跃点数一样时,再看网卡接口的序号,序号小的优先。

了解了以上基本知识,我们再来想想解决方案,实现既能访问内网,又能访问外网的需求。

方案一:

当公司的内网只有一个网段时(比如都是192.168.10.x/24),就不要设置内网网卡的网关了。

而外网网卡的网关是要设置的(如果是自动获取的那就用它自动获取的配置吧)

这样就行了

等一下,我们的内网网卡是自动获取IP的,怎么删除它的默认网关呢?

以管理员身份运行输入如下命令(最后的192.168.10.1为内网卡的默认网关)

这不就没了。

方案二:

内网有多个网段,(比如有192.168.10.x20.x30.x等网段),不要设置内网网卡的网关,但是

要配置几条静态路由

以管理员身份运行(在C:WindowsSystem32目录下)

添加静态路由的命令格式如下:

routeadd192.168.20.0mask255.255.255.0192.168.10.1

routeadd192.168.30.0mask255.255.255.0192.168.10.1(有几个网段就要配几条路由)

^目的网段^目的网段的掩码^下一跳(网关)

外网卡就用默认配置。

这样访问内网的数据包就会从内网卡的网关走,而访问外网的数据包会默认从外网卡的网关

走,不冲突了。内、外网都能访问了。

方案三:

有时候情况不尽如人意,公司的内网有哪些网段我们不知道,只知道自己的电脑被分配到一

个IP(192.168.1.26/24位掩码)网关为192.168.1.1

然后我们再加一块外网卡,从光猫那里接一根线过来连上(如果是无线网卡,那就连上

wifi呗)自动获取的IP是192.168.1.4,默认网关是192.168.1.1

两个网卡的网段是一样的,有冲突。

例①要是能修改光猫下发的IP地址段就好了,先用其他设备(如手机)登录光猫,进行dhcp

修改。(改成公司内网可能没有的网段,比如172.23.234.0/24位掩码。这得靠经验去猜)

这样就不会有网段的冲突了,(外网卡可能获取的IP是172.23.234.3,网关是172.23.234.1)

然后,内网网卡不要设置默认网关,用添加静态路由的方法(同方案二)把目的网段是私网

IP的数据包都从内网卡的网关转发(内网网卡的网关是192.168.1.1,但是在网卡上不设置,

只在静态路由表里添加)

以管理员身份运行

routeadd10.0.0.0mask255.0.0.0192.168.1.1

routeadd172.16.0.0mask255.240.0.0192.168.1.1

routeadd192.168.0.0mask255.255.0.0192.168.1.1

外网卡的配置就用默认的,这样就行了。

例②有时候真的是事与愿违,外网卡的网段不能改(可能是设备不支持修改,也可能是其

他人不同意修改),内网卡就更不用说了,公司给我们的就是192.168.1.0段的。

只好两块网卡都用同一个网段的了

情况如下:

这时候肯定是有个网络是不通的(不是外网就是内网)

我们可以把内网的网关删掉,添加静态路由,不过要写完整,表明从哪个网卡接口出去。

通过查看路由表可以知道

内网卡的接口序号是9(在不同的电脑上可能不一样)外网卡接口序号是3号

以下命令删掉从内网卡接口出去的默认路由

再添加静态路由

routeadd10.0.0.0mask255.0.0.0192.168.1.1if9

routeadd172.16.0.0mask255.240.0.0192.168.1.1if9

routeadd192.168.0.0mask255.255.0.0192.168.1.1if9

外网卡的配置就用默认的,这样就行了(通过验证,内外网都能访问,不过如果访问的是同

一个网段的地址,肯定是会有问题的,比如ping192.168.1.1,到底是ping到内网的那个1.1

还是外网的1.1呢?暂时不知道。如果是访问不同网段的那就没问题)

上例表明:如果两块网卡是同一个网段的话,只要IP地址不一样,哪怕网关一样,也是可

以实现共存的,内外网都能访问。(只是访问同一个段的主机可能无法访问)

但是两块网卡的IP绝对不能是同一个IP地址。如果两块网卡IP一样的话,会出错,其中一

块会变成169.254开头的IP(表示这是无效地址)

,地址是

192.168.1.0

段的,再添加(或开启)

补充

:如果我们先是连接了一块网卡(内网)

另一块网卡(外网)时,它若是自动获取IP的(我们已知道路由器会分配192.168.1.0同一

段的)这时新添加的网卡是不能成功获取配置的,提示连接受限。因为电脑是默认不允许我

们给两块网卡配同一个段的IP,所以我们可以手工指定新添加的网卡的IP

若弹出提示,只管确定。然后按方案三的例②去配置

方案四:

接着上面的方案三例②来说。

如果内外网卡的IP是同一个网段的,这时电脑要访问同一个网段的主机时,我们怎么知道

数据包会从哪个网卡接口发出去呢?

先看一下网卡的配置,都已经配好了,内网的默认网关也已删除

根据路由表的跃点数大小,可以知道它从哪个接口出去。

192.168.1.0/24是电脑的直连网段,但不同的网卡接口的跃点数不一样,所以它优先从跃点

数小的那个网卡出去。上图中恰好是内网的跃点数小(276),所以ping192.168.1.1时,ping

通的是内网里的那个网关,而不是外网卡的网关。访问同一个段(192.168.1.0)的主机时,

访问的也是内网的。这正好达到我们的要求,因为外网网卡只是用来访问互联网的。至于外

网的其他同段(192.168.1.0)的主机,我们不需要访问。

如果从路由表上看到的内网卡接口的跃点数比外网卡接口跃点数大,那么我们在电脑上访

问同一个段的主机时就访问不了了,或者是访问到了外网卡所在的网络里的主机了。

需要修改直连路由的内网卡的那条路由的跃点数(把它改小,比外网卡的小就行)

routechange192.168.1.0mask255.255.255.0192.168.1.1metric234if9

这样优先走跃点数小的路由,访问同一个段的主机时,访问的就是内网的主机了。

以上是本人对电脑有双网卡无法正常访问内外网的一些解决方案。如有高见,请多多指教。

作者:李茂福

2018-09-08


发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1715906220a2689946.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信