环境及症状:

公司内网一台服务器,双网卡,一个网卡设置外网IP(59.58.251.55),一个网卡设置内网IP(192.168.100.55),在终端连接时发现,外网正常,而内网不通。

添加一条路由:

  1. route add 192.168.0.0 mask 255.255.0.0 192.168.100.1 metric 1 if 10(具体内网网卡对应的序号) -p 

具体涉及命令:route

Windows 2008:

  1.  
  2. C:\Users\Administrator>route /?  
  3.  
  4. 操作网络路由表。  
  5.  
  6. ROUTE [-f] [-p] [-4|-6] command [destination]  
  7.                   [MASK netmask]  [gateway] [METRIC metric]  [IF interface]  
  8.  
  9.   -f           清除所有网关项的路由表。如果与某个  
  10.                命令结合使用,在运行该命令前,  
  11.                应清除路由表。  
  12.  
  13.   -p           与 ADD 命令结合使用时,将路由设置为  
  14.                在系统引导期间保持不变。默认情况下,重新启动系统时,  
  15.                不保存路由。忽略所有其他命令,  
  16.                这始终会影响相应的永久路由。Windows 95  
  17.                不支持此选项。  
  18.  
  19.   -4           强制使用 IPv4。  
  20.  
  21.   -6           强制使用 IPv6。  
  22.  
  23.   command      其中之一:  
  24.                  PRINT     打印路由  
  25.                  ADD       添加路由  
  26.                  DELETE    删除路由  
  27.                  CHANGE    修改现有路由  
  28.   destination  指定主机。  
  29.   MASK         指定下一个参数为“网络掩码”值。  
  30.   netmask      指定此路由项的子网掩码值。  
  31.                如果未指定,其默认设置为 255.255.255.255。  
  32.   gateway      指定网关。  
  33.   interface    指定路由的接口号码。  
  34.   METRIC       指定跃点数,例如目标的成本。  
  35.  
  36. 用于目标的所有符号名都可以在网络数据库  
  37. 文件 NETWORKS 中进行查找。用于网关的符号名称都可以在主机名称  
  38. 数据库文件 HOSTS 中进行查找。  
  39.  
  40. 如果命令为 PRINT 或 DELETE。目标或网关可以为通配符,  
  41. (通配符指定为星号“*”),否则可能会忽略网关参数。  
  42.  
  43. 如果 Dest 包含一个 * 或 ?,则会将其视为 Shell 模式,并且只  
  44. 打印匹配目标路由。“*”匹配任意字符串,  
  45. 而“?”匹配任意一个字符。示例: 157.*.1、157.*、127.*、*224*。  
  46.  
  47. 只有在 PRINT 命令中才允许模式匹配。  
  48. 诊断信息注释:  
  49.     无效的 MASK 产生错误,即当 (DEST & MASK) != DEST 时。  
  50.     示例: > route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1  
  51.              路由添加失败: 指定的掩码参数无效。  
  52.              (Destination & Mask) != Destination。  
  53.  
  54. 示例:  
  55.  
  56.     > route PRINT  
  57.     > route PRINT -4  
  58.     > route PRINT -6  
  59.     > route PRINT 157*          .... 只打印那些匹配  157* 的项  
  60.  
  61.     > route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2  
  62.              destination^      ^mask      ^gateway     metric^    ^  
  63.                                                          Interface^  
  64.       如果未给出 IF,它将尝试查找给定网关的最佳  
  65.       接口。  
  66.     > route ADD 3ffe::/32 3ffe::1  
  67.  
  68.     > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2  
  69.  
  70.       CHANGE 只用于修改网关和/或跃点数。  
  71.  
  72.     > route DELETE 157.0.0.0  
  73.     > route DELETE 3ffe::/32  
  74.  
  75. C:\Users\Administrator> 

