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)

相关推荐
青锐CC30 分钟前
webman使用中间件验证指定的控制器及方法[青锐CC]
中间件·前端框架·php
Biomamba生信基地1 小时前
Linux也有百度云喔~
linux·运维·服务器·百度云
new_abc2 小时前
Ubuntu 22.04 ftp搭建
linux·运维·ubuntu
flying robot2 小时前
RPM的使用
linux
heilai42 小时前
workerman的安装与使用
c++·websocket·http·php·phpstorm·visual studio code
腾科张老师4 小时前
为什么要使用Ansible实现Linux管理自动化?
linux·网络·学习·自动化·ansible
编码小袁6 小时前
PHP:通往动态Web开发世界的桥梁
开发语言·前端·php
liuxin334455667 小时前
高效编程训练:Spring Boot系统设计与实践
数据库·spring boot·php
想见感7 小时前
自定义集成ESXI网卡驱动
linux