Route命令的使用

作者:anyliz
原发表日期:2006-09-19
摘录:惑者

问题描述:

首先说一下自己的网络情况,PC机的局域网IP192.168.1.X,网关192.168.1.254, 掩码:255.255.255.0。交换机上已接上10.x.x.x相应的网线,现欲使192.168.1.x 能访问10.x.x.x的网络,10.x.x.x的网络是不能访问Internet的。

如果增加一个10.x.x.x的IP同时设置10.x.x.x的路由为网关,则可能出现访问 Internet 时候走10.x.x.x的路由,导致不能上网;访问10.1.x.x网络时候,走192.168.1.254的路 由,出现无法访问的情况。在实际的测试中也确实出现了这样的情况。

解决办法:

在网络连接的属性中增加一IP为10.1.x.x,掩码255.255.255.0,网关还是原来192.168.1.254 在 cmd 下使用 route 命令:

C:\Documents and Settings\Administrator>ping 10.0.1.1

Pinging 10.0.1.1 with 32 bytes of data:

Control-C
^C
C:\Documents and Settings\Administrator>route print

IPv4 Route Table
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x10003 ...00 16 ec ac 96 d5 ...... VIA Rhine II Fast Ethernet Adapter
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.1.254     192.168.1.64     20
         10.1.3.0    255.255.255.0       10.1.3.199     192.168.1.64     20
       10.1.3.199  255.255.255.255        127.0.0.1        127.0.0.1     20
   10.255.255.255  255.255.255.255     192.168.1.64     192.168.1.64     20
        127.0.0.0        255.0.0.0        127.0.0.1        127.0.0.1      1
      192.168.1.0    255.255.255.0     192.168.1.64     192.168.1.64     20
     192.168.1.64  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.1.255  255.255.255.255     192.168.1.64     192.168.1.64     20
        224.0.0.0        240.0.0.0     192.168.1.64     192.168.1.64     20
  255.255.255.255  255.255.255.255     192.168.1.64     192.168.1.64      1
Default Gateway:     192.168.1.254
===========================================================================
Persistent Routes:
  None

C:\Documents and Settings\Administrator>route add -p 10.0.0.0 MASK 255.0.0.0 10.1.3
.254 METRIC 3 IF 0x10003

C:\Documents and Settings\Administrator>route print

IPv4 Route Table
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x10003 ...00 16 ec ac 96 d5 ...... VIA Rhine II Fast Ethernet Adapter
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.1.254     192.168.1.64     20
         10.0.0.0        255.0.0.0       10.1.3.254     192.168.1.64      3
         10.1.3.0    255.255.255.0       10.1.3.199     192.168.1.64     20
       10.1.3.199  255.255.255.255        127.0.0.1        127.0.0.1     20
   10.255.255.255  255.255.255.255     192.168.1.64     192.168.1.64     20
        127.0.0.0        255.0.0.0        127.0.0.1        127.0.0.1      1
      192.168.1.0    255.255.255.0     192.168.1.64     192.168.1.64     20
     192.168.1.64  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.1.255  255.255.255.255     192.168.1.64     192.168.1.64     20
        224.0.0.0        240.0.0.0     192.168.1.64     192.168.1.64     20
  255.255.255.255  255.255.255.255     192.168.1.64     192.168.1.64      1
Default Gateway:     192.168.1.254
===========================================================================
Persistent Routes:
  None

C:\Documents and Settings\Administrator>ping 10.1.2.240

Pinging 10.1.2.240 with 32 bytes of data:

Reply from 10.1.2.240: bytes=32 time=35ms TTL=253
Reply from 10.1.2.240: bytes=32 time=34ms TTL=253
Reply from 10.1.2.240: bytes=32 time=35ms TTL=253
Reply from 10.1.2.240: bytes=32 time=34ms TTL=253

Ping statistics for 10.1.2.240:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 34ms, Maximum = 35ms, Average = 34ms

