Всем известно, что некоторые провайдеры раздают интернет через VPN. Именно VPN, а не просто PPTP мотивируется, наверное, наличием шифрования, при такой же легкой настройке. Но настройка легка только в Windows.
Собственно, первая проблема с которой я когда-то столкнулся после установки линукса - подключение по VPN. Гугл выдавал множество вариантов, но принцип был в основном одним и тем же, причем, успешно настроить этот богомерзкий VPN мне так и не удавалось.
Решение все-таки было найдено. Как оказалось со стороны конфигов ppp все было правильно, не правильными были роуты (route, маршруты). Дело в том, что ppp требует ставить себе default route (однако, на debian'е у ppp есть конфиг replacedefaultroute. Как раз 70% того что выдает гугл, содержит эту опцию, следовательно конфиг работает только под Debian-Ubuntu-... ). Решение было очевидно - прописывать все необходимые роуты при старте системы.
Теперь расскажу всю настройку VPN в целом. Нам потребуются пакеты:
В файл /etc/ppp/options.pptp пишем (под рутом):
Напомню что список текущих роутов получается командой route -n. Прописываются и удаляются роуты через команду route. Более подробно написано в man route (который я очень рекомендую почитать). Так же следует помнить, что прописав роуты они скинутся после перезагрузки системы. Так что, лучше создать скрипт который будет добавлять роуты и добавить его в автозагрузку (у разных дистрибутивов автозагрузка в разных местах).
Собственно, настройка закончена. VPN включается по команде pon название_соединения, а выключается по команде poff название_соединения.
Приведу альтернативный пример настройки всего этого под Gentoo, соответственно с использованием конфигов Gentoo. Файл /etc/conf.d/net:
Еще я забыл сказать, что нужно создать файл /etc/init.d/net.ppp0. Это делается простым копированием net.lo: cp /etc/init.d/net.lo /etc/init.d/net.ppp0 (и все из под рута).
Собственно все.
Собственно, первая проблема с которой я когда-то столкнулся после установки линукса - подключение по VPN. Гугл выдавал множество вариантов, но принцип был в основном одним и тем же, причем, успешно настроить этот богомерзкий VPN мне так и не удавалось.
Решение все-таки было найдено. Как оказалось со стороны конфигов ppp все было правильно, не правильными были роуты (route, маршруты). Дело в том, что ppp требует ставить себе default route (однако, на debian'е у ppp есть конфиг replacedefaultroute. Как раз 70% того что выдает гугл, содержит эту опцию, следовательно конфиг работает только под Debian-Ubuntu-... ). Решение было очевидно - прописывать все необходимые роуты при старте системы.
Теперь расскажу всю настройку VPN в целом. Нам потребуются пакеты:
- ppp
- pptp
В файл /etc/ppp/options.pptp пишем (под рутом):
noauth # не авторизовываться пока не будет получен gateway refuse-eap # Не использовать проверки refuse-pap ## Возможно, что на стороне провайдера стоит refuse-chap ## обязательным проверка по некоторым из этих refuse-mschap ## алгоритмов nobsdcomp # в этой и следующей строке отключаем компрессию nodeflate persist # восстановление связи при обрыве maxfail 10 # десять попыток восстановления defaultroute # подменяем дефолтный роут (о проблемах с этим я писал выше) #replacedefaultroute # раскоментить если у вас Debian-like дистрибутив (например, Ubuntu)Далее нам потребуется еще один файл, в этом файле описываются все особенности касательно провайдера. Создаем /etc/ppp/peers/название_соединения (тоже под рутом):
pty "pptp Адрес_VPN_провайдера --nolaunchpppd" # собственно адрес VPN-сервера connect /bin/true name Ваш_Юзернейм password "Ваш_Пароль" remotename название_соединения # имя данного файла file /etc/ppp/options.pptp # указываем путь до конфига который создали вышеДалее, если у нас не Debian-like дистрибутив (у нас закоменчена опция replacedefaultroute) следует прописать роуты локальной сети (об этом я говорил выше), обычно их можно найти на сайте провайдера.
Напомню что список текущих роутов получается командой route -n. Прописываются и удаляются роуты через команду route. Более подробно написано в man route (который я очень рекомендую почитать). Так же следует помнить, что прописав роуты они скинутся после перезагрузки системы. Так что, лучше создать скрипт который будет добавлять роуты и добавить его в автозагрузку (у разных дистрибутивов автозагрузка в разных местах).
Собственно, настройка закончена. VPN включается по команде pon название_соединения, а выключается по команде poff название_соединения.
Приведу альтернативный пример настройки всего этого под Gentoo, соответственно с использованием конфигов Gentoo. Файл /etc/conf.d/net:
config_eth0=( "айпи_локальной_сети netmask маска_локальной_сети" ) gateways_eth0="адрес_шлюза" # gateway routes_eth0=( # прописываем роуты локальной сети. Пример ниже: "-net айпи_адрес_роута netmask маска_сети_роута gw адрес_шлюза" ) dns_servers_eth0="днс_сервер" config_ppp0=( "ppp" ) link_ppp0="pty 'адрес_VPN_провайдера --nolaunchpppd --nobuffer'" username_ppp0='юзернейм' password_ppp0='пароль' pppd_ppp0=( noauth # узнаете эти строки? :3 refuse-eap refuse-pap refuse-chap refuse-mschap debug nobsdcomp nodeflate mtu 1474 mru 1474 persist logfile /var/log/pppd.log # можно так же добавить файл для логов pppd maxfail 10 defaultroute ) depend_ppp0() { need net.eth0 }Скрипт будет запускаться при старте системы. Или это можно делать руками, как с любым скриптом в Gentoo: /etc/init.d/net.ppp0 start (или restart, stop).
Еще я забыл сказать, что нужно создать файл /etc/init.d/net.ppp0. Это делается простым копированием net.lo: cp /etc/init.d/net.lo /etc/init.d/net.ppp0 (и все из под рута).
Собственно все.
В свое время долго с этим возился, жаль тогда этой статьи не было =\
ОтветитьУдалитьНаконец-то нашел достойное руководство! Автору большое спасибо!
ОтветитьУдалитьооо,какраз искал
ОтветитьУдалитьИнтересное решение!
ОтветитьУдалитьСтоит попробовать..
ОтветитьУдалитьО, спасибо за сей мануал
ОтветитьУдалитьАвтор, спасибо.
ОтветитьУдалитьспасибо ,полезная статейка.
ОтветитьУдалить