MENU

CentOS7添加路由

July 19, 2022 • 已被 3282 位童鞋围观过 • 系统运维

一、route命令介绍
命令用来显示并设置Linux内核中的网络路由表,设置的路由主要是静态路由;直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。

1、语法

[root@localhost ~]# route 选项 参数
选项:
-A:设置地址类型;
-C:打印将Linux核心的路由缓存;
-v:详细信息模式;
-n:不执行DNS反向查找,直接显示数字形式的IP地址;
-e:netstat格式显示路由表;
-net:到一个网络的路由表;
-host:到一个主机的路由表。


参数:
add:增加指定的路由记录;
del:删除指定的路由记录;
target:目的网络或目的主机;
gw:设置默认网关;
mss:设置TCP的最大区块长度(MSS),单位MB;
window:指定通过路由表的TCP连接的TCP窗口大小;
dev:路由记录所表示的网络接口。

2、命令使用举例

[root@localhost ~]# route -n            

其中Flags为路由标志,标记当前网络节点的状态,Flags标志说明:
U(Up):路由当前为启动状态。
H(Host):网关为主机
G(Gateway):网关为路由器
R(Reinstate Route):使用动态路由重新初始化的路由
D(Dynamically):此路由是动态性地写入
M(Modified):此路由是由路由守护程序或导向器动态修改
!:表示此路由当前为关闭状态。

默认(网关)路由

[root@localhost ~]# route add -net 0.0.0.0/0 gw 192.168.10.1     
[root@localhost ~]# route add default gw 192.168.10.1
[root@localhost ~]# route del default gw 192.168.1.1

主机路由

[root@localhost ~]# route add -host 10.8.0.6 gw 192.168.10.30
[root@localhost ~]# route del -host 10.8.0.6 gw 192.168.10.30
[root@localhost ~]# route add -host 10.8.0.6 gw 192.168.10.30 reject    //后面加上reject为拒绝(关闭)某条路由
[root@localhost ~]# route del -host 10.8.0.6 gw 192.168.10.30 reject

网络路由

[root@localhost ~]# route add -net 10.8.0.0/24 gw 192.168.10.30
[root@localhost ~]# route del -net 10.8.0.0/24 gw 192.168.10.30
[root@localhost ~]# route add -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.10.30
[root@localhost ~]# route del -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.10.30

二、ip 命令
加强版的的网络配置工具,用于代替ifconfig命令,主要功能是用于显示或设置网络设备。

[root@localhost ~]# ip route list         //或ip route show,查看路由表
[root@localhost ~]# ip route add default via 192.168.10.30            //添加默认路由
[root@localhost ~]# ip route del default via 192.168.10.30            //删除默认路由
[root@localhost ~]# ip route add 172.30.38.0/25 via 172.24.21.254 dev eno16777736      //其中dev eno16777736可以省略 
[root@localhost ~]# ip route del 172.30.38.0/25 via 172.24.21.254 dev eno16777736

以上方法添加的路由重启系统后就会失效,要添加永久路由需要写入到配置文件

三、永久添加路由条目(重启不会失效)

[root@localhost ~]# echo "172.30.38.0/25 via 172.24.21.254" >> /etc/sysconfig/network-scripts/route-ens192     // //其中ens192为本地网卡的名称,需要对应。
[root@localhost ~]# systemctl restart network
Last Modified: September 28, 2023