Windows 2003:

  1. C:\>route /?  
  2.  
  3. Manipulates network routing tables.  
  4.  
  5. ROUTE [-f] [-p] [command [destination]  
  6.                   [MASK netmask]  [gateway] [METRIC metric]  [IF interface]  
  7.  
  8.   -f           Clears the routing tables of all gateway entries.  If this is  
  9.                used in conjunction with one of the commands, the tables are  
  10.                cleared prior to running the command.  
  11.   -p           When used with the ADD command, makes a route persistent across  
  12.                boots of the system. By default, routes are not preserved  
  13.                when the system is restarted. Ignored for all other commands,  
  14.                which always affect the appropriate persistent routes. This  
  15.                option is not supported in Windows 95.  
  16.   command      One of these:  
  17.                  PRINT     Prints  a route  
  18.                  ADD       Adds    a route  
  19.                  DELETE    Deletes a route  
  20.                  CHANGE    Modifies an existing route  
  21.   destination  Specifies the host.  
  22.   MASK         Specifies that the next parameter is the 'netmask' value.  
  23.   netmask      Specifies a subnet mask value for this route entry.  
  24.                If not specified, it defaults to 255.255.255.255.  
  25.   gateway      Specifies gateway.  
  26.   interface    the interface number for the specified route.  
  27.   METRIC       specifies the metric, ie. cost for the destination.  
  28.  
  29. All symbolic names used for destination are looked up in the network database  
  30. file NETWORKS. The symbolic names for gateway are looked up in the host name  
  31. database file HOSTS.  
  32.  
  33. If the command is PRINT or DELETE. Destination or gateway can be a wildcard,  
  34. (wildcard is specified as a star '*'), or the gateway argument may be omitted.  
  35.  
  36. If Dest contains a * or ?, it is treated as a shell pattern, and only  
  37. matching destination routes are printed. The '*' matches any string,  
  38. and '?' matches any one char. Examples: 157.*.1, 157.*, 127.*, *224*.  
  39.  
  40. The PRINT command will show both IPv4 and IPv6 routes, but the ADD, DELETE,  
  41. and CHANGE commands work only for IPv4 routes.  For IPv6 routes, use  
  42. the 'interface ipv6' context in netsh.exe.  
  43.  
  44. Diagnostic Notes:  
  45.     Invalid MASK generates an error, that is when (DEST & MASK) != DEST.  
  46.     Example> route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1  
  47.              The route addition failed: The specified mask parameter is invalid.  
  48.  (Destination & Mask) != Destination.  
  49.  
  50. Examples:  
  51.  
  52.     > route PRINT  
  53.     > route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2  
  54.              destination^      ^mask      ^gateway     metric^    ^  
  55.                                                          Interface^  
  56.       If IF is not given, it tries to find the best interface for a given  
  57.       gateway.  
  58.     > route PRINT  
  59.     > route PRINT 157*          .... Only prints those matching 157*  
  60.     > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2  
  61.  
  62.       CHANGE is used to modify gateway and/or metric only.  
  63.     > route PRINT  
  64.     > route DELETE 157.0.0.0  
  65.     > route PRINT  
  66.  
  67. C:\> 

网络文摘:

首先你的机器需要有两块网卡,分别接到两台交换机上,

internet地址:192.168.1.8,子网掩码:255.255.255.0,网关:192.168.1.1

内部网地址:172.23.1.8,子网掩码:255.255.255.0,网关:172.23.1.1

如果按正常的设置方法设置每块网卡的ip地址和网关,再cmd下使用route print查看时会看到

Network Destination Netmask Gateway Interface Metric

0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.8

0.0.0.0 0.0.0.0 172.23.1.1 172.23.1.8

即指向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 192.168.1.1     "添加0.0.0.0网络路由"这个是主要的,意思就是你可以上外网.

第三步:route add 172.23.0.0 mask 255.0.0.0 172.23.1.1    "添加172.23.0.0网络路由",注意mask为255.0.0.0   ,而不是255.255.255.0 ,这样内部的多网段才可用。

这时就可以同时访问两个网络了,但碰到一个问题,使用上述命令添加的路由在系统重新启动后会自动丢失,怎样保存现有的路由表呢?

route add -p 添加静态路由,即重启后,路由不会丢失。注意使用前要在tcp/ip设置里去掉接在企业内部网的网卡的网关

------------------------------------------------------------------------------------------------

一些单位将内网和外网分开了。痛苦啊,偶单位就是如此。boss当然是基于安全性考虑了,可是没有笔记本的怎么办?又要办公,有得上网。没办法,发扬DIY精神偷偷装一块网卡,让聊天与工作同在。让你的主机内外兼顾。这是我在网上找到的,谢谢作者了。方法如下:
1.设置其中接internet的网卡的网关为10.0.0.1,启用后就是默认网关
--注:这是对应外网的网卡,按照你们单位外网的ip分配情况,在TCP/IP属性中配置好 ip、掩码、DNS

2.将连接单位内部网的网卡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 参数代表永久写入路由表,建议先不加此参数,实践通过后在写上去

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

WINDOWS系统下双网卡设置路由

本文主要涉及到静态路由。

WINDOWS系统下设置路由

在WINDOWS下手动设置路由主要在DOS系统中命令符下(在运行输入
栏中键入COMMAND或者CMD即可)进行。

键入命令ROUTE回车会出现大约几十行英文说明,主要解说在
WINDOWS系统中如何添加、删除、修改路由。现简单介绍如下:

ROUTE命令格式如下:

ROUTE [-f] [-p] [command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]

其中 –f 参数用于清除路由表,-p参数用于永久保留某条路由(即在系统重启时不会丢失路由,但在WINDOWS95下无效)。

Command主要有PRINT(打印)、ADD(添加)、DELETE(删除)、CHANGE(修改)共4个命令。

Destination代表所要达到的目标IP地址。

MASK是子网掩码的关键字。Netmask代表具体的子网掩码,如果不加说明,默认是255.255.255.255(单机IP地址),因此键入掩码时候要特别小心,要确认添加的是某个IP地址还是IP网段。如果代表全部出口子网掩码可用0.0.0.0。

Gateway代表出口网关。

其他interface和metric分别代表特殊路由的接口数目和到达目标地址的代价,一般可不予理会。

我们根据单网卡和多网卡(以双网卡为例)两种情况叙述在WINDOWS下如何具体设置路由。

1、单网卡:

在WINDOWS系统下有4条最基本路由,参照下图(键入route print命令)具体是:

上述路由是WINDOWS自带路由,永不消失,如果上述路由不完整,则说明TCP/IP的安装和运行存在某些最基本问题、或本机网络配置或者安装存在问题。


上述表格中,127.0.0.1用于测试回送(loopback)地址,不能作为有效的网络地址。PC1的IP地址为192.168.97.1,路由器1(用于上互联网)的局域口IP地址为192.168.97.10,路由器2(用于上办公网)的局域口IP地址为192.168.97.11。

如果PC1同时想访问互联网和办公网,通常情况是在WINDOWS网络属性反复修改默认网关,每次还只能访问1个网段,既不方便也非常麻烦。为解决这个问题可在DOS命令符下键入如下命令:

route add 0.0.0.0 maks 0.0.0.0 192.168.97.10(用于上互联网)、

route add 10.42.29.0 mask 255.255.255.0 192.168.97.11(用于上办公网)。

这样将互联网作为默认路由,办公网用作特殊路由添加,当然,如果还有其他系统,可采用同样路由添加。

为了确保路由正确、避免引起路由混乱,最好先删除路由,再添加路由。比如上面的命令可改为:

route delelte 0.0.0.0

route add 0.0.0.0 maks 0.0.0.0 192.168.97.10

route add 10.42.29.0 mask 255.255.255.0 192.168.97.11。

为了确保路由设置长久生效,可将上述命令加入AUTOEXEC.BAT文件中,即操作系统一启动就自动设置路由。当然也可在第一次添加路由时加入-P参数。

具体如下:

route –p add 0.0.0.0 maks 0.0.0.0 192.168.97.10

route –p add 10.42.29.0 mask 255.255.255.0 192.168.97.11。

这时用route print查看路由,就可以看到有两条永久路由添加到路由表中了。

2、多网卡(以双网卡为例)

如果在同一PC机上带有两个网卡,联上两个不同网段的系统,具体参见下面网络连接示意图:

一般情况下,在PC机上加上双网卡和双网关,边可以轻松联上两个子系统。但由于WINDOWS自身系统原因,经常容易出现网关浮动或不稳定的情况,比如PING办公自动化地址无法PING通,却返回从192.168.97.10(路由器1)反馈的信息,此时查看网络路由,路由表正常,此时需要刷新路由。

事实上,可以采取同单网卡类似的办法,可以去掉网络属性中网关,进行人工设置路由。人工设置路由更加精确和自由,比如可以人工控制究竟访问某个网站还是某个网段或者全部网段。

参照上图配置,可在DOS提示符下键入如下命令:

route delete 0.0.0.0

route add 0.0.0.0 mask 0.0.0.0 192.168.97.10(网卡1寻址路由,上互联网,默认路由)

route add 10.42.0.0 mask 255.255.0.0 10.42.29.10(网卡2寻址路由,上办公网)。

当然可以添加- P参数或者将路由添加信息加入自动批处理文件使路由信息永久生效

案例:
Active Routes:
Network Destination Netmask Gateway Interface
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.125
172.0.0.0 255.0.0.0 172.18.108.6 172.18.108.121

有效的DOS命令:ipconfig /renew;
在运行窗口:msconfig,可以看到服务启动情况。

双网卡的Windows路由配置(图)(内外网同时上)(重叠路由)

因为Windows 2000 下只允许配置一个默认网关,如果在网上邻居--〉属性里面把本地连接(内网)配上网关192.168.97.10,本地连接2(外网)配上网关10.42.29.10,表面上看是配置了2个网关,但是在DOS环境下输入route print命令查看路由表,在路由表下的default gateway只有1个网关。


实际上,如果我们的内部网Intranet只处于一个网段192.168.97.0,内部网内的ip地址范围192.168.97.1~192.168.97.254,连接内网的本地连接可以不用配网关,只配外网的本地连接2网关10.42.29.10。

当内网 1号主机 192.168.97.2要与 2号主机 192.168.97.3通讯,主机1检查目标地址ip 192.168.97.3的网段为 192.168.97.3与运算255.255.255.0为192.168.97.0,跟本主机处于同一网段,经交换机(根据MAC地址转发)直接把数据包发给目标主机,而不会走路由器。

当本机器要上外网的时候,经查找本机的路由表,在route print命令显示出来的路由表中,路由查询是从下往上查询的,最上面的路由条目为默认路由。经网关把数据包发出去,从而达到与外网通讯的目的。

如果内网还分好几个网段,这时候,如果内网的本地连接不设网关,显然是不能与内网的其他网段通讯的。例:如果内网主机192.168.97.1要与192.168.98.1通讯,该主机查找本地路表,由于没有找到192.168.98.0的相关路由表项,最后只好走默认路由,把数据包送到网关10.42.29.10,而这个网关是外部网的网关,该数据包显然是无法到达我们内部网的(设内外网的目的主要是为了隔绝,所以外网是无法把此数据包路由到内网的相应目的主机上的)

解决的办法:添加静态路由,由于内部网都是以192.168开头的,所以我们可以在DOS环境下输入: route add 192.168.0.0 mask 255.255.0.0  192.168.97.10     这又产生了一个问题,192.168.98.1的子网掩码为255.255.255.0,

重叠路由
假设在路由表中有下列重叠项:

目的 掩码 网关 标志 接口
1.2.3.4 255.255.255.255 201.66.37.253 UGH eth0
1.2.3.0 255.255.255.0 201.66.37.254 UG eth0
1.2.0.0 255.255.0.0 201.66.37.253 UG eth1
default 0.0.0.0 201.66.39.254 UG eth1
之所以说这些路由重叠是因为这四个路由都含有地址1.2.3.4,如果向1.2.3.4发送数据,会选择哪条路由呢?在这种情况下,会选择第一条路由,通过网关201.66.37.253。原则是选择具有最长(最精确)的子网掩码。类似的,发往1.2.3.5的数据选择第二条路由。
注意:这条原则只适用于间接路由(通过网关)。把两个接口定义在同一子网在很多软件实现上是非法的。例如下面的设置通常是非法的(不过有些软件将尝试在两个接口进行负载平衡):

接口 IP地址 子网掩码
eth0 201.66.37.1 255.255.255.0
eth1 201.66.37.2 255.255.255.0
对于重叠路由的策略是十分有用的,它允许缺省路由作为目的为0.0.0.0、子网掩码为0.0.0.0的路由进行工作,而不需要作为路由软件的一个特殊情况来实现。
回头来看看CIDR,仍使用上面的例子:一个服务提供商被赋予256个C类网络,从213.79.0.0到213.79.255.0。该服务提供商外部的路由表只以一个表项就了解了所有这些路由:213.79.0.0,子网掩码为255.255.0.0。假设一个用户移到了另一个服务提供商,他拥有网络地址213.79.61.0,现在他是否必须从新的服务提供商处取得新的网络地址呢?如果是,意味着他必须重新配置每台主机的IP地址,改变DNS设置,等等。幸运的是,解决办法很简单,原来的服务提供商保持路由213.79.0.0(子网掩码为255.255.0.0),新的服务提供商则广播路由213.79.61.0(子网掩码为255.255.255.0),因为新路由的子网掩码较长,它将覆盖原来的路由。

此文章由 flyinweb 于 2011-04-23 09:09:46 编辑

本日志由 flyinweb 于 2010-07-16 09:36:27 发表,目前已经被浏览 4636 次,评论 0 次;

作者添加了以下标签: 双网卡路由配置内外网同时使用,重叠路由

引用通告:http://www.517sou.net/Article/474/Trackback.ashx

评论订阅:http://www.517sou.net/Article/474/Feeds.ashx

评论列表

    暂时没有评论
(必填)
(必填,不会被公开)