Шаг 5 Настройка OpenVPN
Настройка OpenVPN
Как и многие другие широко используемые инструменты с открытым исходным кодом, OpenVPN имеет множество опций конфигурации, доступных для настройки вашего сервера под ваши конкретные потребности. В этом разделе мы предоставим инструкции по настройке конфигурации сервера OpenVPN на основе одного из примеров файлов конфигурации, включенных в документацию данного программного обеспечения.
Сначала скопируйте server.conf
файл примера в качестве отправной точки для вашего собственного файла конфигурации:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/server/ sudo gunzip /etc/openvpn/server/server.conf.gz
Откройте новый файл для редактирования в любом текстовом редакторе. Мы будем использовать nano в нашем примере:
sudo nano /etc/openvpn/server/server.conf
Нам нужно изменить несколько строк в этом файле. Сначала найдите HMAC
раздел конфигурации, выполнив поиск tls-auth
директивы. Эта строка должна быть без комментариев. Прокомментируйте это, добавив ;
в начало строки. Затем добавьте новую строку после нее, содержащую tls-crypt ta.key
только значение :/etc/openvpn/server/server.conf
Затем найдите раздел о криптографических шифрах, ища cipher
строки. Значение по умолчанию установлено AES-256-CBC
, однако, AES-256-GCM
шифр предлагает лучший уровень шифрования, производительность и хорошо поддерживается в современных клиентах OpenVPN. Мы закомментируем значение по умолчанию, добавив ;
знак в начало этой строки, а затем добавим еще одну строку после него, содержащую обновленное значение AES-256-GCM
:/etc/openvpn/server/server.conf
Сразу после этой строки добавьте auth
директиву для выбора алгоритма дайджеста сообщений HMAC. Для этого SHA256
хороший выбор:/etc/openvpn/server/server.conf
Затем найдите строку, содержащую dh
директиву, которая определяет параметры Диффи-Хеллмана. Поскольку мы настроили все сертификаты для использования криптографии с эллиптической кривой, нет необходимости в исходном файле Диффи-Хеллмана. Закомментируйте существующую строку, которая выглядит как dh dh2048.pem
или dh dh.pem
. Имя файла для ключа Диффи-Хеллмана может отличаться от того, которое указано в примере файла конфигурации сервера. Затем добавьте после него строку с содержанием dh none
:/etc/openvpn/server/server.conf
Далее, мы хотим, чтобы OpenVPN запускался без каких-либо привилегий после его запуска, поэтому нам нужно указать, чтобы он запускался с пользователем nobody и группой nogroup . Чтобы включить это, найти и раскомментировать user nobody
и group nogroup
строки, удалив ;
знак с начала каждой строки:/etc/openvpn/server/server.conf
(Необязательно) Push-изменения DNS для перенаправления всего трафика через VPN
Приведенные выше настройки создадут VPN-соединение между вашим клиентом и сервером, но не заставят никакие соединения использовать туннель. Если вы хотите использовать VPN для маршрутизации всего клиентского трафика через VPN, вам, скорее всего, потребуется передать некоторые дополнительные настройки на клиентские компьютеры.
Для начала найдите и раскомментируйте строку, содержащую push "redirect-gateway def1 bypass-dhcp"
. Это скажет вашему клиенту перенаправить весь его трафик через ваш сервер OpenVPN. Помните, что включение этой функции может вызвать проблемы с подключением к другим сетевым службам, таким как SSH:/etc/openvpn/server/server.conf
Прямо под этой линией найдите dhcp-option
раздел. Снова удалите ;
с начала обеих строк, чтобы раскомментировать их:/etc/openvpn/server/server.conf
Это поможет клиентам перенастроить свои настройки DNS для использования VPN-туннеля в качестве шлюза по умолчанию.
(Необязательно) Настройте порт и протокол
По умолчанию сервер OpenVPN использует порт 1194
и протокол UDP для приема клиентских подключений. Если вам нужно использовать другой порт из-за ограниченных сетевых сред, в которых могут находиться ваши клиенты, вы можете изменить эту port
опцию. Если вы не размещаете веб-контент на своем сервере OpenVPN, порт 443
является популярным выбором, так как он обычно разрешен правилами брандмауэра.
Чтобы изменить OpenVPN для прослушивания через порт 443, откройте server.conf
файл и найдите строку, которая выглядит следующим образом:/etc/openvpn/server/server.conf
Отредактируйте его так, чтобы порт был 443:/etc/openvpn/server/server.conf
Зачастую протокол также ограничивается этим портом. Если да, то найти proto
строку ниже port
строки и изменить протокол от udp
до tcp
:/etc/openvpn/server/server.conf
Если вы делаете переключить протокол к TCP, вам нужно будет изменить параметр explicit-exit-notify
значение директивы от 1
к 0
, так как эта директива используется только UDP. Невыполнение этого при использовании TCP приведет к ошибкам при запуске службы OpenVPN.
Найдите explicit-exit-notify
строку в конце файла и измените значение на 0
:/etc/openvpn/server/server.conf
Если вам не нужно использовать другой порт и протокол, лучше оставить эти настройки без изменений.
(Необязательно) Укажите учетные данные не по умолчанию
Если вы выбрали другое имя во время ./easyrsa gen-req server
команды ранее, модифицировать cert
и key
строки в server.conf
файле конфигурации так , что они указывают на подходящей .crt
и .key
файлов. Если вы использовали имя по умолчанию server
, это уже правильно установлено:/etc/openvpn/server/server.conf
Когда вы закончите, сохраните и закройте файл.
Вы завершили настройку общих настроек OpenVPN. На следующем шаге мы настроим сетевые параметры сервера.
Last updated
Was this helpful?