Натройка VPN в linux — HackZona.Ru

Натройка VPN в linux

Натройка VPN в linux

Тип статьи:
Со старой ХакЗоны.
Источник:
dik
Увидел тут статью про настройку 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 комментария

19:41
купи себе роутер и не трахай себе моск зазря
а я помню и попроще скриптик писАл для подъема впн в поры раннего чайничества..
dik
08:02
а ты не задумывался о том нахрена мне роутер покупать если комп один, ненравится мой скрипт, приведи свой и не парь мозг не себе не людям,
этот скрипт даже на lifecd запехнуть можно и везде он будет работать
(если пакеты будет все кот. надо), даже гуи не надо, ты его хоть из консоли запускай, хоть в автозагрузку.
00:23
не, скрипт конеш хорош на вид, надо тестить.. и кстати можешь сказать на какой ОСи тестил и ядре. А то вот на разных перебирал в своё время были проблемы со статикой непосредственно (при динамических айпи только робило..) ну и ... просто проблемы были))
Достаточно часто достаточно всего установки пакета pptp и network manager (если не ошибаюсь). Там впнка есть...
И ещё вопрос.. это с нуля мона так сделать и всё будет робить? или надо будет маршрут дефолтный ручками латать?