Шаг 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