Поднимаем OpenVPN скриптом. Клиенты OpenVPN под все OS.

Тема в разделе "Сборник статей по безопасности и анонимности", создана пользователем admin, 23 авг 2017.

  1. admin

    admin Administrator Команда форума Администратор Модератор форума

    Сообщения:
    1.437
    Симпатии:
    163
    Поднять OpenVPN вручную вам не под силу? Не отчаивайтесь, у меня для вас хорошие новости!

    На Github существует Open Source скрипт, который позволяет быстро и легко поднять OpenVPN сервер на вашем VPS. Скрипт называтся openvpn-install, и вот ссылка на Ссылка доступна только зарегистрированным пользователям. И этого скрипта есть куча форков, которые вы можете изучить.

    Посмотреть исходный код можно Ссылка доступна только зарегистрированным пользователям. Приступим. Работаем под пользователем root или суперпользователем.

    Для начала, обновим систему:
    Код:
    apt-get update amp;amp; apt-get dist-upgrade -y
    Если вы уже пытались поднять OpenVPN вручную, но у вас ничего не получилось, то нужно сначала его полностью снести. Удаляем openvpn:
    Код:
    apt-get remove --purge openvpn
    удаляем папку:
    Код:
    rm -rf /etc/openvpn/
    выключаем ufw:
    Код:
    ufw disable
    и установим нужные пакеты:
    Код:
    apt-get install -y sudo nano curl perl python wget git iptables openvpn openssl ca-certificates
    Скачиваем скрипт в домашнюю папку root:
    Код:
    git clone https://github.com/Nyr/openvpn-install.git ~/nyr-openvpn
    Переходим туда:
    Код:
    cd ~/nyr-openvpn/
    Запускаем скрипт:
    Код:
    bash openvpn-install.sh
    И вы попадете в так называемый Инсталятор. Где нужно будет отвечать на вопросы или что-то вписывать. Для перехода на следующий этап установки жмите Enter.

    Первый делом, предложит ввести внешний IP адрес, но вероятнее всего скрипт сам его определит:
    Код:
    IP address:111.222.111.222
    Следующий этап, выбрать протокол. Я жму 1 и выбираю UDP. Далее, выбираете порт. Я поставлю, например 14000. После этого предложит выбрать DNS сервера. Выбор будет из Google, OpenDNS или текущих, которые на VPS и еще каких-то. Я выбираю OpenDNS, жму 3. После этого предложит ввести имя клиента. Я введу "pp-ruloh". Далее начнется скачивание-утановка пакетов, генерация ключей, сертификатов и конфигурационных файлов. когда все закончится, он поместит конфиг. в домашнюю папку юзера, от имени которого запсукался скрипт. То есть, сейчас конфиг лежит по адресу:

    /root/
    Собственно, на этом конфигурация OpenVPN скриптом завершается. Можно уже сейчас взять новый конфиг и использовать. Интересно, чего он там такого сгенерировал вам, посмотрим на конфиг pp-ruloh.ovpn:
    Код:
    nano ~/pp-ruloh.ovpn
    (без ключей и сертификатов)
    Код:
    client
    dev tun
    proto udp
    sndbuf 0
    rcvbuf 0
    remote 111.222.111.22214000
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    remote-cert-tls server
    cipher AES-256-CBC
    comp-lzo
    setenv opt block-outside-dns
    key-direction 1
    verb 3
    Все вроде бы нормально, да лучше auth SHA512 явно указать. Поэтому добавим
    Код:
    auth SHA512
    Вот так:
    Код:
    client
    dev tun
    proto udp
    sndbuf 0
    rcvbuf 0
    remote 111.222.111.22214000
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    remote-cert-tls server
    cipher AES-256-CBC
    auth SHA512
    comp-lzo
    setenv opt block-outside-dns
    key-direction 1
    verb 3
    Обратите внимание, что скрипт уже запихнул фичу для предотвращения утечки DNS под клиент Ссылка доступна только зарегистрированным пользователям:
    Код:
    setenv opt block-outside-dns
    Если у вас Linux или MacOS - эту строку лучше закомментировать.

    Теперь посмотрим на серверный конфиг server.conf:
    Код:
    nano /etc/openvpn/server.conf
    port 14000
    proto udp
    dev tun
    sndbuf 0
    rcvbuf 0
    ca ca.crt
    cert server.crt
    key server.key
    dh dh.pem
    tls-auth ta.key 0
    topology subnet
    server 10.8.0.0255.255.255.0
    ifconfig-pool-persist ipp.txt
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 208.67.222.222"
    push "dhcp-option DNS 208.67.220.220"
    keepalive 10120
    cipher AES-256-CBC
    comp-lzo
    user nobody
    group nogroup
    persist-key
    persist-tun
    status openvpn-status.log
    verb 3
    crl-verify crl.pem
    Здесь также добавляем auth SHA512 (а то работать не будет, если на клиенте указан а на серве нет), делаем verb 0. Также нужно проделать следующее. Нужно закомментировать строку.
    Код:
    status openvpn-status.log
    И добавить log:
    Код:
    log /dev/null2gt;amp;1
    Где-то выше писал, зачем он нужен. Получилось так:
    Код:
    port 14000
    proto udp
    dev tun
    sndbuf 0
    rcvbuf 0
    ca ca.crt
    cert server.crt
    key server.key
    dh dh.pem
    tls-auth ta.key 0
    topology subnet
    server 10.8.0.0255.255.255.0
    ifconfig-pool-persist ipp.txt
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 208.67.222.222"
    push "dhcp-option DNS 208.67.220.220"
    keepalive 10120
    cipher AES-256-CBC
    auth SHA512
    comp-lzo
    user nobody
    group nogroup
    persist-key
    persist-tun
    #status openvpn-status.log
    log /dev/null2gt;amp;1
    verb 0
    crl-verify crl.pem
    Берем клиентский файл-конфиг и помещаем на ваше устройство. Об этом я писал выше.

    При повторном запуске скрипта из-под рута:
    Код:
    bash /root/nyr-openvpn/ope
  2. Purit

    Purit New Member

    Сообщения:
    7
    Симпатии:
    0
    Статья интересная, но зачем отключать ufw
  3. prad

    prad Member

    Сообщения:
    175
    Симпатии:
    0
    Потому что скрипт, который устанавливает OPENVPN сам настроит и включит его. В соседней ветке - Ссылка доступна только зарегистрированным пользователям есть информация как это всё воспроизвести вручную.

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