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
- 删除路由。
- 打印路由。
- 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
这个条路由信息可以:
- 有帮助的。 可以帮助没有真实网络环境的人,测试本地网络应用程序。用得最多的是本机构 造IIS、网络程序编制等。
- 安全的。 比如计算机在启动过程中运行的很多虚拟子程序,服务程序,防火墙,系统进程等 ,都要访问甚至和连接本机其它程序端口。有了本地回路这种路由,就不用通过网 关,很大程度避免了系统信息外漏。
- 高效的。 减少网络中的流量,并且直接采用本地环路,减少网络质量差的错误等待时间。
用户完全可以自己增加和修改路由表,比如一台电脑和其它电脑连接成为网络。
但是他们的网络ip不在同一个网络段中,可以通过修改静态路由表,达到网络相通。