посмотреть
Инструкция по настройке OpenVPN клиента.
----------------------------------------

   Для доступа к приватной витуальной сети необходимо установить и настроить
клиент OpenVPN: https://openvpn.net/


ВНИМАНИЕ! Пользуйтесь одновременно только одним активным подключением по OpenVPN.
          Если, все же, возникает необходимость одновременно подключаться с двух
          компьютеров (например: десктоп + ноутбук) - запросите для второго 
          компьютера отдельный набор ключей.


Состав архива <имя-пользователя>-openvpn-keys.zip:

  - ca.crt - CA сертификат.
  - <имя-пользователя>.crt - клиентский сертификат.
  - <имя-пользователя>.key - ключ.
  - <имя-пользователя>.ovpn - совмещенная конфигурация, включающая в себя все
                              ключи и сертификаты. Генерируется по запросу и
                              используется, в основном, для мобильных устройств.
    

Настройка клиента OpenVPN.

1. Установите openvpn.

   - Windows:
   
     Скачайте инсталятор (для Windows 7 и позднее) на странице:
     https://openvpn.net/index.php/open-source/downloads.html

   - Linux:

     Для Debian/Ubuntu:
     # apt install openvpn
     
   - MacOS:
   
     # brew install openvpn
     
  
  Подробней об установке openvpn-клиента для своего дистрибутивам можно узнать здесь:
  https://openvpn.net/index.php/open-source/documentation/howto.html
  Официальные инструкции по настройке для мобильных устройств:
  https://openvpn.net/vpn-server-resources/faq-regarding-openvpn-connect-android/
  https://openvpn.net/vpn-server-resources/faq-regarding-openvpn-connect-ios/
  
2. Создать папку:

   /etc/openvpn/keys_имя_сети - для Linux,
   
   или:
   
   C:\Program Files\OpenVPN\config - для Windows
   
   и скопировать в нёё прилагаемые к письму ключи:

     ca.crt
     <user_name>.crt
     <user_name>.crt
  
     где: <user_name> - имя файлов-ключей непосредственно для вашей учетной записи.
     
   Для MacOS нужно поместить ключи в /usr/local/etc/openvpn/
  
3. Отредактировать пример конфигурации клиента, заменив дефолтные значения на перечисленные ниже:
   
   - Linux:
   
     Для Debian/Ubuntu - файл /etc/openvpn/client:

       connection-type=tls 
       remote=ip_адрес
       comp-lzo=yes 
       port=нужный_порт 
       dev-type=tun 
       remote-cert-tls=server 
       cert=/etc/openvpn/keys_имя_сети/<user_name>.crt 
       ca=/etc/openvpn/keys_имя_сети/ca.crt 
       key=/etc/openvpn/keys_имя_сети/<user_name>.key 
       dev=tun 
       proto=udp 
     
     подставив необходимые имена вместо <user_name>.
     Обязательно укажите device = tun и использование компрессии comp-lzo.
     Используется UDP.
     
     В Ubuntu, как правило, параметры указываются через пробел ("dev tun" и тд)
     и может не работать опция "connection-type". Вместо неё следует указать:
     
        tls-client
     
   - Windows:
   
     В операционной системе Windows предлагется импортировать уже готовые настройки (в трее по
     правой кнопке): по факту, это обычный процесс копирования конфигов в папку с настройками
     OpenVPN, но часто БЕЗ требуемых СЕРТИФИКАТОВ. Можно заранее изменить в настройках расположения
     конфигураций, например:

     C:\Program Files\OpenVPN\easy-rsa\client.ovpn:
     
     или после импорта конфига скопировать файлы сертификатов ту же папку (скорей всего, путь:
     С:\Users\<username>\OpenVPN\config).
     
     Сам конфигурационный файл client.ovpn нужно привести к следующему виду, убрав лишние пробелы
     в начале строк:
     
       remote ip_адрес
       comp-lzo yes
       port нужный_порт 
       dev-type tun
       remote-cert-tls server
       cert <user_name>.crt
       ca ca.crt
       key <user_name>.key
       dev tun
       proto udp
       tls-client
       pull 
       auth-nocache
     
     и подставив необходимые имена вместо <user_name>.
     Подробней по настрйоке клиента OpenVPN для Windows можно узнать здесь:
     https://community.openvpn.net/openvpn/wiki/Easy_Windows_Guide
     
   - MacOS:
   
     Есть общий файл конфигурации: /Library/LaunchDaemons/homebrew.mxcl.openvpn.plist
     Это  xml, который, можно редактировать: прописать расположение и имя конфигурации для
     пользователя, но можно оставить и по умолчанию, переименовав конфиг в openvpn.conf
     
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
        <plist version="1.0">
        <dict>
          <key>Label</key>
          <string>homebrew.mxcl.openvpn</string>
          <key>ProgramArguments</key>
          <array>
            <string>/usr/local/opt/openvpn/sbin/openvpn</string>
            <string>--config</string>
            <string>/usr/local/etc/openvpn/openvpn.conf</string>
          </array>
          <key>OnDemand</key>
          <false/>
          <key>RunAtLoad</key>
          <true/>
          <key>TimeOut</key>
          <integer>90</integer>
          <key>WatchPaths</key>
          <array>
            <string>/usr/local/etc/openvpn</string>
          </array>
          <key>WorkingDirectory</key>
          <string>/usr/local/etc/openvpn</string>
        </dict>
        </plist>
     
     Сам конфиг нужно привести к следующему виду, заменив деволтные значения на указанные
     ниже:
     
       client
       tls-client
       remote ip_адрес
       comp-lzo yes
       port нужный_порт 
       dev-type tun
       remote-cert-tls server
       cert /usr/local/etc/openvpn/user_name_2.crt
       ca /usr/local/etc/openvpn/ca.crt
       key /usr/local/etc/openvpn/user_name_2.key
       dev tun
       proto udp
       script-security 2
       up /usr/local/etc/openvpn/update-resolv-conf
       down /usr/local/etc/openvpn/update-resolv-conf
       down-pre
     
