Статьи DoubleVPN за час своми руками.

Discussion in 'Статьи' started by AllianceHost, 23 Mar 2012.

  1. AllianceHost

    AllianceHost New Member

    Joined:
    25 Sep 2011
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Потребуется 2 сервера\ vps(если openVZ должны быть включены tun\tap адаптеры). На 1 из серверов должно быть 2 ip адреса.
    В качестве ос использованы debian.


    Идём на сервер с 2мя ip.

    Идём в каталог:

    Разпаковываем архив:


    Копируем файлы

    Можно начинать генерить сертификаты:

    Заполняем все поля

    Common Name вписываем server


    Common Name вписываем server

    Challenge password Запоминаем его я вписывал 12345




    Сертификаты для сервера готовы, переходим ко клиентским

    Первым делом запросят пароль для клиентского сертификата(я указывал 9999)
    Common Name вписываем client1
    После ввода e-mail адреса запросят Challenge password вспоминаем какой вводили указываем его(в моём случае 12345)



    Для генерации второго серта и тд незабываем менять Common Name.



    Переходим к настройке и запуску сервера.

    Очистим файл конфигурации сервера

    Инсталим консольный текстовый редактор


    Коменты к конфигу:

    local - адрес где крутится demon
    port - порт на котором запускается demon

    push "dhcp-option DNS 66.96.208.21"
    66.96.208.21 адрес dns сервера через который будем резолвится:
    взять можно тут:
    Добавим права на выполнение 2м скриптам
    Ищем строку OPTARGS="" и приводим её к виду OPTARGS="--script-security 2"

    Теперь включаем ip_forward

    Добавим группу nobody
    копируем файлы сертов:

    Запускаем демон:


    VPN сервер готов впринципе через него уже можно работать, но у нас целью был DoubleVPN поэтому продолжаем настройку.

    идём на сервер где у вас 1 ip.


    Чтобы вновь не объяснять как генеряться сертификаты сгенерил пачку сертификатов и залил для общего пользования:

    Скачиваем эти файлы, конектимся к серверу через winSCP заходим в папку /etc/openvpn Икопируем всё содержимое архива туда(Вместе с папкой ip_1)

    В терминале:

    Выполняем
    Меняем в строке local ip-адрес на адрес сервера на котором вы сейчас находитесь.
    И удаляем строки status и log. Этим отключим логирование нашего сервера.

    теперь надо исправить up и down скрипты

    Видим ip адрес 184.82.183.28 меняем его на адрес вашего сервера.


    Видим ip адрес 184.82.183.28 меняем его на адрес вашего сервера.

    Добавим права на выполнение на файлы up и down

    Далее.

    Ищем строку OPTARGS="" и приводим её к виду OPTARGS="--script-security 2"

    Теперь включаем ip_forward

    Запускаем openvpn.

    Возвращаемся к серверу с двумя IP.

    Скачиваем http://www.sendspace.com/file/vjuiqb

    Подключаемся через winSCP в папку /etc/openvpn
    закидываем папку из архива ip_1

    копирем файл конфига

    remote Указываем ip адрес сервера с 1 ip
    local указываем второй ip адрес вашего сервера

    Удаляем строки status и log


    Добавляем файлам права на выполнение

    И редактируем конфиг
    в local вписываем 192.168.1.2


    Вот мы и подошли к финальной части настроек, а именно настроек клиентской части.

    Скачиваем с сервера с 2мя ip_адресами из папки /etc/openvpn/2.0/keys
    Файлы:
    ca.crt
    client1.crt
    client1.key

    Надеюсь что openvpn у вас уже установлен. Идём в папочку
    C:\Program Files\OpenVPN\config

    там создаём папочку test

    В неё помещаем скачанные файлы.
    Теперь скачиваем образец конфига:
    http://www.sendspace.com/file/g89eg2

    файлик помещаем в папочку test
    Теперь редактируем его.

    remote 217.12.220.71 1800

    217.12.220.71

    меняем на ip сервера на котором 1ip адрес.

    ca ca.crt
    cert client1.crt
    key client1.key

    Исправляем если сертификаты клиентов имеют иные имена.

    Всё готово, осталось скачать утилиту которая будет следить за тем чтобы соеденение не разорвалось, подойдёт утилита любого vpn сервиса.

    Теперь осталось подключиться к нашему впн и радоваться жизни, трафик идёт по схеме : сервер с 1ip<-->сервер с 2ip<-->сеть.
     
    1 person likes this.