Linux基础入门--网络工具--ip-route

Linux基础入门--网络工具--ip-route

1.概述

路由表管理,用于操作内核路由表中的条目。

2.语法

ip [ ip-OPTIONS ] route  { COMMAND | help }
ip route { list | flush } SELECTOR
ip route save SELECTOR
ip route restore
ip route get ADDRESS [ from ADDRESS iif STRING  ] [ oif STRING ] [ tos TOS ]
ip route { add | del | change | append | replace } ROUTE
SELECTOR := [ root PREFIX ] [ match PREFIX ] [ exact PREFIX ] [ table TABLE_ID ] [ proto RTPROTO ] [ type TYPE ] [ scope SCOPE ]
ROUTE := NODE_SPEC [ INFO_SPEC ]
NODE_SPEC := [ TYPE ] PREFIX [ tos TOS ] [ table TABLE_ID ] [ proto RTPROTO ] [ scope SCOPE ] [ metric METRIC ]
INFO_SPEC := NH OPTIONS FLAGS [ nexthop NH ] ...
NH := [ via [ FAMILY ] ADDRESS ] [ dev STRING ] [ weight NUMBER ] NHFLAGS
FAMILY := [ inet | inet6 | ipx | dnet | mpls | bridge | link ]
OPTIONS := FLAGS [ mtu NUMBER ] [ advmss NUMBER ] [ as [ to ] ADDRESS ] rtt TIME ] [ rttvar TIME ] [ reordering NUMBER ] [ window NUMBER ] [ cwnd NUMBER ] [
           ssthresh REALM ] [ realms REALM ] [ rto_min TIME ] [ initcwnd NUMBER ] [ initrwnd NUMBER ] [ features FEATURES ] [ quickack BOOL ] [ congctl NAME ]
           pref PREF ]
TYPE := [ unicast | local | broadcast | multicast | throw | unreachable | prohibit | blackhole | nat ]
TABLE_ID := [ local| main | default | all | NUMBER ]
SCOPE := [ host | link | global | NUMBER ]
NHFLAGS := [ onlink | pervasive ]
RTPROTO := [ kernel | boot | static | NUMBER ]
FEATURES := [ ecn | ]
PREF := [ low | medium | high ]

3.参数说明

路由类型:

类型 说明
unicast route条目描述到route前缀覆盖的目的地的实际路径。
unreachable 这些目的地是不可到达的。丢弃数据包并生成不可到达的ICMP消息主机。本地发送者获得EHOSTUNREACH错误。
blackhole 这些目的地是不可到达的。数据包被静默地丢弃。本地发送者得到一个EINVAL错误。
prohibit 这些目的地是不可到达的。丢弃数据包,生成管理上禁止的ICMP消息通信。本地发送者得到EACCES错误。
local 目的地被分配给此主机。数据包被循环返回并在本地交付。
broadcast 目的地是广播地址。数据包以链路广播的形式发送。
throw 与策略规则一起使用的特殊控制路由。如果选择了这样一个路由,则假装没有找到任何路由,终止此表中的查找。如果没有策略路由,则等同于路由表中没有路由。数据包被丢弃,并生成不可到达的ICMP消息网。本地发送者收到ENETUNREACH错误。
nat 一个特殊的NAT路由。前缀覆盖的目的地被认为是哑(或外部)地址,在转发之前需要转换为真实(或内部)地址。通过属性via选择要转换的地址。警告:Linux 2.6不再支持路由NAT。
anycast 未实现的目的地是分配给此主机的anycast地址。它们主要等同于本地地址,只有一个区别:当用作任何数据包的源地址时,这些地址是无效的。
multicast 一种用于多播路由的特殊类型。它不存在于正常的路由表中。

路由表:Linux-2.x可以包路线分成几个路由表由数量范围从1到2 ^ 31或默认的名字从文件/etc/iproute2/rt_tables正常路线都插入到主表(ID 254)和内核只使用这个表在计算路线。值(0、253、254和255)保留为内置使用。实际上,另一个表始终存在,它是不可见的,但更重要。它是本地表(ID 255)。此表由本地地址和广播地址的路由组成。内核自动维护这个表,管理员通常不需要修改它,甚至不需要查看它。
当使用策略路由时,多个路由表将进入规则:
命令说明:

