背景
当在一台服务上进行pppoe多次拨号后,会生成相应的ppp0 ppp1等接口名称,当我们对ppp0所在的接口重新拨号后,重新生成的接口不一定是ppp0,由于自动重启脚本是针对接口进行重启,所以我们需要固定好ppp接口,即使重启接口id也不会发生变化!
修改系统拨号脚本
脚本启动做如下约定sudo /usr/sbin/adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp0
在进行拨号传递$@参数时,$@的值为/etc/sysconfig/network-scripts/ifcfg-ppp0
修改/sbin/pppoe-connect拨号脚本vim /sbin/pppoe-connect
#Manual Set PPP Interface ID
#--------------------------------------------------------------------
echo -e "\033[32;1m$@\033[0m"
if [ "$@" = "/etc/sysconfig/network-scripts/ifcfg-ppp0" ];then
UNIT="unit 0"
elif [ "$@" = "/etc/sysconfig/network-scripts/ifcfg-ppp1" ];then
UNIT="unit 1"
elif [ "$@" = "/etc/sysconfig/network-scripts/ifcfg-ppp2" ];then
UNIT="unit 2"
elif [ "$@" = "/etc/sysconfig/network-scripts/ifcfg-ppp3" ];then
UNIT="unit 3"
elif [ "$@" = "/etc/sysconfig/network-scripts/ifcfg-ppp4" ];then
UNIT="unit 4"
elif [ "$@" = "/etc/sysconfig/network-scripts/ifcfg-ppp5" ];then
UNIT="unit 5"
elif [ "$@" = "/etc/sysconfig/network-scripts/ifcfg-ppp6" ];then
UNIT="unit 6"
fi
#--------------------------------------------------------------------
将$UNIT追加至PPP_STD_OPTIONS参数PPP_STD_OPTIONS="$IPPARAM $LINKNAME $PLUGIN_OPTS noipdefault noauth default-asyncmap $DEFAULTROUTE hide-password nodetach $PEERDNS mtu $MTU mru $MRU noaccomp nodeflate nopcomp novj novjccomp user $USER lcp-echo-interval $LCP_INTERVAL lcp-echo-failure $LCP_FAILURE $PPPD_EXTRA $UNIT"