xp多网卡静态路由设置方法

一、多个IP都在同一网段或VALN。这类情况没什么好说的,在各块网卡的本地连接属性里设置好IP地址、子网掩码和默认网关即可。

二、多个IP属于不同网段或VLAN。这时如果按照通常的方法设置IP地址,填好各网段的子网掩码和默认网关,就会发现服务器所在的多个网段中,只有一个网段可以正常通信。

这个问题我也是最近才碰到的。经过Google和百度一番,得出原因:路由冲突。

我们知道,Windows系统下为网络连接填写默认网关等于为本机添加一条默认静态路由。打开“本地连接属性”--“Internet协议(TCP/IP)属性”,点击“高级”,会看到默认网关一栏里有个“跃点数”,这个跃点数即跳数(默认为自动,数值为20),可以理解为网关的优先级,也就是路由的优先级,此数值越小路由优先级越高。比如,假定你网卡1的IP地址设置为地址1(192.168.1.2,掩码255.255.255.0,默认网关192.168.1),此时打开CMD,输入route print,可以看到本机路由表。我们可以看到一条下一跳地址为默认网关的路由。
这条路由的意义为:只要包的目的地址不在本网段,不管目的地址是什么,都把包抛给默认网关,由网关负责转发。由于我们没有修改跃点数,所以可以看到metric为20,即本条路由的优先级为20。

同理,如果你又插了另一块网卡2,IP地址设为地址2(172.30.0.2,掩码255.255.255.0,默认网关172.30.0.1),系统同样会添加一条静态路由至本机路由表:

0.0.0.0 0.0.0.0 172.30.0.1

很明显这两条路由冲突,肯定只有一条会生效,因此肯定只有一个网段可以正常通信了。

既然知道了原因是路由冲突,咱想办法不让它冲突就行了呗。方法是:不填写默认网关,手动添加路由。以双网卡为例,可以两个都不填,也可以只填一个,总之目的就是设置好路由,让包被发送到正确的网关。我们先把网卡1和2的默认网关都删掉,再看路由表,刚才那两条路由都不见了。然后我们用route add命令来手动添加路由。首先为192网段添加:比如我们向整个192.168.0.0网段中的其他网段发送数据包时,都需要经本网段网关192.168.1.1进行转发,则我们在CMD中输入如下命令:

route -p add 192.168.0.0 mask 255.255.0.0 192.168.1.1 metric 1

其中-p参数是添加长效路由的意思;192.168.0.0是目的地址;mask 255.255.0.0是目的地址的掩码;192.168.1.1是下一跳地址,即网关。添加本条路由后,192段的通信可以正常进行。

接下来为172段添加:比如我们向整个172.30.0.0网段中的其他网段发送数据包时,都需要经本网段网关172.30.0.1进行转发,则我们在CMD中输入如下命令:

route -p add 172.30.0.0 mask 255.255.0.0 172.30.0.1 metric 1

添加本条路由后,172段的通信可以正常进行。

我们刚才添加的两条路由各自为发向192段和172段的包指明了路由,作用跟默认网关是一样的,但是并不冲突,因此可以实现两个网段同时通信。

另外还有一种情况,比如:上例中本机的网卡1用来连接内网,内网的范围是192.168.0.0 255.255.255.0;网卡2通过外网路由器172.30.0.1上外网。此时我们手动添加的两条路由,第一条不需变化,仍为

route -p add 192.168.0.0 mask 255.255.0.0 192.168.1.1 metric 1

第二条需要改为

route -p add 0.0.0.0 mask 0.0.0.0 172.30.0.1 metric 1 即相当于为本地连接2填写了默认网关。

这两条路由虽然有冲突的部分,但由于路由的最长匹配原则,仍然可以一起使用:发往192段的包,经过路由匹配后发现路由1最适合自己,就不会再与路由2进行匹配了;发往其他网段(外网)的包则会通过路由2转发出去。

好了,以上就是多网卡的路由配置了。下面是路由命令的用法,直接拷过来的,有兴趣的就看看吧

