Centos7添加永久静态路由

作者: 管理员 分类: 系统运维,资源分享 发布时间: 2021-03-21 12:01

前言:

在外面的日常工作中我们经常接触Linux系统,但是就Centos7来言如何来添加静态路由呢,当然,我们一般使用也需要不到,但是在特殊的网络环境中此功能就尤为重要,以下将介绍如何在Centos上添加临时和永久的静态路由方法。

添加和删除路由
route {add | del } [-net|-host] [网域或主机] netmask [mask] [gw|dev]
增加 (add) 与删除 (del) 路由的相关参数:
(a) -net :表示后面接的路由为一个网域。
(b) -host :表示后面接的为连接到单部主机的路由。
(c) netmask :与网域有关,可以设定 netmask 决定网域的大小。
(d) gw :gateway 的简写,后续接的是 IP 的数值,与 dev 不同。
(e) dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等。
查询路由信息
route -nee
(a) -n:不要使用通讯协定或主机名称,直接使用 IP 或 port number。
(b) -ee:使用更详细的资讯来显示。
添加/删除默认网关路由
route {add | del } default gw {IP-ADDRESS} {INTERFACE-NAME}
(a) IP-ADDRESS:用于指定路由器(网关)的IP地址。
(b) INTERFACE-NAME:用于指定接口名称,如eth0。
例1:route add default gw 10.10.10.1 eth0
例2:route del default gw 10.10.10.1 eth0
添加/删除到指定网络的路由规则
route {add | del } -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
(a) NETWORK-ADDRESS:用于指定网络地址。
(b) NETMASK:用于指定子网掩码。
(c) INTERFACE-NAME:用于指定接口名称,如eth0。
例1:route add -net 10.10.10.0 netmask 255.255.255.0 dev eth0
例2:route del -net 10.10.10.0 netmask 255.255.255.0 dev eth0

上面介绍了route的基本命令格式及使用方法,下面我们通过实例来操作以达到我们的网络使用需求:

[root@centos7 ~]# ip route add 10.15.150.0/24 via 192.168.1.10 dev enp0s3
#规定10.15.150.0的网段以192.168.1.10作为下一跳并指定enp0s3作为出口网卡

如果没有其它的报错代表命令执行成功,我们可以通过查看路由表的命令查看我们刚刚添加的路由类目。

[root@centos7 ~]# 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 enp0s3
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 enp0s3
10.15.150.0 192.168.1.10 255.255.255.0 UG 0 0 0 enp0s3
10.15.150.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
[root@centos7 ~]# ping 10.15.150.1
PING 10.15.150.1 (10.15.150.1) 56(84) bytes of data.
64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.77 ms
64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.08 ms
64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.57 ms

然后就可以测试到目的地网络是否畅通,我们可以使用ping命令来检测,以上内容为临时添加,如果关机的话此条路由将失效,ip route 指令对路由的修改不能保存,重启就没了,把 ip route 指令写到 /etc/rc.local 也是徒劳的;RHEL7官网文档没有提到 /etc/sysconfig/static-routes,经测试此文件已经无效,下面将讲解如何添加永久路由,避免异常重启造成的网络不通,影响到业务。

/etc/sysconfig/network 配置文件仅仅可以提供全局默认网关,语法同 Centos6 一样: GATEWAY=<ip address> ;

在 /etc/sysconfig/network-scripts/下,新建文件名为route-interfacename的文件
永久静态路由需要写到 /etc/sysconfig/network-scripts/route-interfacename;文件中

比如添加两条静态路由:(网卡的设备名叫eth0)

[root@centos7 ~]# vi /etc/sysconfig/network-scripts/route-eth0
10.15.150.0/24 via 192.168.1.10 dev eth0
#保存,然后systemctl restart network重启网络服务后生效

是不是很简单呢,重启服务器进行验证,执行route -n命令查看路由表,当条路由是否在路由表中,如果在当中说明静态路由开机加载是正常的,网络按照上述操作应该会畅通,如果哪里描述得不对,欢迎指出。


发表评论

电子邮件地址不会被公开。