search
Популярные запросы:

OpenVPN

Руководство №1

Вот как проверить статус сервиса клиента на риге, когда вы загружаете конфигурацию, а она не работает:


systemctl status [email protected]
journalctl -u [email protected] -e --no-pager -n 100

Вот пример работающей конфигурации: /etc/openvpn/server.conf


port 1194
proto udp
dev tun
ca ca.crt
cert myservername.crt
key myservername.key
dh dh2048.pem
topology subnet
server 10.4.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-config-dir ccd
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log            openvpn.log
verb 3

И самое важное - client.conf. Там должны быть файлы сертификатов.


client
dev tun
proto udp
remote mysupermegaserver.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
comp-lzo
verb 3

Обратите внимание, что в конфигурации сертификаты должны быть названы как в примере:

ca ca.crt

cert client.crt

key client.key

Вы можете загружать файлы с любыми именами, но тогда они будут переименованы в to ca.crt, client.crt, client.key. Таким образом, у вас будет одна конфигурация для всех ригов.

Также вы можете встроить свои сертификаты в один файл в client.conf, чтобы ваш файл выглядел так:


client
dev tun
proto udp
remote mysupermegaserver.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3

#No need for file names, comment or delete them
#ca ca.crt
#cert client.crt
#key client.key

-----BEGIN CERTIFICATE-----
***Paste CA Cert Text Here***

-----END CERTIFICATE-----


-----BEGIN CERTIFICATE-----
***Paste Your Cert Text Here***

-----END CERTIFICATE-----


-----BEGIN PRIVATE KEY-----
***Paste Your Cert Private Key Here***

-----END PRIVATE KEY-----

Также, если вам нужен TLS Auth, вы можете встроить ключ таким образом:


key-direction 1

-----BEGIN OpenVPN Static key V1-----
...tls key...
-----END OpenVPN Static key V1-----

auth-user-pass сейчас также поддерживается. Так что просто установите эту опцию в конфигурации клиента и загрузите ее, указав логин и пароль в диалоге загрузки.

Руководство №2

Прежде всего, вам нужен ПК или сервер, которому требуется фиксированный IP-адрес во внутренней сети (сети, в которой вы размещаете VPN-сервер). Помните, что весь VPN-трафик пойдет на компьютер с VPN-сервером, поступая от каждого VPN-клиента (от каждого из ваших ригов и от вашего персонального компьютера).

Мы предполагаем, что вы уже установили программное обеспечение VPN-сервера на ваш Windows или Linux. Обратите внимание, что установщики OpenVPN 2.4 не будут работать на Windows XP.

Если вы используете, к примеру, Debian, для установки OpenVPN достаточно напечатать: apt-get install openvpn. Так вы получите пакет Debian OpenVPN, который вы будете использовать для настройки OpenVPN-сервера и генерирования ключей сервера и клиента.

Ссылки для скачивания OpenVPN и его ручной установки (на момент написания руководства):

Linux: https://swupdate.openvpn.org/community/releases/openvpn-2.4.5.tar.gz

Windows: https://swupdate.openvpn.org/community/releases/openvpn-install-2.4.5-I601.exe

Настройка

Сначала нам нужно создать сертификат CA. Для этого используйте следующие команды:

Если вы используете Linux, BSD или операционную систему, подобную Unix, откройте командную оболочку и запустите команду cd, чтобы перейти в подкаталог easy-rsa. Если вы установили OpenVPN из RPM или DEB файла, подкаталог easy-rsa обычно можно найти в /usr/share/doc/packages/openvpn или /usr/share/doc/openvpn. Лучше всего скопировать этот подкаталог (например, в /etc/openvpn) ещё до изменений. Таким образом будущие обновления пакета OpenVPN не перепишут ваши модификации. Если вы устанавливали из файла .tar.gz, подкаталог easy-rsa будет находиться в каталоге верхнего уровня развернутого исходного дерева..

В Debian, если вы выполнили apt-get install openvpn, запустите следующие команды:


1:	make-cadir my_ca
2:	cd my_ca
3:	pico vars

Если вы используете Windows, откройте окно командной строки и запустите команду cd, чтобы перейти в \Program Files\OpenVPN\easy-rsa. Запустите следующий пакетный файл, чтобы скопировать файлы конфигурации на место (это перезапишет все существующие файлы vars.bat и openssl.cnf): init-config.

Теперь отредактируйте файл vars (vars.bat в Windows / в Linux используйте команду pico vars) и настройте параметры KEYCOUNTRY, KEYPROVINCE, KEYCITY, KEYORG, и KEY_EMAIL. Не оставляйте пустым ни один из этих параметров:

Set KEY_SIZE to “4096”

Выйдите и сохраните файл vars.

В Debian, если вы выполнили apt-get install openvpn, запустите эту команду: cp openssl-1.0.0.cnf openssl.cnf.

Затем инициализируйте PKI.

На Linux/BSD/Unix:


