linux – CentOS网络接口Post-Up脚本不执行

我正在运行CentOS 7.2,我正在努力获得一个简单的脚本来执行任何接口的ifup.

我的/ sbin / ifup-local看起来像这样:

[root@oracle2 ~]# cat /sbin/ifup-local
#!/bin/bash
 if [[ "$1" == "eth0" ]]
   then
     exec /vpnup
 fi
[root@oracle2 ~]#

引用的脚本/ vpnup如下所示:

[root@oracle2 ~]# cat /vpnup
#!/bin/bash
#
# CompanyX Production L2TP VPN - UP
#
#
echo -e "\n"
echo -e "PLEASE WAIT\n"
echo -e "Dialling Production L2TP VPN... \n"
echo -e ".........................................\n"
ipsec auto --up L2TP-PSK && echo "c qvprodvpn" > /var/run/xl2tpd/l2tp-control
echo -e ".........................................\n"
echo "Connected..."
echo "Adding local static route to manage VPN bound traffic..."
sleep 6s
ip route add 10.10.24.0/24 via 10.10.24.51
echo "Route added..."
echo -e "...\n"
[root@oracle2 ~]#

相当简单,脚本在命令行调用时工作正常.它只是拨入我设置的L2TP VPN,以便让这个盒子访问其网络的另一部分的生产局域网.

但是,如果我执行“service network restart”或“systemctl restart network.service”,则VPN接口不会出现,也不会添加ip路由.如果我手动执行ifdown eth0,然后ifup eth0,它也不会按预期运行脚本.

如果我执行“/ sbin / ifup-local eth0”脚本按预期运行,所以我知道我的脚本很好,我知道我的ifup-local是好的.

我错过了一些明显的东西吗我之前从未使用过pre / post up脚本,但我总觉得它们非常简单……我错了吗?

解决方法:

确保您的ifcfg-eth0脚本包含

NM_CONTROLLED=no

否则,调用systemctl restart network或ifup eth0将不会为eth0执行ifup-pre-local,ifup-eth,ifup-post,ifup-local等.不过,他们仍然会被召唤.

上一篇:VR制作中必须踩的坑365之015(oculus2、UE4、UE5、VR记录一年的踩坑之旅)Reality Capture 运行踩坑之旅


下一篇:思科、华为:GRE vpn 介绍和配置