Route命令详解

   1.具体功能
       该命令用于在本地IP路由表中显示和修改条目。使用不带参数的ROUTE可以显示帮助。
           2.语法详解
       route [-f] [-p] [command [destination] [mask netmask] [gateway] [metric
       metric] [if interface]
           3.参数说明
       -f
       清除所有不是主路由(子网掩码为255.255.255.255的路由)、环回网络路由(目标为127.0.0.0,子网掩码为255.255.255.0的路由)或多播路由(目标为224.0.0.0,子网掩码为240.0.0.0的路由)的条目的路由表。如果它与命令之一(例如Add、Change或Delete)结合使用,表会在运行命令之前清除。

-p
       与Add命令共同使用时,指定路由被添加到注册表并在启动TCP/IP协议的时候初始化IP路由表。默认情况下,启动TCP/IP协议时不会保存添加的路由,与Print命令一起使用时,则显示永久路由列表。所有其他的命令都忽略此参数。永久路由存储在注册表中的位置是HKEY_LOCAL_MACHSYSTEMCurrentControlSetServicesTcpipParametersPersistentRoutes。

command 指定要运行的命令。下表列出了有效的命令。
       destination
       指定路由的网络目标地址。目标地址可以是一个IP网络地址(其中网络地址的主机地址位设置为0),对于主机路由是IP地址,对于默认路由是0.0.0.0。mask
       subnetmask
       指定与网络目标地址相关联的网掩码(又称子网掩码)。子网掩码对于IP网络地址可以是一适当的子网掩码,对于主机路由是255.255.255.255
对于默认路由是0.0.0.0。如果忽略,则使用子网掩码255.255.255.255。定义路由时由于目标地址和子网掩码之间的关系,目标地址不能比它对应的子网掩码更为详细。换句话说,如果子网掩码的一位是0,则目标地址中的对应位就不能设置为1。

gateway
       指定超过由网络目标和子网掩码定义的可达到的地址集的前一个或下一个跃点IP地址。对于本地连接的子网路由,网关地址是分配给连子网接口的IP地址。对于要经过一个或多个路由器才可用到的远程路由,网关地址是一个分配给相邻路由器的、可直接达到的IP地址。

metric metric
       为路由指定所需跃点数的整数值(范围是1~9999),它用来在路由表里的多个路由中选择与转发包中的目标地址最为匹配的路由。所选的路由具有最少的跃点数。跃点数能够反映跃点的数量、路径的速度、路径可靠性、路径吞吐量以及管理属性。

if interface 指定目标可以到达的接口的接口索引。使用Route
       print命令可以显示接口及其对应接口索引的列表。对于接口索引可以使用十进制或十六进制的值。对于十六进制值,要在十六进制数的前面加上0x。忽略if参数时,接口由网关地址确定。

注意:路由表中跃点数一列的值较大是由于允许TCP/IP根据每个LAN接口的IP地址、子网掩码和默认网关的配置自动确定路由表中路由的跃点数造成的。默认启动的自动确定接口跃点数确定了每个接口的速度,调整了每个接口的路由跃点数,因此最快接口所创建的路由具有最低的跃点数。要删除大跃点数,请在每个LAN连接的TCP/IP协议的高级属性中禁用自动确定接口跃点数。

如果在systemrootSystem32DriversEtc文件夹的本地网络文件中存在适当的条目,名称可以用于Destination。只要名称可以通过“域名系统”(DNS)查询这样的标准主机名解析技术分解为IP地址,就可以将其用于Gateway,DNS查询使用存储在systemrootSystem32DriversEtc
       文件夹下的本地主机文件和NetBIOS 名称解析。
       如果是Print或Delete命令,可以忽略Gateway参数,使用通配符来表示目标和网关。Destination的值可以是由星号(*)指定的通配符。如果指定目标含有一个星号(*)或问号(?),它被看作是通配符,只打印或删除匹配的目标路由。星号代表任意一字符序列,问号代表任一字符。例如,10.*.1、192.168.*、127.*和*224*都是星号通配符的有效使用。

使用了无效的目标和子网掩码(网掩码)值的组合,会显示“Route bad gateway address
       netmask”错误消息。目标中有一位或多位设置为1,而其在子网掩码中的对应位设置为0时会发生这个错误。可以通过二进制表示法表示目标和子网掩码来检查这种情况。以二进制表示的子网掩码包括表示目标网络地址部分的一连串的1和表示目标主机地址部分的一连串的0两个部分。查看目标以确定目标的主机地址部分(由子网掩码所定义)

是否有些位设置成了1。
       Windows 98 的Route命令不支持-p参数。
       只有当TCP/IP协议在网络连接中安装为网络适配器属性的组件时,该命令才可用。
           4.例举说明
       例子1:要显示IP路由表的完整内容,执行以下命令:
       route print
       例子2:要显示IP路由表中以10.开始的路由,执行以下命令:
       route print 10.*
       例子3:要添加默认网关地址为192.168.12.1的默认路由,执行以下命令:
       route add 0.0.0.0 mask 0.0.0.0 192.168.12.1
       例子4:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1的路由,执行以下命令:
       route add 10.41.0.0 mask 255.255.0.0 10.27.0.1
       例子5:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1的永久路由,执行以下命令:
       route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1
       例子6:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1,跃点数为7的路由,执行以下命令:
       route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7
       例子7:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1,接口索引为0x3的路由,执行以下命令:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3
       例子8:要删除目标为10.41.0.0,子网掩码为255.255.0.0的路由,执行以下命令:
       route delete 10.41.0.0 mask 255.255.0.0
       例子9:要删除IP路由表中以10.开始的所有路由,执行以下命令:
       route delete 10.*
       例子10:要将目标为10.41.0.0,子网掩码为255.255.0.0的路由的下一个跃点地址由10.27.0.1更改为10.27.0.25,执行以下命令:

route change 10.41.0.0 mask 255.255.0.0 10.27.0.25

route delete 0.0.0.0 mask 0.0.0.0

route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 1

xp多网卡静态路由设置方法的更多相关文章

  1. CentOS 6.4 添加永久静态路由所有方法汇总(原创)

    转摘,原文章地址:http://blog.sina.com.cn/s/blog_828e50020101ern5.html 查看路由的命令route -n CentOS添加永久静态路由 在使用双网卡, ...

  2. linux下(Ubuntu、centos)添加永久静态路由的方法

    项目中经常遇到多网卡的服务器,但是一个服务器的默认网关只有一个,当需要在多个网络中访问的时候(特别是在公安.交警等政府项目中),就需要添加静态路由了. 添加静态路由的方法有很多种,下面介绍2种比较常见 ...

  3. VS2010 MFC中 静态编译设置方法

    问题:VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100u.dll xxx100d.dll等 解决方法:1.将这些dll打包,和应用程序一起发布;2.采用MFC静态编译; 静态编译: ...

  4. Linux系统添加永久静态路由的方法(包含Centos7)

    一.使用route命令添加 使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:A.添加到主机的路由# route add –host 192.168.1.10 dev eth0 ...

  5. (11)树莓派3 有线网卡静态IP设置

    https://www.cnblogs.com/10e-6/p/5778355.html 树莓派设置静态IP地址 首先终端输入: ifconfig 查看树莓派默认分配的动态IP地址. 图 1-4 配置 ...

  6. 树莓派3 有线网卡静态IP设置

    步骤: 1.使用SSH登陆树莓派,第一连接可使用鼠标+键盘+显示器直接进入树莓派界面设置无线连接. 2.更新软件: sudo apt-get update 3.安装vim:系统自带的vi非常不好用,使 ...

  7. DEDE整站动态化或整站静态化设置方法,织梦栏目批量静态/动态方法

    跟版网建站接到一个朋友提问,100多各栏目全部要从动态变成静态,里面的文章也要静态化,如何更快捷的设置dede的静态化或者动态化呢? 直接用DEDE后台的SQL命令行工具, SQL语句: DEDE整站 ...

  8. CentOS6网卡静态IP设置

    CentOS网卡配置源文件如下:DEVICE=eth0HWADDR=00:0C:29:A8:67:46TYPE=EthernetUUID=4103d7a8-d073-4e93-ac68-e6f8496 ...

  9. DEDE整站动态化或整站静态化设置方法

    简单说下的是,网站空间小而数据库还可以的话,使用动态浏览也是不错的,但是官方的程序默认的生成静态浏览的,只要一发布文章,就会自动生成静态页面,难道做发布文章还要一个一个去更改其他的设置吗?麻烦.对于采 ...

随机推荐

  1. Android开发----权限大全

    一.添加权限格式:     示例:      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STOR ...

  2. javascript 之DOM篇

    要怎么样的开场白才能使我有力气再更新学习进度呢?啊啊啊啊啊,表示好累啊~~~默念“棒棒棒,我最棒~”召唤精气神开总结敲字咯.哈哈哈. --------------------------------- ...

  3. mysqldump备份、还原数据库路径名含有空格的处理方法(如:Program Files)

    虽然以下的方法也可以解决,不过最简单直接的,还是直接在路径前后加双引号-" ",这个方法简单有效. 首先要说明的是mysqldump.exe在哪里不重要,重要的是要处理好路径中的非 ...

  4. SGU 143.Long Live the Queen(女王万岁)

    时间限制:0.25s 空间限制:4M 题意: 有n(n<=16000)个小镇,每两个小镇有且仅有一条路径相连.每个小镇有一个收益x(-1000<=x<=1000). 现在要求,选择一 ...

  5. SGU 163.Wise King

    一道题目长的水题.... 总结就一句话,给出n个(-3~3)的数,一个数m,取任意个数是使这些数的m次幂之和最大. code #include <iostream> #include &l ...

  6. centos6.5安装vsftp服务并配置虚拟账户ftp

      当我们的用户量越来越大时,继续创建更多的系统用户是不明智的,这时就需要为vsftpd创建虚拟账户,但vsftpd虚拟账户的数据库要保存在Berkeley DB格式的数据文件中,所以需要安装db4- ...

  7. 借助Q.js学习javascript异步编程。

    金字塔式 //add1 function step1(n, callback) { setTimeout(function(){ callback.call(null, n + 1); }, 100) ...

  8. Node 之 Express 学习笔记 第一篇 安装

    最近由于工作不忙,正好闲暇时间学学基于 node 的 web开发框架. 现在关于web开发框架除了Express 还有新出的 KOA以及其它一些. 但是想想还是先从 Express 入手吧.因为比较成 ...

  9. css实现三角的一些方法

    css实现三角没有想象中的那么难,只要明白border的各种属性的意思就很好明白css三角是如何实现的. 一下是几个很简单的例子:   css三角形状的制作:     css样式:    .trian ...

  10. Linux 查看 80 端口的占用情况

    lsof -i:端口号 eg: lsof -i:80 lsof -i:21 [root@localhost ~]# lsof -i: COMMAND PID USER FD TYPE DEVICE S ...