4. Запустите OpenVPN клиент.

   - Linux:
     В большинстве linux-дистрибутивов для того, чтобы работал локальный DNS-сервер
     необходимо:
     
     1.1) Если у вас установлена более ранняя версия, чем systemd 229:
        
        # dpkg -l | grep systemd
        
        то необходимо склонировать скрипт с github: https://github.com/masterkorp/openvpn-update-resolv-conf
        и положить все содержимое в папку /etc/openvpn:
        
        # apt install git
        # cd /etc/openvpn
        # git clone https://github.com/alfredopalhares/openvpn-update-resolv-conf.git
        # mv openvpn-update-resolv-conf/* .
        
     1.2) и добавить в конец конфига клиента openvpn (/etc/openvpn/client) следующие строки:
     
        # pushing public DNS, domain
        dhcp-option DNS ip_адрес_dnc_сервера
        # здесь можно так же вписать slave DNS serever - ip_адрес_dns_сервера2
        dhcp-option DOMAIN домен
        setenv PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        script-security 2
        # setenv opt block-outside-dns
        up /etc/openvpn/update-resolv-conf.sh
        down /etc/openvpn/update-resolv-conf.sh
        down-pre
       
     2.1) Если у вас установлена более новая версия, чем systemd 229:
       
        # dpkg -l | grep systemd
       
        лучше всего (для Linux Mint 19 - необходимо) воспользоваться другим скриптом:
        https://github.com/jonathanio/update-systemd-resolved
        
        # git clone https://github.com/jonathanio/update-systemd-resolved.git
        # cd update-systemd-resolved
        # make
        # systemctl enable systemd-resolved.service
        # systemctl start systemd-resolved.service
        
     2.2) и добавить в конец конфига клиента openvpn (/etc/openvpn/client) следующие строки:
     
        script-security 2
        setenv PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        up /etc/openvpn/scripts/update-systemd-resolved
        up-restart
        down /etc/openvpn/scripts/update-systemd-resolved
        down-pre
        
        Так же убедитесь, что пакет resolvconf установлен на клиенте, поскольку update-resolv-conf
        сценарий зависит от него. Возможно, так же потребуется отключение собственного dnsmasq NetworkManager.

        /etc/NetworkManager/NetworkManager.conf
        #dns=dnsmasq

        и перезапустите NetworkManager:

        sudo systemctl restart network-manager
     
     3) создать скрипт (например: /etc/openvpn/connect_to_domen_vpn.sh):
     
       #!/bin/bash
       openvpn --client --config /etc/openvpn/client/client --script-security 2
     
     и запускайте при подключении:
     
       # sudo ./etc/openvpn/connect_to_domen_vpn.sh
     
   - Windows:
   
     1) перезагрузить систему, если не появилось новое сетевое устройство (TUN adapter):
        
        Start Menu -> Control Panel -> Network and Sharing Center -> Change Adapter
        Setting -> {adaoter_name}TAP-Windows Adapter -> Connect (по правой кнопке мыши)
        
        или:
        
        Пуск -> Панель Управления -> Сетевые подключения -> Изменить свойства адаптера ...
        
     2) OpenVPN GUI автоматически добавляется в автозагрузку и запустится при перезагрузке
        системы (см. иконку в системном трее). Если вы не совершали перезагрузку, или
        хотите запустить OpenVPN GUI вручную:
        
        Start Menu -> All Programs -> OpenVPN -> OpenVPN GUI
        
        или:
        
        Пуск -> Все программы -> ...
        
   - MacOS:
   
     В Tunnelblick необходимо включить опцию для DNS/WINS "Set nameserver".

     Возможно, как и на Linux, для решения проблем с DNS придется воспользоваться
     скриптом: https://github.com/andrewgdotcom/openvpn-mac-dns
     Параметры конфига "up" и "down" указаны выше (пункт 3), тогда как сам запуск
     производится командой:
     
       # sudo brew services start openvpn
       
     Как и в linux, openvpn прописывается сам для старта при запуске системы, так
     что при следующих стартах системы он запускается автоматически, что можно
     увидеть по ps aux: 

       # /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/openvpn.conf
     
     
