在计算机网络中,路由器是负责转发网络流量的设备,当数据报到达路由器时,路由器必须确定将其路由到目的地的最佳方法,route
命令用于查看和更改内核路由表,在不同的系统上,命令语法不同,所以实际时可以查看命令的帮助来确定具体使用方法。
route [-CFvnee]
route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw]
[metric N] i [mss M] [window W] [irtt m] [reject] [mod] [dyn]
[reinstate] [[dev] If]
route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm]
[metric N] [[dev] If]
route [-V] [--version] [-h] [--help]
(none)
: 查看当前所有路由定义。-A family
: 使用指定的地址族,可以使用route --help
查询支持的地址族,通常支持的地址族有inet (DARPA Internet)
、inet6 (IPv6)
、ax25 (AMPR AX.25)
、netrom (AMPR NET/ROM)
、ipx (Novell IPX)
、ddp (Appletalk DDP)
、x25 (CCITT X.25)
。-F
: 对内核的FIB
转发信息库路由表进行操作,这是默认值。-C
: 操作内核的路由缓存。-v
: 输出详细操作。-n
: 显示数字地址,而不是尝试确定符号主机名,如果要确定到名称服务器的路由消失的原因,这将很有用。-e
: 使用netstat
格式显示路由表,-ee
将使用路由表中的所有参数生成很长的一行。del
: 删除路由。add
: 添加路由。target
: 目标网络或主机,可以用点分十进制或主机/
网络名称提供IP
地址。-net
: 添加的目标是一个网络。-host
: 添加的目标是一个主机。netmask NM
: 添加网络路由时,要使用的网络掩码。gw GW
: 通过网关路由数据包,必须首先可以访问指定的网关,这通常意味着必须事先设置到网关的静态路由,如果您指定本地接口之一的地址,它将用于确定数据包应路由到的接口。metric M
: 将路由表(由路由守护程序使用)中的度量字段设置为M。mss M
: 将通过此路由的连接的TCP
最大段大小MSS
设置为M
个字节,缺省值为设备MTU
减去标题,或在发生路径mtu
发现时使用较低的MTU
,当路径mtu
发现不起作用时(通常是由于配置错误的防火墙阻止了所需的ICMP
碎片),此设置可用于在另一端强制使用较小的TCP
数据包。window W
: 将通过此路由的连接的TCP
窗口大小设置为W
字节,仅在AX.25
网络上使用,并且驱动程序无法处理背靠背帧。irtt m
: 将通过此路由的TCP
连接的初始往返时间irtt
设置为m
毫秒1-12000
,仅在AX.25
网络上使用,如果省略,则使用RFC 1122
默认值300ms
。reject
: 安装阻塞路由,这将强制路由查找失败,这可以用于在使用默认路由之前屏蔽网络,此外要注意这不是用于防火墙。mod, dyn, reinstate
: 安装动态或修改后的路线,这些标志用于诊断目的,通常仅由路由守护程序设置。dev If
: 强制将路由与指定设备相关联,否则内核将尝试自行确定设备(通过检查现有路由和设备规格以及添加路由的位置),在大多数普通网络中,基本不需要此功能。如果dev If
是命令行上的最后一个选项,则可以省略单词dev
,因为它是默认值,否则路由修饰符的顺序metric - netmask - gw - dev
无关紧要。-h, --help
: 输出帮助信息。
显示绑定到服务器的所有IP
的路由表。
route -n
添加默认网关,这将分配一个网关地址,所有不属于此网络的数据包都将在该网关地址上转发。
route add default gw 169.213.0.0
列出内核的路由缓存信息,为了更快地路由数据包,内核保留了路由缓存信息。
route -Cn
拒绝路由到特定主机或网络。
route add -host 192.168.1.51 reject
删除默认网关,这可能会导致某些互联网故障,所以在继续执行该命令之前,请记下默认网关。
route del default
当我们连接PPTP
后,通常我们会配置将一个网段添加路由,来指定数据报通过ppp0
。
route add -net 192.168.0.0/16 dev ppp0
配置将一个域名添加路由,来指定数据报通过ppp0
。
route add -host jwgl.sdust.edu.cn dev ppp0
将所有D
类多播IP
路由都设置为通过eth0
。
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
https://github.com/WindrunnerMax/EveryDay
https://www.computerhope.com/unix/route.htm
https://blog.csdn.net/u013485792/article/details/51700808
https://www.geeksforgeeks.org/route-command-in-linux-with-examples/