route 命令
用途
手工操作路由表。
语法
route [ -f ] [ -n ] [ -q ] [ -v ] Command [ Family ] [ [ -net | -host ] Destination [ -prefixlen n] [ -netmask [ Address ] ] Gateway ] [ Arguments ]
描述
route 命令允许创建手工条目到网络路由表。route 命令通过解释 Destination 变量的网络地址来区分路由到主机和路由到网络,该变量可以用符号名地址或数字地址来指定。route 命令把所有符号名解析为地址,通过使用 /etc/hosts 文件或网络名称服务器。
通过解释与目的地相关的因特网地址来将那些到主机的路由与到网络的路由区别开。可选的关键字 -net 和-host 分别地强制解释目标位置为一个网络或一台主机。如果目标位置有本地地址部分 INADDR_ANY 或者目标位置是一个网络的符号名称,那么被认为是到网络的路由,否则假定为到主机的路由。
例如,128.32 被解释为 -host 128.0.0.32;128.32.130 被解释为 -host 128.32.0.130;-net 128.32 被解释为128.32.0.0;以及 -net 128.32.130 被解释为128.32.130.0。
如果路由通过的接口不是网关,则应该指定 -interface 参数。指定的网关是在公共网络上的主机地址,表示使用该接口来传输。
-netmask 参数必须跟有一个地址参数(解释为网络掩码)。该地址可以覆盖在有 -inet 选项的情况下生成的隐式网络掩码,同时确保此选项跟在 Destination 参数后面。
所有为目标位置或网关指定的符号名称首先作为一个主机名来查找,通过使用 gethostbyname 子例程。如果该操作失败,然后使用 getnetbyname 子例程将名称解释为一个网络名。
注: 路由使用路由选择套接字和新消息类型 RTM_ADD、RTM_DELETE 和RTM_CHANGE。正因如此,只有 root 用户可以修改路由表。
如果指定 flush 或-f 命令,路由将“刷新”,或清除所有网关条目的路由表。可以选择只刷新那些目的地地址属于给定地址系列的路由,通过指定可选的描述地址系列的关键字。