Debian, сижу в районой сети, доступ в интернет через vpn.вот скрипт подключения:
/etc/init.d/pptp-vpn.sh
#!/bin/sh
USER="user"
NETWORK=111.111.111.0
NETMASK=255.255.255.0
VPNSERVER=172.17.7.11
VPN_NET=172.16.0.0
VPN_NET_MASK=255.255.0.0
GATEWAY=111.111.111.1
DEVICE=eth0
DEVICE_VPN=ppp0
#
# vpn stuff
#
PPPD=/usr/sbin/pppd
PPTP=/usr/sbin/pptp
if [ ! -x $PPPD ]; then
echo "$0: $PPPD not found"
exit 1
fi
if [ ! -x $PPTP ]; then
echo "$0: $PPTP not found"
exit 1
fi
case "$1" in
start)
if [ ! -d /var/run/pptp ]; then
mkdir /var/run/pptp
fi
if [ -f /var/run/pptp/remote ]; then
if ping -vc1 'cat /var/run/pptp/remote'; then
exit 1
fi
killall -HUP pptp
killall -TERM pppd
sleep 2
fi
rm -rf /var/run/pptp/* >/dev/null
route del default
route add -net $VPN_NET netmask $VPN_NET_MASK gw $GATEWAY
echo -n "===> Starting vpn: "
($PPTP $VPNSERVER defaultroute noauth user $USER && \
echo -n "done") || echo -n "failed"
sleep 5
(route delete -host $VPNSERVER && \
echo "wrong route delete") || echo "error delete wrong route"
echo
;;
stop)
echo -n "===> Stopping vpn: "
killall -HUP pptp
killall -TERM pppd
sleep 2
rm /var/run/pptp/* >/dev/null
route add default gw $GATEWAY
echo "done"
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo "*** Usage: vpn {start|stop|restart}"
exit 1
;;
esac
exit 0
иногда соединение рвется, интерфейс ppp0 пропадает и полный абзац.
так вот, я пробовал изменять в скрипте строку подключения на
($PPTP $VPNSERVER defaultroute persist maxfail 0 noauth user $USER
в результате получилось, что интерфейс остается ppp0, но не работает.
как сделать так, чтобы соединение само переподключалось при падении?