CentOS7添加路由
一、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 10.8.0.0/24 via 192.168.10.30 dev eno16777736 //其中dev eno16777736可以省略
[root@localhost ~]# ip route del 10.8.0.0/24 via 192.168.10.30 dev eno16777736
以上方法添加的路由重启系统后就会失效,要添加永久路由需要写入到配置文件
三、永久添加路由条目(重启不会失效)
[root@localhost ~]# echo "10.8.0.6/32 via 192.168.10.30" >> /etc/sysconfig/network-scripts/route-eno16777736 // //其中eno16777736为本地网卡的名称,需要对应。
[root@localhost ~]# systemctl restart network