一个电脑只能有一个网关,双网卡有两个网关时,该走哪个网关啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个电脑只能有一个网关,双网卡有两个网关时,该走哪个网关啊?相关的知识,希望对你有一定的参考价值。
一个电脑只能有一个网关,双网卡有两个网关时,该走哪个网关啊?
这个需要在本机设置路由。就是你要告诉电脑,遇到什么情况走哪个网光。一般这种情况出现在内网和外网分别对待时。
windows自己添加路由解决。具体可以在windows控制台下执行,语法如下:
ROUTE [-f] [-p] [-4|-6] command [destination]
[MASK netmask] [gateway] [METRIC metric] [IF interface]
-f 清除所有网关项的路由表。如果与某个
命令结合使用,在运行该命令前,
应清除路由表。
-p 与 ADD 命令结合使用时,将路由设置为
在系统引导期间保持不变。默认情况下,重新启动系统时,
不保存路由。忽略所有其他命令,
这始终会影响相应的永久路由。Windows 95
不支持此选项。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
command 其中之一:
PRINT 打印路由
ADD 添加路由
DELETE 删除路由
CHANGE 修改现有路由
destination 指定主机。
MASK 指定下一个参数为“网络掩码”值。
netmask 指定此路由项的子网掩码值。
如果未指定,其默认设置为 255.255.255.255。
gateway 指定网关。
interface 指定路由的接口号码。
METRIC 指定跃点数,例如目标的成本。
用于目标的所有符号名都可以在网络数据库
文件 NETWORKS 中进行查找。用于网关的符号名称都可以在主机名称
数据库文件 HOSTS 中进行查找。
如果命令为 PRINT 或 DELETE。目标或网关可以为通配符,
(通配符指定为星号“*”),否则可能会忽略网关参数。
如果 Dest 包含一个 * 或 ?,则会将其视为 Shell 模式,并且只
打印匹配目标路由。“*”匹配任意字符串,
而“?”匹配任意一个字符。示例: 157.*.1、157.*、127.*、*224*。
只有在 PRINT 命令中才允许模式匹配。
诊断信息注释:
无效的 MASK 产生错误,即当 (DEST & MASK) != DEST 时。
示例: > route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1
路由添加失败: 指定的掩码参数无效。
(Destination & Mask) != Destination。
示例:
> route PRINT
> route PRINT -4
> route PRINT -6
> route PRINT 157* .... 只打印那些匹配 157* 的项
> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
destination^ ^mask ^gateway metric^ ^
Interface^
如果未给出 IF,它将尝试查找给定网关的最佳
接口。
> route ADD 3ffe::/32 3ffe::1
> route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2
CHANGE 只用于修改网关和/或跃点数。
> route DELETE 157.0.0.0
> route DELETE 3ffe::/32 参考技术A 举例:以下是系统环境与解决方案:本机内网IP:192.168.3.172 子网掩码:255.255.255.0 内网网关:192.168.3.240 (不可访问Internet)本机外网IP:192.168.1.199 子网掩码:255.255.255.0 内网网关:192.168.1.1 (可访问Internet)方案:打开“运行”〉输入“CMD”,然后输入以下命令:route delete 0.0.0.0 mask 0.0.0.0 192.168.3.240 #删除内网网关route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 2 #改变默认外网网关优先权为2,220.184.16.118为外网分配的ip地址route add 192.0.0.0 mask 255.0.0.0 192.168.3.240 metric 1 #添加内网路由点,且优先权设置为1现在终于可以内网外网同时访问了,但问题依然有,重启之后这些更改就失效,需要重新配置,如果你会写DOS批处理,可以在开机的时候自启动就好了,以下是我写的批处理参考:(复制到记事本,网关自己更改,然后把后缀改为.bat即可)@ echo offroute delete 0.0.0.0 mask 0.0.0.0 192.168.3.240 route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 2 route add 192.0.0.0 mask 255.0.0.0 192.168.3.240 metric 1很简单吧,呵呵其实也有更简单的方法,只是上边的方法适合测试或不常用双网卡实现内外网的,但公司里确实需要固定的,这就手动调整就显得太麻烦了下面再介绍一种方法:首先介绍一下路由原理:双网卡机器一般内网网卡ip都设置了网关地址,而windows默认网关只能有一个,不上外网的情况下默认网关就是内网网关,使用外网上网后默认网关自动改为外网分配的ip,可以使用route print查看,即所有数据流都流向外网网卡ip,导致此时不能访问内网。用route print命令查看此时的路由情况不难发现地址0.0.0.0(可以把0看成通配符)开始的路由点有两个,一个是内网网关,一个是外网ip,而外网ip成了默认网关。因此我的思路是:不用内网网关,将内网网关做成永久路由点且仅过滤内网网段(192开头的ip数据),而不改变外网的默认网关,这样根据优先权,访问内网的数据会从永久路由点走,其它数据从外网的默认网关走(路由表设置的特殊地址除外),从而达到目的。具体方法如下: 到内网本地连接属性设置中记住网关ip地址并删除内网网关,运行CMD窗口,运行以下命令route -p add 192.0.0.0 mask 255.0.0.0 192.168.3.240(创建永久路由点),结束。这样未连接外网时正常访问内网,连接外网后能同时访问内外网。 参考技术B 不是的,一个电脑可以配置好几个IP,也可以配置好几个网关。
你的这种情况看你的需求,就像你的笔记本你可以用无线上网,也可以用有限上网。
至于怎么用看你自己的需求追问
如果,一台电脑两个网卡,如何设置一个网卡只访问外网,一个网卡只访问内网啊?
追答配置服务器的时候用两根网线,把两个网卡一个接到局域网,一个接到外网。然后配置一下IP就好了。你最好说一下你的使用环境。
本回答被提问者采纳双网卡一般情况不能有两个网关 (转)
双网卡一般情况不能有两个网关
特别是别设内网网关,这样有段时间过后会出现访问不了外网情况
支持两个网关的方法倒是有
让双网卡一台电脑拥有两个网关(转)
首先要声明一点,双网卡一台电脑拥有两个网关是不可能的,因为默认网关(default gateway)只能是一个。
给服务器安装两块网卡,分别设置不同的ip和网关(内网和外网),外网的通过外网网卡来访问,内网的通过内网网卡来访问,似乎实现起来很简单,但事实上很难啊,因为默认网关(default gateway)只能是一个!
解决的办法就是:
1、将其中一块网卡(如外网)设置默认网关;
2、手工加上一条静态路由,让另一个网段(内网)的数据经过第二个网卡。使用route命令,命令的范例如下,希望能帮某些同志一点小忙。
参考命令:
范例1、route add -p 10.0.0.0 mask 255.255.255.0 10.40.4.200(让对10.0.0.1的访问走10.40.4.200的网卡,mask 后面是子网掩码)
范例2、route add -p 10.0.0.0 mask 255.0.0.0 10.40.4.200
范例3、route add -p 0.0.0.0 mask 0.0.0.0 10.40.4.200(不用说了吧,让所有的访问走10.40.4.200)
说明:
1、加上-p参数,加入的路由为永久路由,不会因为电脑重新启动而被初始化。10.40.4.200是我的电脑网卡IP。 输入route 可以得到更多的帮助。
2、如果你的电脑已经有两个网关(如使用了SoftEther),用route print可以看到两条0.0.0.0的路由,可以先删除0.0.0.0的路由,然后重新添加。
route delete 0.0.0.0 “删除所有0.0.0.0的路由”
附:在网络上找资料时,常常看到有人在问类似的问题,可以看出大家对路由方面的知识很陌生。于是提供以下资料,供大家参考:
1、《解读route命令》http://www.kpcn.org/news/Read.asp?NewsID=8527
2、《学习Windows网络命令之route命令小档案》http://www.kpcn.org/news/Read.asp?NewsID=8528
========= 以下是另一篇文章的内容 ============
经常遇到一台计算机要同时访问两个网络(一个是互联网,一个是企业内部网)的要求。以本单位为例:地址是虚构的^_^
机器有两块网卡,接到两台交换机上
internet地址:218.22.123.123,子网掩码:255.255.255.0,网关:218.22.123.254
企业内部网地址:10.128.123.123,子网掩码:255.255.255.0,网关:10.128.123.254
如果按正常的设置方法设置每块网卡的ip地址和网关,再cmd下使用route print查看时会看到
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 218.22.123.254
218.22.123.123 20
0.0.0.0 0.0.0.0
10.128.123.254 10.128.123.123
1
即指向0.0.0.0的有两个网关,这样就会出现路由冲突,两个网络都不能访问。要实现同时访问两个网络就要用到route命令
第一步:route delete
0.0.0.0
”删除所有 0.0.0.0 的路由"
第二步:route add 0.0.0.0 mask 0.0.0.0
218.22.123.254
"添加 0.0.0.0 网络路由"
第三步:route add 10.0.0.0 mask 255.0.0.0
10.128.123.254
"添加 10.0.0.0 网络路由"
这时就可以同时访问两个网络了,但碰到一个问题,使用上述命令添加的路由在系统重新启动后会自动丢失,怎样保存现有的路由表呢?
在win2000 下可以使用route add -p
添加静态路由,即重启后,路由不会丢失。注意使用前要在tcp/ip设置里去掉接在企业内部网的网卡的网关。
============= Linux下双网卡双网关配置路由表 =============
http://hi.baidu.com/xibeihuohu/blog/item/a54d27fd18b8bf1f08244d1a.html
由于电信和网通之间互联互通的问题,很多人选择双线路机房, 所谓双线路机房就是拥有两条出口,一条电信一条网通。最近在一个双线路机房测试一台服务器,打算作为论坛的数据库服务器使用,服务器操作系统为 Linux。计划配置为双IP,双域名,使得浏览者通过电信和网通两条线路都能正常访问服务器,而且各走各的,互不影响。在配置网络的时候遇到了问题,由 于Linux默认只有一个网关,在网络上查询了很久,找到一个解决方案,因此整理了一下。感谢原文作者jac003ke。
服务器操作系统RedHat linux 9,设置两张路由表
1. vi /etc/iproute2/rt_tables,增加网通和电信两个路由表
251 tel 电信路由表
252 cnc 网通路由表
2. 给网卡绑定两个地址用于电信和网通两个线路
ip addr add 192.168.0.2/24 dev eth0
ip addr add 10.0.0.2/24 dev eth1
3、分别设置电信和网通的路由表
电信路由表:
#确保找到本地子网
ip route add 192.168.0..0/24 via 192.168.0.2 dev eth0 table
tel
#内部回环网络
ip route add 127.0.0.0/8 dev lo table tel
#192.168.0.1为电信网络默认网关地址
ip route add default via 192.168.0.1 dev eth0 table tel
网通线路路由表:
#确保找到本地子网
ip route add 10.0.0.0/24 via 10.0.0.2 dev eth1 table cnc
#内部回环网络
ip route add 127.0.0.0/8 dev lo table cnc
#10.0.0.1是网通的默认网关
ip route add default via 10.0.0.1 dev eth1 table cnc
4、电信和网通各有自己的路由表,制定策略,让192.168.0.2的回应数据包走电信的路由表路由,10.0.0.2的回应数据包走网通的路由表路由
ip rule add from 192.168.0.1 table tel
ip rule add from 10.0.0.1 table cnc
原文地址:http://blog.sina.com.cn/s/blog_43eb83b90102drhf.html
以上是关于一个电脑只能有一个网关,双网卡有两个网关时,该走哪个网关啊?的主要内容,如果未能解决你的问题,请参考以下文章