Шаг 5 - Настройка службы OpenVPN
Теперь, когда сертификаты и ключи вашего клиента и сервера созданы, вы можете начать настройку службы OpenVPN для использования этих учетных данных.
Начните с копирования образца файла конфигурации OpenVPN в каталог конфигурации, а затем извлеките его, чтобы использовать в качестве основы для вашей установки:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gzip -d /etc/openvpn/server.conf.gz
Откройте файл конфигурации сервера в предпочитаемом текстовом редакторе:
sudo nano /etc/openvpn/server.conf
Найдите раздел HMAC, ища tls-authдирективу. Эта строка уже должна быть раскомментирована, но если это не так, удалите « ; », Чтобы раскомментировать:
tls-auth ta.key 0 # This file is secret
Затем найдите раздел о криптографических шифрах, просмотрев закомментированные cipherстроки. В AES-256-CBCшифрах предлагают хороший уровень шифрования и хорошо поддерживаются. Опять же, эта строка уже должна быть раскомментирована, но если это не так, просто удалите « ; »Перед ним:
cipher AES-256-CBC
Ниже добавьте authдирективу для выбора алгоритма дайджеста сообщения HMAC. Для этого SHA256подойдет:
auth SHA256
Затем найдите строку, содержащую dhдирективу, определяющую параметры Диффи-Хеллмана. Из-за некоторых недавних изменений, внесенных в EasyRSA, имя файла для ключа Диффи-Хеллмана может отличаться от того, что указано в примере файла конфигурации сервера. При необходимости измените имя файла, указанное здесь, удалив, 2048чтобы оно соответствовало ключу, который вы создали на предыдущем шаге:
dh dh.pem
И, наконец, найти userи groupнастройки и удалить « ; »В начале каждой, чтобы раскомментировать эти строки:
user nobody
group nogroup
Изменения, которые вы внесли в образец server.confфайла до этого момента, необходимы для работы OpenVPN. Изменения, описанные ниже, не являются обязательными, хотя они также необходимы для многих распространенных случаев использования.
(Необязательно) Push Changes для перенаправления всего трафика через VPN
Приведенные выше настройки создадут VPN-соединение между двумя машинами, но не заставят какие-либо соединения использовать туннель. Если вы хотите использовать VPN для маршрутизации всего вашего трафика, вы, вероятно, захотите передать настройки DNS на клиентские компьютеры.
В server.confфайле есть несколько директив, которые вы должны изменить, чтобы включить эту функцию. Найдите redirect-gatewayраздел и удалите точку с запятой « ; »От начала redirect-gatewayстроки, чтобы раскомментировать:
push "redirect-gateway def1 bypass-dhcp"
Чуть ниже найдите dhcp-optionраздел. Снова удалите « ; »Перед обеими строками, чтобы раскомментировать их:
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
Это поможет клиентам перенастроить свои настройки DNS для использования VPN-туннеля в качестве шлюза по умолчанию.
(Необязательно) Настройте порт и протокол
По умолчанию сервер OpenVPN использует порт 1194и протокол UDP для приема клиентских подключений. Если вам нужно использовать другой порт из-за ограниченных сетевых сред, в которых могут находиться ваши клиенты, вы можете изменить этот portпараметр. Если вы не размещаете веб-контент на своем сервере OpenVPN, порт 443- это популярный выбор, поскольку он обычно разрешен правилами брандмауэра.
# Optional!
port 443
Часто протокол также ограничен этим портом. Если это так, перейдите protoс UDP на TCP:
# Optional!
proto tcp
Если вы делаете переключить протокол к TCP, вам нужно будет изменить параметр explicit-exit-notifyзначение директивы от 1к 0, так как эта директива используется только UDP. Если этого не сделать при использовании TCP, при запуске службы OpenVPN возникнут ошибки:
# Optional!
explicit-exit-notify 0
Если вам не нужно использовать другой порт и протокол, лучше оставить эти две настройки по умолчанию.
Источник: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-debian-9