source ./vars
./clean-all
./build-ca

На Windows:


vars
clean-all
build-ca

Далее, сгенерируем сертификат и приватный ключ для сервера.

На Linux/BSD/Unix: ./build-key-server server.

На Windows: build-key-server server.

Как и на предыдущем шаге, большинство параметров могут быть по умолчанию. Когда запрашивается Common Name, введите «server». Два других запроса требуют положительных ответов ("y"): "Sign the certificate? [y/n]" и “1 out of 1 certificate requests certified, commit? [y/n]”.

Сгенерируйте сертификаты и ключи для 3 клиентов. Генерирование сертификатов клиента очень похоже на предыдущий шаг.

На Linux/BSD/Unix:


./build-key client1
./build-key client2
./build-key client3

На Windows:


build-key client1
build-key client2
build-key client3

Помните, что для каждого клиента обязательно нужно ввести соответствующее Common Name при появлении запроса, то есть "client1", "client2" или "client3". Всегда используйте уникальное общее имя для каждого клиента.

Сгенерируйте параметры Diffie Hellman

Параметры Diffie Hellman должны быть сгенерированы для OpenVPN сервера.

На Linux/BSD/Unix: ./build-dh

На Windows: build-dh

Ключевые файлы

Теперь находим только что сгенерированные ключи и сертификаты в подкаталоге keys (my_ca/keys). Вот объяснение соответствующих файлов:

openvpn image

Финальный шаг в процессе генерации ключей - это копирование всех файлов на машины, которые в них нуждаются. Позаботьтесь о том, чтобы скопировать секретные файлы по безопасному каналу.

Выполните команду su, чтобы получить корневой доступ.

Выполните следующую команду, когда вы в каталоге my_ca/keys: cp ca.crt server.key server.crt dh4096.pem /etc/openvpn/server/.

Ваш файл server.conf будет размещен здесь (в Linux): /etc/openvpn/server.conf. Он будет выглядеть примерно так:


port 1194
proto udp
dev tun
ca server/ca.crt
cert server/server.crt
key server/server.key
dh server/dh4096.pem
topology subnet
server 10.200.200.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-config-dir ccd
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 3

Создайте файл server.conf в /etc/openvpn/, используя эту команду: cat > server.conf.

Затем скопируйте всю конфигурацию выше, в конце файла нажмите «CTRL-C» и «server.conf» будет создан. Создайте следующий каталог: mkdir / etc / openvpn / ccd.

Запустите сервер OpenVPN в /etc/openvpn/: openvpn server.conf

Ваш сервер OpenVPN должен заработать без ошибок.

Если вы использовали установку пакета Debian, OpenVPN сервер должен работать после загрузки и запуска. В других случаях и при ручной установке, вам нужно получить openvpn server.conf в initscript.

Для файла client.conf, вам нужно загрузить на сайт Hive OS:


client
dev tun
proto udp
remote dyndns.name.here.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3

-----BEGIN CERTIFICATE-----
***Paste CA Cert Text Here***

-----END CERTIFICATE-----


-----BEGIN CERTIFICATE-----
***Paste Your Cert Text Here***

-----END CERTIFICATE-----


-----BEGIN PRIVATE KEY-----
***Paste Your Cert Private Key Here***

-----END PRIVATE KEY-----

"ca" это ваше содержимое "ca.crt", "cert" - ваше содержимое "client.crt", а "key" - ваше содержимое "client.key". Вам нужно скопировать и вставить содержимое каждого из этих файлов в те 3 поля.

Здесь, в строке remote dyndns.name.here.org 1994, если у вас динамический IP-адрес (лучше, если у вас есть сервис DynDns), получите динамический DNS, например dyndns.name.here.org, и установите его на вашем локальном маршрутизаторе в настройках DynDns, чтобы маршрутизатор автоматически обновлял ваш динамический IP-адрес.

Отредактируйте директиву remote, указав имя хоста/IP-адрес и номер порта сервера OpenVPN. Если ваш сервер OpenVPN будет работать на машине с одной сетевой картой за межсетевым экраном/NAT-шлюзом, используйте публичный IP-адрес шлюза, и номер порта, который вы настроили, чтобы шлюз перенаправлял на сервер OpenVPN.

Опять же, вот как проверить статус сервиса клиента на риге, когда вы загружаете конфигурацию, а она не работает:


systemctl status [email protected]
journalctl -u [email protected] -e --no-pager -n 100

Наконец, теперь вы можете установить и настроить наш клиент OpenVPN на нашем ПК или ноутбуке. Просто установите OpenVPN Client и используйте тот же файл client.conf, но переименуйте его в hiveosvpn.ovpn, если вы используете Microsoft Windows. Скопируйте его в установочный каталог OpenVPN в подкаталоге \config\, и доставьте его туда. Запустите клиент OpenVPN для Windows, и все готово. Подключитесь к серверу OpenVPN, и вы будете в той же сети, что и ваша удаленный риг.