命令 说明
ip route add 添加新的路由
ip route change 改变路由
ip route replace 改变或者添加路由
ip route delete ip route del与ip route add具有相同的参数
ip route show 该命令显示路由表的内容或根据某些条件选择的路由
ip route flush 此命令刷新按某些标准选择的路由
ip route get 这个命令通过一条路径到达目的地,并打印内核看到的内容

参数说明:

参数 说明
to TYPE PREFIX (default) 路线的目的地前缀。如果省略类型,ip假设是单播类型。其他类型的值在上面列出。前缀是一个IP或IPv6地址,后面可选一个斜杠和前缀长度。如果没有前缀的长度,ip就假定是完整长度的主机路由。还有一个默认的特殊前缀——相当于IP 0/0或IPv6::/0。
tos TOS tos值
dsfield TOS 服务类型(TOS)键。这个密钥没有关联的掩码,最长的匹配可以理解为:首先,比较路由的TOS和数据包的TOS。如果它们不相等,那么包仍然可以匹配一个零TOS的路由。TOS要么是8位的十六进制数,要么是来自/etc/iproute2/rt_dsfield的标识符。
metric NUMBER metric值
preference NUMBER 路由的偏好值。数字是一个任意的32位数字。
table TABLEID 要将此路由添加到的表。TABLEID可以是一个数字或字符串从文件/etc/iproute2/rt_tables。如果省略了这个参数,ip假设是主表,除了本地、广播和nat路由,这些路由在默认情况下被放入本地表。
dev NAME 输出设备名称
via [ FAMILY ] ADDRESS 下一个路由器的地址,在地址家族中。实际上,这个域取决于路径类型。对于普通的单播路由,它要么是真正的下一跳路由器,或者,如果它是安装在BSD兼容模式下的直接路由,它可以是接口的本地地址。对于NAT路由,它是已翻译的IP目的地块的第一个地址。
src ADDRESS 发送到路由前缀覆盖的目的地时首选的源地址。
realm REALMID 此路由分配到的领域。REALMID可以是一个数字或字符串从文件/etc/iproute2/rt_realms.
mtu MTU mtu值
mtu lock MTU MTU沿着路径到达目的地。如果没有使用修饰符锁,内核可能会因为发现路径MTU而更新MTU。如果修改锁被使用,没有路径MTU发现将被尝试,所有的数据包将发送没有DF位在IPv4情况下或碎片到MTU为IPv6。
window NUMBER TCP向这些目的地发送消息的最大窗口(以字节为单位)。它限制了TCP对等端允许发送给我们的最大数据爆发。
rtt TIME 初始RTT(“往返时间”)估计。如果没有指定后缀,则单元是直接传递给路由代码的原始值,以保持与以前版本的兼容性。否则,如果后缀s, sec或secs用于指定秒,ms、msec或msecs用于指定毫秒。
rttvar TIME (2.3.15+ only) 初始RTT方差估计。值的指定与上面的rtt相同。
rto_min TIME (2.6.23+ only) 与此目的地通信时使用的最小TCP重传输超时。值的指定与上面的rtt相同。
nexthop NEXTHOP 多路径路由的下一路径。
scope SCOPE_VAL 路由前缀所涵盖的目的地的范围。SCOPE_VAL可以是来自文件/etc/iproute2/rt_scope .一个数字或字符串如果省略此参数,ip假设范围为所有网关单播路由的全局范围,范围链接为直接单播和广播路由,范围主机为本地路由。
protocol RTPROTO 此路由的路由协议标识符。RTPROTO可以是来自文件/etc/iproute2/rt_protos的一个数字或字符串。如果没有给出路由协议ID, ip假设协议启动(即,它假设路由是由不了解他们正在做什么的人添加的)。一些协议值有固定的解释。
onlink 假设nexthop直接连接到这个链接,即使它不匹配任何接口前缀。
pref PREF IPv6路由首选项。PREF是一个字符串,指定RFC4191中为路由器发现消息定义的路由首选项。

温馨提示:
以上文章描述如有不清晰之处,欢迎在评论区评论,如有时间,会第一时间回复,谢谢!

猜你喜欢

转载自blog.csdn.net/qq_20677327/article/details/107377596
今日推荐