Скрыть объявление
Для безопасных сделок с продавцами рекомендуем пользоваться Гарант сервисом

Личный Дабл Впн За 15 Минут!

Тема в разделе "Флейм", создана пользователем Smalls, 30/6/16.

  1. Smalls

    Smalls Очень активный ползователь

    Сообщения:
    52
    Симпатии:
    0
    копи\паст

    Итак, для начала нам понадобятся 2 сервера, физических или VPS, идеально для этих целей подойдет VPS с виртуализацией XEN или KVM (а вот OpenVZ контейнер должен быть с модулем tun), дистрибутив я предпочитаю Debian, поэтому в мануале все примеры я буду приводить под этот дистрибутив.
    Принцип работы правильного DoubleVPN слудующий:
    Клиент коннектится к первому серверу, а его трафик маршрутизируется на второй сервер. Второй сервер не знает IP клиента, а интернет провайдер не знает IP основного VPN сервера, через который заходили на ресурс.
    Для наших целей отлично подойдут серваки в недружественных друг для друга странах вроде России и Украины, США и Ирана и тд

    Подготовительный этап.
    Имеем 2 сервера, 1ый сервер = промежуточный, 2ой сервер = конечный.
    Подключаемся к обоим серверам через PuTTY и включаем на обоих форвардинг:

    echo 1>/proc/sys/net/ipv4/ip_forward
    Теперь пропишем его в /etc/sysctl.conf, чтобы включался после перезагрузки серверов:

    net.ipv4.ip_forward=1
    Готово, теперь обновим списки репозиториев и установим OpenVPN:

    apt-get update
    apt-get install openvpn -y
    Далее сгенерим сертификаты для клиента и сервера (эту процедуру нужно проделать на обоих серверах), есть для этих целей пакет easy-rsa:

    cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
    редактируем скрипт vars:

    nano vars
    и комментируем следующие строки (в самом конце):

    #export KEY_EMAIL="[email protected]"
    #export [email protected]
    #export KEY_CN=changeme
    #export KEY_NAME=changeme
    #export KEY_OU=changeme
    #export PKCS11_MODULE_PATH=changeme
    #export PKCS11_PIN=1234
    Готово, теперь запускаем этот скрипт:

    ../vars
    И генерим сертификаты по порядку, отвечая на все вопросы по умолчанию (Enter):

    ./build-ca
    ./build-key-server server
    ./build-key client1
    ./build-dh
    Теперь копируем папку keys в /etc/openvpn, для удобства:

    cp -r keys /etc/openvpn | rm -rf keys | cd /etc/openvpn
    Приступаем к настройке конфига на сервере 1:
    создаем конфиг сервера:

    nano server.conf
    со следующим содержанием:


    mode server
    daemon
    port 443
    proto tcp
    dev tun0
    ca keys/ca.crt
    cert keys/server.crt
    key keys/server.key
    dh keys/dh1024.pem
    tls-server
    server 10.8.0.0255.255.255.0
    push "redirect-gateway def1"
    ifconfig-pool-persist ipp.txt
    cipher AES-256-CBC
    keepalive 10120
    comp-lzo
    persist-key
    persist-tun
    verb 0
    log /dev/null
    Серверный конфиг готов, теперь принимаемся за настройку клиентского конфига на сервере 1.
    Перенесем с сервера 2 клиентские сертификаты и положим их в папку /etc/openvpn/client
    ca.crt, client1.crt, client1.key

    Теперь создадим сам клиентский конфиг:

    nano client.conf
    client
    dev tun1
    proto tcp-client
    remote IP_SERVER2 443
    resolv-retry infinite
    ns-cert-type server
    ca client/ca.crt
    cert client /client1.crt
    key client /client1.key
    persist-key
    persist-tun
    cipher AES-256-CBC
    nobind
    verb 0
    log /dev/null
    comp-lzo
    reneg-sec 0
    keepalive 10120
    route-nopull
    up '/sbin/ip rule add from 10.8.0.0/24 lookup double pref 20000 | /sbin/ip route add default dev tun0 table double'
    down '/sbin/ip rule del from 10.8.0.0/24'
    script-security 3 system
    Создаем таблицу маршрутизации:

    echo "1 double">>/etc/iproute2/rt_tables
    Создаем правило iptables (tun1 - интерфейс клиента):

    iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE
    Запускаем

    service openvpn start
    Готово! Самое сложное позади, теперь принимаемся за настройку сервера 2:
    Создаем конфиг со следующим содержанием:

    nano /etc/openvpn/server.conf
    mode server
    daemon
    port 443
    proto tcp
    dev tun0
    ca keys/ca.crt
    cert keys/server.crt
    key keys/server.key
    dh keys/dh1024.pem
    tls-server
    server 10.0.8.0255.255.255.0
    push "redirect-gateway def1"
    ifconfig-pool-persist ipp.txt
    cipher AES-256-CBC
    keepalive 10120
    comp-lzo
    persist-key
    persist-tun
    verb 0
    log /dev/null
    И прописываем правило iptables:

    iptables -t nat -A POSTROUTING -s 10.0.8.0/24-o eth0 -j MASQUERADE
    И запускаем

    service openvpn start
    Чтобы правило iptables запускалось автоматом после ребута, сохраним его в файле:

    iptables-save >/etc/iptables
    И пропишем в настройках сетевого интерфейса /etc/network/interface:

    nano /etc/network/interfaces
    iface eth0 inet static
    address 192.168.0.1
    netmask 255.255.255.0
    up /sbin/iptables-restore </etc/iptables
    Теперь качаем ключи с сервера 1 себе на диск в папку config клиента OpenVPN

    Создаем клиентский конфиг, под Windows:

    client
    dev tun
    proto tcp
    remote SERVER_1 443
    resolv-retry infinite
    ns-cert-type server
    ca ca.crt
    cert client1.crt
    key client1.key
    persist-key
    persist-tun
    cipher AES-256-CBC
    route-method exe
    nobind
    verb 3
    mssfix
    comp-lzo
    reneg-sec 0
    Под *nix:

    nano double.conf
    client
    dev tun
    proto tcp
    remote SERVER_1 443
    resolv-retry infinite
    ns-cert-type server
    ca ca.crt
    cert client1.crt
    key client1.key
    persist-key
    persist-tun
    cipher AES-256-CBC
    nobind
    verb 3
    comp-lzo
    reneg-sec 0
    На этом все, всем удачи в настройке!
     
  2. flucker

    flucker Новый пользоатель

    Сообщения:
    2
    Симпатии:
    0
    Ух ты. Спасибо. Только недавно думал, как дабл ВПН себе сделать. Надо одно дело провернуть. А тут уже все расписано.
     
  3. Kinected

    Kinected Очень активный ползователь

    Сообщения:
    112
    Симпатии:
    0
    Тоже благодарочка
     
  4. cr0k

    cr0k Новый пользоатель

    Сообщения:
    1
    Симпатии:
    0
    Годно,но у меня другая связка для трипла
     
  5. Smalls

    Smalls Очень активный ползователь

    Сообщения:
    52
    Симпатии:
    0
    Если возникнут трудности с настройкам (например бывает на Минте проблема с сертификатом), обращайтесь к Sonny - он гуру в этих вопросах. Да и в целом безопасности!
     
  6. l_o_d

    l_o_d Очень активный ползователь

    Сообщения:
    201
    Симпатии:
    0
    Спасибо за статейку! Очень полезная информация!
     
  7. Zhigan1

    Zhigan1 Пользователь

    Сообщения:
    18
    Симпатии:
    0
    Да кто вообще может проконсультировать и посоветовать что то? Не подскажешь? Я знаю но поверхостно, но хотелось бы овладеть этим на достойном уровне. Учусь быстро.
     
  8. whoer

    whoer Активный пользователь

    Сообщения:
    27
    Симпатии:
    0
    если делать все как есть будет 100 пуд работать ? н
    них ты робин гуд :rofl:
     

Поделиться этой страницей