Troubleshooting:

    В большинстве случаев привденных ваше настроек достаточно, но:
    
    1. Клиент OpenVPN при подключении указывает на возможные ошибки (как для Linux в
       консоли, так и для Windows в окне при подключении). Так же можно открыть log-файл:
       
       - Linux:
       
       /etc/openvpn/log/openvpn-status.log или /var/log

       (может быть отключен по умолчанию и располагаться в других папках, в зависимости от
       используемого дистрибутива)
              
       - Windows:
       
       C:\Users\<имя_пользователя>\OpenVPN\log
       
    2. Вернитесь к пунктам выше и внимательно проверьте корректность имен сертификатов и
       конфиг файлов.

    3. Проверьте состояние тунельного адаптера (tun):
       
       - Linux:

       ip a

       - Windows:

       ipconfig

       Для Linux, скорей всего, может потребоваться запуск от root'а, а для Windows - установка
       необходимых для tun драйверов и права администратора.

    4. Некоторые домашние роутера могут блокировать VPN-траффик. В зависимости от вешей модели
       роутера могут необходимо выполнить некоторые настройки: http://shorturl.at/xBMX3
       Чаще всего это чек-боксы в одном из пунктов настройки безопасности/fierewall.
            

    4. Если вы пользуетесь операционной системой, дистрибутивом, или платформой отличных от
       тех, что перечислены выше, возможно, вы найдете необходимую информацию по ссылке ниже:
       https://openvpn.net/index.php/access-server/section-faq-openvpn-as/client-configuration.html
       
       Вероятно, пользователям Ubuntu (в особенности её fork'ов, таких как Linux Mint)
       так будут полезны следующие ссылки:
     
       http://3d-freedom.ru/questions/297/networkmanager-ne-meniaet-etc-resolv-conf-posle-nazhatiia-knopki-openvpn-dns
       https://forums.linuxmint.com/viewtopic.php?t=225831

OpenVPN объединяем ключи и конфигурацию клиента в один файл
https://interface31.livejournal.com/87234.html
https://dimetrius.net/linux/ethernet-and-vpn/ob-edinenie-konfiga-i-klyuchej-openvpn-v-odin-fajl.html

откроем файл конфигурации клиента и закомментируем в нем строки содержащие пути к ключам и сертификатам (пути даны сугубо условно):

#ca C:\\Users\\Andrey\\OpenVPN\\keys\\ca.crt
#cert C:\\Users\\Andrey\\OpenVPN\\keys\\ivanov.crt
#key C:\\Users\\Andrey\\OpenVPN\\keys\\ivanov.key
Если вы используете TLS-аутентификацию, то дополнительно закомментируйте:

#tls-auth C:\\Users\\Andrey\\OpenVPN\\keys\\ta.key 1
Теперь перейдем в самый конец файла и создадим там несколько секций в которые скопируем содержимое ключей и сертификатов:



В секцию ca мы копируем содержимое корневого сертификата ca.crt, в секцию key - содержимое ключа клиента, а в секцию cert - открытый ключ из его сертификата, обратите внимание, что копируется содержимое начиная от строки BEGIN и заканчивая строкой END включительно, как есть, без каких либо изменений. Открыть сертификаты и ключи можно обычным Блокнотом, либо любым иным текстовым редактором.

Вместо строк
ca ca.crt
cert user1.crt
key user1.key

вставляем следующую конструкцию...



Если вы используете TLS-аутентификацию, то добавьте секцию tls-auth и скопируйте в нее содержимое ключа ta.key:



И добавьте в файл опцию:
key-direction 1

Теперь файл конфигурации можно сохранить и передать на клиентское устройство. А дальше все достаточно просто и практически не требует вмешательства администратора, многие пользователи вполне способны сделать все самостоятельно. Щелкаем правой кнопкой на значок графической оболочки OpenVPN в системном лотке, выбираем Импорт конфигурации и указываем на полученный файл.

пример подключения из консоли в linux:

openvpn --config /etc/openvpn/client/имя_сети.ovpn --config /etc/openvpn/scripts/update-systemd-resolved.conf &> /dev/hull


https://www.howtoforge.com/how-to-install-and-configure-openvpn-server-on-debian-12/

~/client-configs/make_config.sh



cd ~/easy-rsa
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
cp ~/easy-rsa/pki/private/client1.key ~/client-configs/keys
cp ~/easy-rsa/pki/issued/client1.crt ~/client-configs/keys
cd ~/client-configs
./make_config.sh client1

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 07:08 pm
Powered by Dreamwidth Studios