IT-К@ФЕ. Welcome! :)
   
Добро пожаловать, Гость
Логин: Пароль: Запомнить меня


Скрипт для подключения интернета по vpn для Linux
(1 чел.) (1) гость
  • Страница:
  • 1

ТЕМА: Скрипт для подключения интернета по vpn для Linux

Скрипт для подключения интернета по vpn для Linux 9 мес., 1 нед. назад #2762

  • serge
  • Вне сайта
  • Expert Boarder
  • Постов: 149
  • Репутация: 7
Нередко провайдеры интернета раздают его своим клиентам посредством VPN. И у новичков линукса это способно вызвать ряд вопросов и немалую головную боль... таким горемыкам будет полезен описанный ниже скрипт.

Итак, забираем этот скрипт и редактируем секцию network settings под себя:

#!/bin/sh
 
#
# fix broken path
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:.
export PATH
 
#
# network settings
#
USER=ВАШ_ЛОГИН_НА_VPN
NETWORK=192.168.0.0 // настроить на для своей сети
NETMASK=255.255.255.0 // обычно вроде такая и останется
VPNSERVER=192.168.0.253 // Смените на ваш адрес vpn-сервера
GATEWAY=192.168.55.253 // Указать свой
DEVICE=eth0 // если нужно, то тоже сменить
 
#
# 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
 echo -n «===> Starting vpn: »
 ($PPTP $VPNSERVER defaultroute noauth user $USER && \
 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 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


Помещаем измененный скрипт в /usr/bin/, сделав его исполняемым. После чего остается только отредактировать файл /etc/ppp/chap-secrets, который должен иметь следующий вид:

ВАШ_ЛОГИН * ПАРОЛЬ

Следует заметить, что файл /etc/ppp/options не должен содержать никаких записей. Запускаем подключение от root'а набираем

$ /usr/bin/vpn start

видим следующее:

===> Starting vpn: done

Теперь у нас все работает, а отключаем вот так:

$ /usr/bin/vpn stop

получаем напоследок:

===> Stopping vpn: done
Изменено: 9 мес., 1 нед. назад от serge.
  • Страница:
  • 1
Время создания страницы: 0.19 секунд