openeuler系统配置永久路由方法

2,864 阅读2分钟

前言

对于工作中的一个小问题进行一个记录,openeuler系统在配置永久路由时经常不生效,以下会罗列出几种方法用于配置Linux永久路由的方法,以第三种方法作为解决方案使用。

前置条件

#以下方路由规则命令为例
ip route add 172.16.0.0/16 via 172.16.0.254 dev ens18

#上方命令用于配置路由转发将目标地址为172.16.0.0网段的数据包,统一由网卡ens18发送至172.16.0.254这个网关来进行转发

#由于下方脚本内容调用为route命令我们将这个ip route命令进行转化
route add 172.16.0.0/16 gw 172.16.0.254 dev ens18

方法一

由于Centos系统永久静态路由需要写到 </etc/sysconfig/network-scripts/route-网卡名称>这个文件中所以我们需要在/etc/sysconfig/network-scripts这个目录下创建一个名为<route-网卡名称>的文件,用来存放静态路由配置

vim /etc/sysconfig/network-scripts/route-<网卡名称>
#将路由配置写入此文件下,举例:网卡名为ens18,则文件完整路径为/etc/sysconfig/network-scripts/route-ens18

image-20230414100905232.png

方法二

  • 简要来说,在linux启动的最后阶段,系统会执行存于rc.local中的命令。和windows里面的“启动”菜单有点像,但是设置麻烦些,功能更强大

  • 如果我们需要添加大量不是本网段的路由,可以在/etc/rc.local进行相关的静态路由添加

    vim /etc/rc.local    #在文件下方写入相关路由规则,示例如下
    

image-20230414102025826.png

PS:如果在rc.local中添加路由会造成NFS无法自动挂载问题,按照linux启动的顺序,rc.local里面的内容是在linux所有服务都启动完毕,最后才被执行的,也就是说,这里面的内容是在NFS之后才被执行的,那也就是说在netfs启动的时候,服务器上的静态路由是没有被添加的,所以NFS挂载不能成功。

方法三(openeuler重启服务器或重启网络路由表丢失解决办法)

#对路由配置文件进行创建,并添加相关路由规则
## static-routes这个文件就是保存静态路由表,重启后不会掉,如果文件目录下没有这个文件,自己手动建立一个。

vim /etc/sysconfig/static-routes   #添加内容如下显示

image-20230414103026702.png

#编写需要开机自启调用的脚本network

vim /etc/rc.d/init.d/network
#如果没有此文件则自主创建,在/etc/init.d/下创建network文件也可以生效
#编写脚本内容如下

image-20230414103839006.png

#上方配置完成后,给network脚本进行加权

chmod +x /etc/init.d/network

#查看目前chkconfig自启动配置中的所有自启动列表
chkconfig --list

#添加network到chkconfig自启动配置中
chkconfig --add network

image-20230414104236936.png

重启虚拟机后进行验证,查看新添加路由是否自动生成

image-20230414104330935.png