Настройка PPTP VPN в консоли: различия между версиями
Misha (обсуждение | вклад) (→Создаем файл настроек подключения) |
Misha (обсуждение | вклад) (→Создаем нужные роуты) |
||
Строка 31: | Строка 31: | ||
Создаем файл /etc/ppp/ip-up.d/$TUNNEL и прописываем роуты, при подключении | Создаем файл /etc/ppp/ip-up.d/$TUNNEL и прописываем роуты, при подключении | ||
<pre> | <pre> | ||
+ | #!/bin/sh | ||
route del default | route del default | ||
route add default dev ppp0 | route add default dev ppp0 | ||
Строка 37: | Строка 38: | ||
Создаем файл /etc/ppp/ip-down.d/$TUNNEL и прописываем роуты, при отключении | Создаем файл /etc/ppp/ip-down.d/$TUNNEL и прописываем роуты, при отключении | ||
<pre> | <pre> | ||
+ | #!/bin/sh | ||
route add default gw $GW dev eth0 | route add default gw $GW dev eth0 | ||
</pre> | </pre> | ||
+ | Даем нужные права | ||
+ | <pre>$sudo chmod 755 /etc/ppp/ip-up.d/$TUNNEL | ||
+ | $sudo chmod 755 /etc/ppp/ip-down.d/$TUNNEL</pre> | ||
==Пробуем!== | ==Пробуем!== |
Версия 11:45, 20 сентября 2013
Взято тут
Итак, займемся делом! Поскольку все будем настраивать вручную, все действия выполняем в консоли.
Содержание
Устанавливаем клиентскую программу.
Для этого выполняем всего одну команду.
$ sudo apt-get install pptp-linux
Создаем общий файл настроек.
В этом файле буду располагаться настройки для всех pptp подключений. Это на тот случай, если вы подключитесь к еще одному провайдеру ;-)
$ sudo sh -c 'echo "lock noauth nobsdcomp nodeflate" > /etc/ppp/options.pptp'
Записваем имя пользователя и пароль в отдельный файл.
$ sudo sh -c 'echo "$USERNAME PPTP $PASSWORD *" >> /etc/ppp/chap-secrets'
$USERNAME - логин, $PASSWORD - пароль соответственно.
Чтобы всякие злобные вредители не прочитали ваши секреты, убедитесь, что файл паролей не общедоступен.
$ sudo chmod o-rw /etc/ppp/chap-secrets
Создаем файл настроек подключения
Создаем файл /etc/ppp/peers/$TUNNEL
$TUNNEL - название подключения. Придумайте его сами. Вместо vim можно написать название любого любимого вами текстового редактора.
В файл пишем следующие строки:
pty "pptp $SERVER --nolaunchpppd" name $USERNAME remotename PPTP require-mschap-v2 # (note that MPPE requires the use of MSCHAP-V2 during authentication) require-mppe-128 file /etc/ppp/options.pptp ipparam $TUNNEL
Где $SERVER - это адрес VPN-сервера. Сохраняем файл и приступаем к тестированию.
Создаем нужные роуты
Создаем файл /etc/ppp/ip-up.d/$TUNNEL и прописываем роуты, при подключении
#!/bin/sh route del default route add default dev ppp0
Тут могут быть и другие строки. Создаем файл /etc/ppp/ip-down.d/$TUNNEL и прописываем роуты, при отключении
#!/bin/sh route add default gw $GW dev eth0
Даем нужные права
$sudo chmod 755 /etc/ppp/ip-up.d/$TUNNEL $sudo chmod 755 /etc/ppp/ip-down.d/$TUNNEL
Пробуем!
$ sudo pon $TUNNEL debug dump logfd 2 nodetach
Эта команда запустит подключение в отладочном режиме. nodetach означает, что вся отладочная информация будет выводиться прямо в консоль. Если в конце вы увидите следующие строки
Script /etc/ppp/ip-up started (pid 9658) Script /etc/ppp/ip-up finished (pid 9658), status = 0x0
это означает, что подключение успешно выполнено. В противном случае попробуйте еще пару раз. Возможно просто произошел какой-то сбой при подключении.
Для запуска подключения в штатном режиме достаточно выполнить:
$ sudo pon $TUNNEL
Чтобы отключиться:
$ sudo poff $TUNNEL
Последние штрихи
Чтобы соединение было стабильным и автоперезапускаемым в случае обрыва, в файл настроек подключения нужно добавить следующие строки:
persist holdoff 10 maxfail 0
И чтобы соединение запускалось автоматически при загрузке операционной системы, добавим его в файл сетевых интерфейсов /etc/network/interfaces
auto ppp0 iface ppp0 inet ppp provider $TUNNEL
В идеале все должно сразу же заработать. Однако, жизнь - не такая простая штука, как нам того хотелось бы. Лично у меня возникли проблемы с моим персональным фаирволом, и мне пришлось еще немного попотеть, прежде чем все получилось. А у вас заработало?