附注:微软的 Route 命令使用帮助 相关链接

引用内容

Route
在本地 IP 路由表中显示和修改条目。使用不带参数的 route 可以显示帮助。

语法

route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]

参数

-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_MACHINESYSTEMCurrentControlSetServicesTcpipParameters PersistentRoutes。

Command

指定要运行的命令。下表列出了有效的命令。

命令意图
add
添加路由。
change
更改现有路由。
delete
删除路由。
print
打印路由。
Destination
指定路由的网络目标地址。目标地址可以是一个 IP 网络地址( 其中网络地址的主机地址位设置为 0),对于主机路由是 IP 地址, 对于默认路由是 0.0.0.0。
mask Netmask
指定与网络目标地址相关联的网掩码(又称之为子网掩码)。 子网掩码对于 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 参数时,接口由网关地址确定。
/?
在命令提示符下显示帮助。

注释

  • 路由表内 metric 栏中的值较大是由于允许 TCP/IP 根据每个 LAN 接口的 IP 地址、子网掩码和默认网关的配置自动确定路由表中路由的跃点数造成 的。默认启动的自动确定接口跃点数确定了每个接口的速度,调整了每个 接口的路由跃点数,因此最快接口所创建的路由具有最低的跃点数。要删除 大跃点数,请在每个 LAN 连接的 TCP/IP 协议的高级属性中禁用自动确定 接口跃点数。
  • 如果在 systemrootSystem32DriversEtc 文件夹的本地网络文件中存在 适当的项,则名称可以用于 Destination。只要名称可以通过“域名系统 (DNS)”查询这样的标准主机名解析技术解析为 IP 地址,使用存储在 systemrootsystem32driversetc 文件夹下的本地主机文件,以及 NetBIOS 名称解析,就可以将其用于 gateway。
  • 如果是 print 或 delete 命令,可以忽略 Gateway 参数,并使用通配符来表示 目标位置和网关。Destination 值可以是由星号 (*) 指定的通配符值。如果指定 目标含有一个星号 (*) 或问号 (?),它被看作是通配符,只打印或删除匹配的目 标路由。星号代表任意一字符序列,问号代表任一字符。例如, 10.*.1, 192.168.*、 127.* 和 224 都是星号通配符的有效使用。
  • 使用无效的目标位置和子网掩码(网络掩码)组合值可以显示 Route:bad gateway address netmask 这则错误消息。目标中有一位或多位设置为 1,而其在子网掩码 中的对应位设置为 0 时会发生这个错误。可以通过二进制表示法表示目标和子网掩码 来检查这种情况。以二进制表示的子网掩码包括表示目标网络地址部分的一连串的 1 和表示目标主机地址部分的一连串的 0 两个部分。查看目标以确定目标的主机地址部 分(由子网掩码所定义)是否有些位设置成了 1。
  • 只有 Windows NT 4.0、Windows 2000、Windows Millennium Edition、Windows XP 以及 Windows Server 2003 家族产品的 route 命令才支持 -p 参数。Windows 95 或 Windows 98 的 route 命令不支持该参数。
  • 只有当“Internet 协议 (TCP/IP)”协议在“网络连接”中安装为网络适配器属性的组件 时,该命令才可用。

示例

要显示 IP 路由表的完整内容,请键入:

route print

要显示 IP 路由表中以 10. 开始的路由,请键入:

route print 10.*

要添加默认网关地址为 192.168.12.1 的默认路由,请键入:

route add 0.0.0.0 mask 0.0.0.0 192.168.12.1

要添加目标为 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

要添加目标为 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

要添加目标为 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

要添加目标为 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

要删除目标为 10.41.0.0,子网掩码为 255.255.0.0 的路由,请键入:

route delete 10.41.0.0 mask 255.255.0.0

要删除 IP 路由表中以 10. 开始的所有路由,请键入:

