Увидел тут статью про настройку VPN PPTP, и решил тоже за постить скрипт который использую я.
скрипт проверяет наличие пакетов которые требуются для поднятия VPN PPTP, и подымает соединение
в скрипте есть команды start, stop и restart
скопировав скрипт в /bin и дав ему права назапуск, можно поднять соединение из консоли просто введя команду #vpn start (или же #sudo vpn start)
по аналогии #vpn stop (или же #sudo vpn stop)
и #vpn restart (или же #sudo vpn restart)
можно просто создать на рабочем столе ссылку на запуск с привилегиями администратора.
vpn.sh
_________________________________________
#!/bin/sh
#
# fix broken path
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:.
export PATH
#
# network settings
#
USER=LOGIN_VPN
#логин VPN
NETWORK=XXX.XXX.XXX.XXX
#мой статический ip
NETMASK=XXX.XXX.XXX.XXX
#понятно
VPNSERVER=XXX.XXX.XXX.XXX
#понятно
GATEWAY=XXX.XXX.XXX.XXX
#шлюз
DNS1=XXX.XXX.XXX.XXX
#первый днс
DNS2=79.140.28.5
#второй днс
DEVICE=eth0
#сетевуха
PASS=«PASSWORD_VPN»
#пароль к vpn
#
# 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
#
# here we go
#
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 $NETWORK netmask $NETMASK gw $GATEWAY dev $DEVICE
route add -host $DNS1 gw $GATEWAY
route add -host $DNS2 gw $GATEWAY
route add -host $VPNSERVER gw $GATEWAY
echo -n "===> Starting vpn: "
($PPTP $VPNSERVER user $USER password $PASS defaultroute nodeflate nobsdcomp noauth &&
echo -n «done») || echo -n «failed»
echo
;;
stop)
echo -n "===> Stopping vpn: "
killall -HUP pptp
killall -TERM pppd
sleep 2
rm /var/run/pptp/* >/dev/null
route del -net $NETWORK netmask $NETMASK gw $GATEWAY dev $DEVICE
route del -host $DNS1 gw $GATEWAY
route del -host $DNS2 gw $GATEWAY
route del -host $VPNSERVER gw $GATEWAY
#route add default gw $GATEWAY dev $DEVICE
#пока не закоментировал не работало
echo «done»
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo "*** Usage: vpn {start|stop|restart}"
exit 1
;;
esac
exit 0
________________________________________
3 комментария
а я помню и попроще скриптик писАл для подъема впн в поры раннего чайничества..
этот скрипт даже на lifecd запехнуть можно и везде он будет работать
(если пакеты будет все кот. надо), даже гуи не надо, ты его хоть из консоли запускай, хоть в автозагрузку.
Достаточно часто достаточно всего установки пакета pptp и network manager (если не ошибаюсь). Там впнка есть...
И ещё вопрос.. это с нуля мона так сделать и всё будет робить? или надо будет маршрут дефолтный ручками латать?