Как можно подключиться к серверу, с другой системы под управлением все той же Ubuntu Server 16.04. Так же, как можно сделать, что бы соединение поднималось автоматически и перезапускалось, при каких-либо «зависаниях», и как сделать, что бы автоматически добавлялся маршрут до нашей vpn сети.

Переходим в режим суперпользователя:

sudo su

Обновим нашу систему:

apt-get update && apt-get upgrade && apt-get dist-upgrade

Установим клиента:

apt-get install pptp-linux

Создадим файл подключения:

nano /etc/ppp/peers/vpn

Его содержимое:

pty “pptp 192.168.1.125 –nolaunchpppd” #здесь измените адрес сервера, на ваш

require-mschap-v2

require-mppe-128

user test1 #имя пользователя

password “testtest” #пароль

nodeflate

nobsdcomp

noauth

nodefaultroute  #отключаем маршрут по умолчанию,

                #если он вам нужен – замените на defaultroute

persist #пере подключаться при обрыве

maxfail 10 #количество попыток пере подключения

holdoff 15 #интервал между подключениями

пробуем подключиться:

pppd call vpn

Если подключение прошло успешно появится сетевой интерфейс ppp:

ifconfig ppp

ppp0      Link encap:Point-to-Point Protocol  

          inet addr:192.168.6.100  P-t-P:192.168.6.1  Mask:255.255.255.255

          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1

          RX packets:5 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:3

          RX bytes:68 (68.0 B)  TX bytes:68 (68.0 B)

Для того что бы отключиться, можно набрать команду:

killall pppd

Так же, если вы не сделали маршрут по умолчанию, неплохо бы прописать маршрут до VPN сети, чтобы иметь доступ к ресурсам в этой сети. Что бы не делать это руками при каждом запуске, и не заморачиваться с дополнительными скриптами, выполним:

nano /etc/ppp/ip-up

И в конец файла добавим:

case “$5” in

        192.168.6.1)

                        route add -net 192.168.6.0/24 gw 192.168.6.1

                ;;

        *)

esac

Соответственно – 192.168.6.1 – адрес шлюза (нашего vpn сервера), 192.168.6.0 – наша vpn сеть, замените шлюз и сеть на свои.

Так же неплохо было бы сделать так, чтобы наше pptp подключение автоматически поднималось, и случае «зависания» – происходило пере подключение.

Для этого сделаем 2 скрипта, один для собственно подключения, второй для проверки связи, и пере подключения в случае каких-либо затупов.

Первый – pptp.sh:

nano ~/pptp.sh

#!/bin/sh

vpn=’192.168.1.125′ #внешний адрес или имя вашего pptp сервера

ps=`ps ax | grep $vpn | wc -l`

if [ $ps -ge 2 ]; then

exit 1;

else /usr/sbin/pppd call vpn

exit 0;

fi

Второй – pptp-reconnect.sh:

nano ~/pptp.sh

#!/bin/bash

SHELL=/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin

#замените 192.168.6.1 на ваш внутренний адрес сервера.

if ! ping -Q 2 -c 4 -t 2 192.168.6.1; then

pids=( $(pgrep -f pppd) )

for pid in “${pids[@]}”; do

  if [[ $pid != $$ ]]; then

    kill “$pid”

  fi

done

/root/pptp.sh

fi

Не забываем сделать эти скрипты исполняемыми:

chmod +x ~/pptp.sh ~/pptp-reconnect.sh

Дальше добавим их в cron:

crontab -e

В конец файла добавляем:

*/1 * * * * /bin/bash /root/pptp-reconnect.sh

Соответственно */1 – означает, что нужно выполнять проверку раз в минуту, можно увеличить интервалы до значения, которое вы считаете нужным.

Пожалуй, всё. PPTP клиент на Ubuntu Server 16.04 у нас настроен.

0 0 голоси
Рейтинг статьи
Підписатися
Сповістити про

0 комментариев
Найновіше
Найстаріші Найбільше голосів
Зворотній зв'язок в режимі реального часу
Переглянути всі коментарі