route delete 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 print显示内容的解释

  • IP协议安装后,会为网络连接创建堆栈,为自己创建一个127.0.0.x的本地回路, 自动获取或者等待用户手工设定一个IP地址,向网络公布自己并探索相邻的协议 载体,侦听来自网络的数据包,按照IP属性设定的DHCP,DNS,GATEWAY等网络 规则通讯。
  • INTERNET中不同网段无法直接互访,需要借助于路由器包转发功能解决,规则 的根据是一个自动或者手工编制路由信息表。

其实在单机内部也是存在包转发过程的,ROUTE命令可以为我们展示一张路由信息表:

C:\WINNT\system32>ROUTE PRINT
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x4000003 ...00 XX XX a8 XX c7 ...... Intel(R) PRO Adapter
===========================================================================
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.111 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.0.0 255.255.255.0 192.168.0.111 192.168.0.111 1
192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.0.255 255.255.255.255 192.168.0.111 192.168.0.111 1
224.0.0.0 224.0.0.0 192.168.0.111 192.168.0.111 1
255.255.255.255 255.255.255.255 192.168.0.111 192.168.0.111 1
Default Gateway: 192.168.0.1
===========================================================================
Persistent Routes:
None

这张表告诉我们单机内部IP协议是怎么样维护着不同网络段数据包的转发,也许你 会认为电脑pc应该只存在于一个网络段,宏观的看是这样的,这里说的却是从协议 内部微观角度查看。

在内环境中,电脑工作相关的网段是:

255.255.255.255 255.255.255.255 192.168.0.111 192.168.0.111 1

面向网络接口的广播,不论你是什么网络段,LAN还是INTERNET,都存在这个网络 段。他是这台电脑与身边IP环境通讯的基础。

224.0.0.0 224.0.0.0 192.168.0.111 192.168.0.111 1

多播地址(multicast)同样是探知网络。多播地址利用不同的多播地址所代表的协议或者 设备 有针对性的对网络环境进行发现。

192.168.0.255 255.255.255.255 192.168.0.111 192.168.0.111 1

本计算机所在网络的广播地址。他的存在是与同一网段的机器进行通讯的基础。

192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1

本计算机自身IP访问自身IP的环路。这个路由定义了如果这台计算机访问自己的IP 不要经过别的网关,直接通过127.0.0.1本地回路IP访问自己。相当于自己是自己的网关。

192.168.0.0 255.255.255.0 192.168.0.111 192.168.0.111 1

本计算机所在的网络地址,代表了一个网段。

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

IP协议规定的本地回路的固定地址。只要安装了IP协议,就可以用127.X.X.X访问自己。 为了数值的统一,都用127.0.0.1代表自己。

0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.111 1

这个和一般路由器配置的默认路由是一个含义。代表了面向应用的,所有目标不是多播, 广播,本地回路,本地IP的数据包,全部通过指定的网关进行转发访问。

路由表在路由器中的配置有很大学问,很重要的就是表项目的顺序。

一个顺序合理的路由表代表了性能、安全、高效。

本地计算机中的静态路由表,如上面所述的表,也同样采用了选择顺序,从下到上。

本地计算机的环路路由是本地静态路由表的特色,

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.0.111 255.255.255.255 127.0.0.1 127.0.0.1 1

这个条路由信息可以:

  1. 有帮助的。 可以帮助没有真实网络环境的人,测试本地网络应用程序。用得最多的是本机构 造IIS、网络程序编制等。
  2. 安全的。 比如计算机在启动过程中运行的很多虚拟子程序,服务程序,防火墙,系统进程等 ,都要访问甚至和连接本机其它程序端口。有了本地回路这种路由,就不用通过网 关,很大程度避免了系统信息外漏。
  3. 高效的。 减少网络中的流量,并且直接采用本地环路,减少网络质量差的错误等待时间。

用户完全可以自己增加和修改路由表,比如一台电脑和其它电脑连接成为网络。

但是他们的网络ip不在同一个网络段中,可以通过修改静态路由表,达到网络相通。