详解 linux 路由 route 命令

514次阅读
没有评论

共计 1955 个字符,预计需要花费 5 分钟才能阅读完成。

route 命令用于查看和操作Linux操作系统中的路由表。它允许您添加,删除和修改路由表的条目,以确定数据包从一台计算机到另一台计算机的传输路径。

以下是一些 route 命令的常用选项:

  • route -n:以数字格式显示路由表。这将以 IP 地址和网络掩码的数字形式而非主机名和网络掩码的形式来显示路由表的内容。
  • route add:添加新的路由表项。
  • route del:从路由表中删除一条路由。
  • route change:更改路由表中的一条路由。
  • route flush:清空整个路由表。

1. 显示当前路由表

route -n

详解 linux 路由 route 命令

route -n 命令的输出中可以看见标志即路由类型。以下是一些常见的路由类型及其含义:

  • U 表示该路由是可用的 (up)
  • G 表示该路由是一个默认网关 (gateway)
  • H 表示该路由是一个主机路由 (host)
  • UG 表示该路由同时具有默认网关和可用的属性
  • UGH 表示该路由同时具有默认网关、可用和主机路由属性

因此,对于输出中的每一行,第一列的字符组合表示该路由的类型和属性。例如,UG 表示该路由是一个默认网关,并且可用。同样,UGH 表示该路由是一个主机路由,并且是默认网关,并且可用。

请注意,这只是常见的路由类

2. 新增路由

route add 命令中,可以使用 -gw 选项指定一个网关,也可以使用 -dev 选项指定要使用的网络设备。

并且这两个选项可以同时使用,具体取决于网络设置和路由表配置。

2.1 添加到网络的路由

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1
# 如果指定掩码为 255.255.255.255 则变为了到主机的路由
route add -net 192.168.1.2 netmask 255.255.255.255 gw 192.168.0.1

2.2 添加到主机的路由

route add -host 192.168.1.100 gw 192.168.0.1

2.3 添加持久路由

persist 选项是用于将静态路由添加到系统启动时的路由表中。当系统启动时,它会读取 /etc/network/interfaces/etc/sysconfig/network-scripts/ifcfg-* 等配置文件,并在加载网络接口时自动执行 route 命令以添加静态路由

route add 命令中,指定 persist 选项将使添加的路由持久化,并在系统重启后自动加载。这样可以确保添加的路由在系统重新启动后仍然存在,而不需要手动重新添加路由。

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1 persist

2.4 添加路由时指定接口

route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0

3. 删除路由

删除类型基本只需要将添加路由的命令 add 改为 del 即可,下面的删除对应上面的新增。

3.1 删除到网络的路由

route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1

3.2 删除到主机的路由

route del -host 192.168.1.100 gw 192.168.0.1

3.3 删除持久路由

route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1

persist 选项指示添加的路由应该保存到系统启动时的路由表中,因此,在删除静态路由时不需要使用 -persist 选项。

3.4 删除指定接口路由

route del -net 192.168.1.0 netmask 255.255.255.0 dev eth0

4. 更改路由表中的一条路由

4.1 更改到网络的路由网关

route change -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.2

4.2 更改到主机的路由网关

route change -host 192.168.1.100 gw 192.168.0.2

4.3 更改持久路由网关

route change -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.2 persist

4.4 更改路由指定接口

route change -net 192.168.1.0 netmask 255.255.255.0 dev eth1

5. 清空路由表

route flush

使用 route flush 命令将清空整个路由表,这意味着所有当前定义的路由都将被删除。在路由表被清空后,系统将无法将数据包路由到其目标地址,将无法访问网络。

因此,在执行 route flush 命令之前,应该确保已经备份了路由表,以便在需要时可以快速恢复。如果需要仅删除特定的路由表项,应该使用 route del 命令来删除特定的路由表项。

提醒:本文发布于520天前,文中所关联的信息可能已发生改变,请知悉!

AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完
 
阿蛮君
版权声明:本站原创文章,由 阿蛮君 2023-04-06发表,共计1955字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
Copyright © 2022-2024 阿蛮君博客 湘ICP备2023001393号
本网站由 亿信互联 提供云计算服务 | 蓝易云CDN 提供安全防护和加速服务
Powered by Wordpress  Theme by Puock