Поиск по блогу :

    3 мая 2008 г.

    Настройка VPN в Ubuntu

    Не думал писать эту статью, но так как в Ubuntu 8.04, так нормально и не сделали Network Manager при работе в сети со статическими IP адресами, то все таки опишу, как я вручную настраиваю у себя подключение к VPN.



    Настройка с помощью Network Manager'а

    Как бы там ни было, но все таки опиши настройку впн с помощью network-manager'а. Эта настройка вполне подойдет тем, у кого в подключении к сети используется автоматическое получение IP адреса с помощью DHCP.
    1. Устанавливаем два необходимых нам пакета:
    #

    Так как этих пакетов по умолчанию нет на диске с убунтой, а впн часто приходится настраивать на машине, у которой больше нет другого выхода в интернет, то советую заранее припастись этими пакетами с официального репозитория. Для этого заходим на сайт http://packages.ubuntu.com/, там ищем два эти пакета, закачиваем их и в дальнейшем устанавливаем на нужной нам машине.
    2. Если в аплете Network Manager не появился пункт "VPN соединения"(VPN Connections) или он не будет открываться, то надо перелогиниться или даже лучше - перезагрузиться.
    3. Нажимаем левой клавишей мыши (по правой кнопке вызывается другое меню) по значку Network Manager'а и в выпавшем меню выбираем "VPN соединения" - "Настройка VPN"(Configure VPN). Добавляем новое соединение и выставляем все нужные опции для этого соединения.
    4. После этого, ваше соединение должно появиться в меню "VPN соединения", если оно вдруг не появилось - перелогиньтесь или перезагрузитесь (ну что я могу поделать, на столько, все еще, сырой этот network-manager :( ).
    5. Все теперь можете подключаться к созданному вами впн соединению (а также и отключаться, выбрав пункт меню в Network Manager'е).

    Ручная настройка

    Дальше я описываю настройку для своего соединения, ваша настройка должна отличаться вводимыми данными, а также может отличаться вводимыми параметрами.
    1. Устанавливаем пакет pptp-linux:
    #
    apt-get install pptp-linux

    Как я уже описывал выше в разделе установки с помощью network-manager'а, впн часто приходится настраивать на машине, у которой больше нет другого выхода в интернет, поэтому советую заранее припастись этим пакетом с официального репозитория http://packages.ubuntu.com/.
    2. Редактируем файл options.pptp:
    #
    nano /etc/ppp/options.pptp

    Вставляем туда следующие строки:
    lock
    noauth
    nobsdcomp
    nodeflate
    persist
    Не буду описывать каждый из параметров, опишу лишь некоторые:
    persist - этот парметр пытается по новой открыть соединение, когда оно закрывается;
    nodeflate - не использовать deflate сжатие (хотя говорят с ним работает быстрее, не знаю - не проверял).
    Также, если у вас в соединении используется шифрование, то добавляем одну из строк, в зависимости от типа шифрования - require-mschap-v2, require-mppe-40, require-mppe-128, require-mppe.
    3. Создаем файл подключения /etc/ppp/peers/vpn (название vpn можете заменить на любое другое, но если замените, не забывайте менять его дальше в этой статье)
    #
    nano /etc/ppp/peers/vpn

    Вставляем туда следующие строки:
    maxfail 0
    lcp-echo-interval 60
    lcp-echo-failure 4
    defaultroute
    pty "pptp vpn.ava.net.ua --nolaunchpppd"
    name sukochev
    remotename PPTP
    +chap
    file /etc/ppp/options.pptp
    ipparam vpn
    Внимание!!! Обязательно замените следующие опции на ваши:
    Вместо vpn.ava.net.ua впишите адрес вашего впн сервера (можно использовать IP сервера). Вместо sukochev вставляете ваш логин подключения.
    Опишу некоторые параметры:
    maxfail 0 - всегда пытаться подключиться при отсутствии связи;
    lcp-echo-interval - интервал времени, по прошествии которого, происходит опрос удаленной стороны;
    lcp-echo-failure - количество не отвеченных запросов удаленной стороны, после чего система считает, что нас отключили;
    defaultroute - устанавливаем маршрут по умолчанию;
    +chap - тип аутентификации. Помимо +chap может использоваться тип +pap.
    file - читать дополнительные настройки из заданного файла.
    Также можно добавить, если нужно, следующие параметры:
    deflate 15,15 - использовать deflate сжатие (в файле options.pptp не должно быть параметра nodeflate);
    mtu - максимальный размер передаваемого пакета (изменяют этот параметр обычно тогда, когда часто отключается соединение или не открываются некоторые сайты);
    mru - максимальный размер получаемого пакета.
    4. Редактируем файл /etc/ppp/chap-secrets (если используется тип аутентификации PAP, то /etc/ppp/pap-secrets соответственно)
    #
    nano /etc/ppp/chap-secrets

    Вставляем туда строку, типа:
    sukochev PPTP password *
    Внимание!!! Замените sukochev на свой логин, а password на ваш пароль для подключения.
    5. Если это необходимо, то прописываем в файл /etc/network/interfaces нужные роуты. Например у меня роуты прописаны для того, чтобы при включенном впн-подключении я мог пользоваться местной локальной сетью. Вот пример моих роутов (те что начинаются на up route), у вас они естественно будут отличаться:
    auto eth1
    iface eth1 inet dhcp
    up route add -net 10.1.0.0 netmask 255.255.0.0 gw 10.1.45.1 dev eth1
    up route add -net 10.3.0.0 netmask 255.255.0.0 gw 10.1.45.1 dev eth1
    Не забываем после изменения файла /etc/network/interfaces перезапустить сетевые подключения:
    #
    /etc/init.d/networking restart

    6. Теперь можете включать и выключать впн подключение с помощью следующих команд:
    Включение
    #
    pon vpn

    Выключение
    #
    poff vpn



    Автоматическое подключение VPN при загрузке системы

    Для этого редактируем файл /etc/network/interfaces
    #
    nano /etc/network/interfaces

    И вставляем в конец фйла следующие строки:
    auto ppp0
    iface ppp0 inet ppp
    provider vpn
    pre-up ip link set eth1 up
    up route del default
    up route add default dev ppp0
    где eth1 - это интерфейс сетевого устройства, через которое подключается впн-соединение, а vpn - название впн-соединения, которое вы создали в папке /etc/ppp/peers/ .