CentOS 7中/etc/rc.local开机启动脚本不生效怎么办? |
您所在的位置:网站首页 › 静态路由重启后消失怎么办 › CentOS 7中/etc/rc.local开机启动脚本不生效怎么办? |
处理方法2
针对/etc/rc.local配置路由重启不生效的场景,解决方案如下。 方法一:不使用/etc/rc.local配置路由,改为将路由写入静态路由配置文件(该方法即使重启网卡路由也不会丢失)。 在/etc/sysconfig/network-scripts/目录中创建或修改route-文件。 该目录是与路由相关的接口的名称。 via其中是带有前缀的远程网络,是下一跳的IP地址。 例如,要添加一条通过192.168.100.10到10.20.30.0/24网络的路由,以便在eth0启用时都处于活动状态: # cat /etc/sysconfig/network-scripts/route-eth0 10.20.30.0/24 via 192.168.100.10 执行以下命令,使修改生效。# ifup eth0 方法二:/etc/rc.d/rc.local开机启动脚本由rc-local服务引导执行,可以修改在network-online.target后启动该服务。 rc-local服务配置路径为/usr/lib/systemd/system/rc-local.service。执行以下命令,在[Unit]模块中添加或修改Requires和After项值为network-online.target。 # cat /usr/lib/systemd/system/rc-local.service |grep -v "^#" 修改内容如下: [Unit] Description=/etc/rc.d/rc.local Compatibility ConditionFileIsExecutable=/etc/rc.d/rc.local Requires=network-online.target After=network-online.target [Service] Type=forking ExecStart=/etc/rc.d/rc.local start TimeoutSec=0 RemainAfterExit=yes![]() network-online.target是主动等待直到网络“启动”的target,其中“启动”的定义由网络管理软件定义。通常,它表示某种已配置的、可路由的IP地址。其主要目的是主动延迟服务的激活,直到建立网络为止。 执行以下命令,确认/etc/rc.d/rc.local有执行权限。# ls -l /etc/rc.d/rc.local 如果显示没有可执行权限,请参考处理方法1处理。 通知systemd重新加载配置文件。# systemctl daemon-reload 重启rc-local.service,使/etc/rc.d/rc.local脚本立即生效。# systemctl restart rc-local.service |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |