Ubuntu网络管理命令:route

安装Ubuntu桌面系统(虚拟机)_虚拟机安装ubuntu桌面版-CSDN博客

route命令与ifconfig命令都在net-tools软件包中,是一个传统的Linux路由管理命令。通过route命令可以显示和管理路由表。route命令的基本语法如下:

route [options]

route命令的常用选项有:

  • -A:指定协议族,可以取inet以及inet6等值。
  • -n:显示数字形式的IP地址。
  • -e:使用netstat格式显示路由表。
  • del:删除路由记录。
  • add:添加路由记录。
  • gw:设置默认网关。
  • dev:路由记录对应的网络接口。
  • -net:指定的目标是一个网络。
  • -host:指定的目标是一台主机。
  • netmask:指定目标网络的子网掩码。

例如,下面的命令用于显示当前系统的路由表信息:

复制代码
liu@ubuntu:~$ route -n
Kernel IP routing table
Destination    Gateway      Genmask     	Flags 	Metric 	Ref        	Use Iface
0.0.0.0        10.0.2.2     0.0.0.0       	UG    	100    	0          	0 	enp0s3
0.0.0.0        192.168.1.1  0.0.0.0       	UG    	101    	0        	0 	enp0s8
10.0.2.0       0.0.0.0      255.255.255.0	U     	100    	0        	0 	enp0s3
169.254.0.0    0.0.0.0      255.255.0.0   	U     	1000   	0       	0 	enp0s3
192.168.1.0    0.0.0.0      255.255.255.0	U     	100    	0        	0 	enp0s8

route命令的输出一共有8列。第1列为路由的目标网络或者主机。第2列为网关,如果没有设置网关,则该列为星号*。第3列为目标网络的子网掩码,如果路由目标为一台主机,则该列为255.255.255.255;如果该条记录为默认路由,则子网掩码为0.0.0.0。第4列为标志,如果该条路由处于启用状态,则该列含有U标志;如果路由目标为一台主机,则该列含有H标志;如果该条路由通过网关,则该列含有G标志;如果该条路由为动态路由重新初始化路由,则该列含有R标志;如果该条路由是动态希尔,则该列含有D标志;如果该条路由是由守护进程动态修改的,则该列含有M标志;如果该条路由为禁用路由,则该列含有!标志。第5列为离目标主机或者网络的距离,通常使用跳数来表示。第6列永远为0。第7列为该条路由被使用的次数。第8列为该条路由的数据包将要发送到的网络接口。

通过route命令也可以对网络参数进行管理。例如,用户可以通过以下命令添加一条到达网络224.0.0.0/28的路由:

复制代码
liu@ubuntu:~$ sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev enp0s3
liu@ubuntu:~$ route -n
Kernel IP routing table
Destination	Gateway     Genmask    	Flags 	Metric 	Ref  	Use 		Iface
0.0.0.0 	10.0.2.2      0.0.0.0      	UG    100    	0        	0 		enp0s3
0.0.0.0 	192.168.1.1   0.0.0.0       	UG    101    	0        	0 		enp0s8
10.0.2.0 	0.0.0.0       255.255.255.0 	U     100    	0        	0 		enp0s3
169.254.0.0	0.0.0.0       255.255.0.0   	U     1000   	0        	0 		enp0s3
192.168.1.0	0.0.0.0       255.255.255.0 	U     100    	0        	0 		enp0s8
224.0.0.0  	0.0.0.0       240.0.0.0     	U     0      	0        	0 		enp0s3

上面新添加的路由表示发送到网络224.0.0.0/28的数据包都经过网络接口enp0s3。

route del命令可以将指定的路由记录删除,如下所示:

复制代码
liu@ubuntu:~$ sudo route del -net 224.0.0.0 netmask 240.0.0.0
liu@ubuntu:~$ route -n
Kernel IP routing table
Destination Gateway    	Genmask     	Flags 	Metric 	Ref	Use 	Iface
0.0.0.0   	10.0.2.2  	0.0.0.0       	UG    	100    	0	0 		enp0s3
0.0.0.0   	192.168.1.1	0.0.0.0       	UG    	101    	0	0 		enp0s8
10.0.2.0  	0.0.0.0     255.255.255.0 	U     	100    	0	0 		enp0s3
169.254.0.0	0.0.0.0	    255.255.0.0   	U     	1000   	0  	0 		enp0s3
192.168.1.0	0.0.0.0	    255.255.255.0 	U     	100    	0	0 		enp0s8

用户可以通过route命令来管理网关。例如,下面的命令用于将默认网关192.168.1.1删除:

复制代码
liu@ubuntu:~$ sudo route del default gw 192.168.1.1
liu@ubuntu:~$ route -n
Kernel IP routing table
Destination  	Gateway    	Genmask     		Flags	Metric 	Ref   Use 	Iface
0.0.0.0       	10.0.2.2   	0.0.0.0   		UG    	100    	0      0 		enp0s3
10.0.2.0      	0.0.0.0    	255.255.255.0	U     	100    	0      0 		enp0s3
169.254.0.0   	0.0.0.0    	255.255.0.0  	U     	1000   	0      0 		enp0s3
192.168.1.0   	0.0.0.0    	255.255.255.0	U     	100    	0      0 		enp0s8

下面的命令用于为网络接口enp0s8增加默认网关:

复制代码
liu@ubuntu:~$ sudo route add default gw 192.168.1.1 dev enp0s8
liu@ubuntu:~$ route -n
Kernel IP routing table
Destination 	Gateway    		Genmask    		Flags 	Metric 	Ref 	Use	Iface
0.0.0.0     	192.168.1.1   	0.0.0.0        	UG    	0      	0   	0	enp0s8
0.0.0.0      	10.0.2.2      	0.0.0.0        	UG    	100    	0   	0	enp0s3
10.0.2.0  	    0.0.0.0       	255.255.255.0 	U     	100    	0   	0	enp0s3
169.254.0.0 	0.0.0.0       	255.255.0.0    	U     	1000   	0   	0	enp0s3
192.168.1.0 	0.0.0.0       	255.255.255.0 	U     	100    	0   	0	enp0s8

本文节选自《Ubuntu Linux运维从零开始学》,获出版社和作者授权发布。

《Ubuntu Linux运维从零开始学 肖志健 清华大学出版社9787302662525》【摘要 书评 试读】- 京东图书 (jd.com)

相关推荐
Le_ee1 小时前
sqli-labs靶场第七关——文件导出注入
数据库·sql·网络安全·php·sql注入·sqli—labs
Eric.Lee20211 小时前
Ubuntu shell指定conda的python环境启动脚本
python·ubuntu·conda·shell
柳如烟@2 小时前
在Rocky Linux 9.5上部署MongoDB 8.0.9:从安装到认证的完整指南
linux·运维·mongodb
zm2 小时前
UDP 多点通信
开发语言·php
QQ2740287562 小时前
Kite AI 自动机器人部署教程
linux·运维·服务器·人工智能·机器人·web3
.小墨迹3 小时前
Apollo学习——planning模块(3)之planning_base
linux·开发语言·c++·学习·自动驾驶
*neverGiveUp*3 小时前
PHP基础知识
开发语言·php
影龙帝皖3 小时前
Linux服务之lvs+keepalived nginx+keepalived负载均衡实例解析
linux·nginx·lvs
八月的雨季 最後的冰吻4 小时前
SIP协议栈--osip源码梳理
linux·服务器·网络·c++·网络协议
敖云岚5 小时前
【Linux】基于虚拟机实现网络的管理
linux·服务器·网络