- Зачем нам устанавливать OpenVPN на Ubuntu 22.04?
- Предпосылки
- Часть первая — Установка OpenVPN и EasyRSA
- Часть 2 — Создание центров сертификации, ключей и сертификатов
- Часть 3 — Настройка сервера OpenVPN
- Часть 4 — Включение маршрутизации и NAT
- Настройки UFW (если включены)
- Часть 5 — Настройка службы OpenVPN
- Часть 6 — Создание клиентского файла (.ovpn) со встроенным сертификатом
- Раздел 7 — Управление пользователями, аннулирование сертификатов и безопасность
- Раздел 8 — Технические рекомендации и оптимизация приложений
- Раздел 9 — Сравнение местоположений и инфраструктуры
- Раздел 10 — Мониторинг и техническое обслуживание
- Быстрое устранение неполадок
- Краткое изложение и рекомендации по безопасности
- Преимущества предоставляемой инфраструктуры и местоположения.
- Часто задаваемые вопросы
Зачем нам устанавливать OpenVPN на Ubuntu 22.04?
Данное руководство представляет собой практическое и исчерпывающее пособие по настройке и конфигурации. OpenVPN На Убунту 22.04 Он предназначен для системных администраторов, специалистов по DevOps, трейдеров и геймеров. Пошаговый процесс включает установку пакетов, создание PKI с помощью EasyRSA, настройку сервера и клиента, настройку брандмауэра (ufw/iptables), включение маршрутизации и решений безопасности, таких как tls-cryptУправление и использование списков отзыва сертификатов (CRL). фейл2бан Это будет.
Предпосылки
Для выполнения этих инструкций вам потребуется следующее:
- Сервер Убунту 22.04 При наличии у пользователя доступа судо
- Публичный IP-адрес или выделенный диапазон IP-адресов (при необходимости IPv4/IPv6)
- Свободный порт (рекомендуется): UDP 1194 или использовать пользовательский порт, чтобы уменьшить вероятность сканирования.
- Для базовой нагрузки требуется не менее 1 ГБ оперативной памяти; для корпоративного использования или сотен подключений необходимо увеличить ресурсы.
Часть первая — Установка OpenVPN и EasyRSA
Сначала обновите пакеты, а затем установите OpenVPN и EasyRSA.
sudo apt update && sudo apt upgrade -y
sudo apt install -y openvpn easy-rsaСкопируйте шаблон EasyRSA и подготовьте PKI:
make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
./easyrsa init-pkiЧасть 2 — Создание центров сертификации, ключей и сертификатов
Пошаговая инструкция по созданию центра сертификации, ключей и сертификатов с помощью EasyRSA:
./easyrsa build-ca nopass
./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
./easyrsa gen-dh
openvpn --genkey --secret /etc/openvpn/ta.key
./easyrsa gen-crl
cp pki/crl.pem /etc/openvpn/crl.pem
chmod 644 /etc/openvpn/crl.pemФайлы, необходимые для работы сервера:
- /etc/openvpn/server.crt
- /etc/openvpn/server.key
- /etc/openvpn/ca.crt
- /etc/openvpn/dh.pem
- /etc/openvpn/ta.key
- /etc/openvpn/crl.pem
Часть 3 — Настройка сервера OpenVPN
Пример конфигурационного файла в /etc/openvpn/server/server.conf Создать. Следующий пример представляет собой базовую и безопасную конфигурацию с использованием AES-256-GCM и tls-crypt.
port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
tls-crypt /etc/openvpn/ta.key
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
cipher AES-256-GCM
auth SHA256
ncp-ciphers AES-256-GCM
persist-key
persist-tun
user nobody
group nogroup
status /var/log/openvpn/status.log
log /var/log/openvpn/openvpn.log
verb 3
crl-verify /etc/openvpn/crl.pemСоветы:
- Использование AES-256-GCM и аутентификация SHA256 Рекомендовано.
- Для минимизации задержек в сетях, чувствительных к условиям торговли или игр, УДП Это более подходящий вариант; он возможен в сетях с ограниченными ресурсами. TCP Это может оказаться необходимым.
- Ты можешь tls-version-min 1.2 Или tls-version-min 1.3 И добавьте список более строгих шифров.
Часть 4 — Включение маршрутизации и NAT
Необходимо включить переадресацию и настроить NAT для передачи клиентского трафика в Интернет.
Временно включите переадресацию IPv4:
sudo sysctl -w net.ipv4.ip_forward=1Чтобы это стало постоянным:
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-openvpn.conf
sudo sysctl --systemДобавление правила NAT с помощью iptables (при условии, что выходной интерфейс — eth0):
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADEДля обеспечения постоянного действия правил используйте iptables-persistent или netfilter-persistent:
sudo apt install -y iptables-persistent
sudo netfilter-persistent saveЕсли из nftables Вы используете определение эквивалента NAT в nft.
Настройки UFW (если включены)
Если из УФВ Перед включением NAT необходимо использовать файл. /etc/ufw/before.rules Отредактируйте и добавьте раздел NAT. Краткий пример:
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMITЗатем в /etc/default/ufw Количество IPV4_FORWARDING к "“да”Или воспользуйтесь sysctl. Затем откройте порт OpenVPN и включите ufw:
sudo ufw allow 1194/udp
sudo ufw enableЧасть 5 — Настройка службы OpenVPN
Запустите и включите службу (имя службы может отличаться в зависимости от дистрибутива):
sudo systemctl start [email protected]
sudo systemctl enable [email protected]Чтобы проверить состояние и просмотреть журнал:
sudo systemctl status openvpn-server@server
journalctl -u openvpn-server@server -fЧасть 6 — Создание клиентского файла (.ovpn) со встроенным сертификатом
Для удобства распространения создайте файл .ovpn, который будет содержать все необходимые файлы. сертификат/ключ находятся внутри него. Замените следующий пример, основываясь на сгенерированных значениях:
client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
verb 3
<ca>
-----BEGIN CERTIFICATE-----
(محتوای ca.crt)
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
(محتوای client1.crt)
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
(محتوای client1.key)
-----END PRIVATE KEY-----
</key>
<tls-crypt>
-----BEGIN OpenVPN Static key V1-----
(محتوای ta.key)
-----END OpenVPN Static key V1-----
</tls-crypt>Передайте этот файл на ваши клиенты под управлением Windows, Mac или Linux. В Linux вы можете использовать NetworkManager или команду. openvpn --config client.ovpn Использовать.
Раздел 7 — Управление пользователями, аннулирование сертификатов и безопасность
Управление пользователями и обеспечение безопасности включают в себя следующее:
- Добавить нового пользователя: Сгенерируйте ключ и подпишите так же, как и клиент 1.
- Отзыв сертификата (аннулирование): ./easyrsa revoke client1 && ./easyrsa gen-crl Затем скопируйте crl.pem в /etc/openvpn/crl.pem и перезагрузите сервер.
- Совместное использование сертификатов и аутентификации пользователя по паролю: Для повышения уровня безопасности можно использовать PAM или RADIUS и добавить OTP/2FA.
- Фэйл2бан: Установка и настройка для мониторинга журналов и блокировки попыток вторжения.
- Управление журналами: Снизьте уровень детализации логов в производственной среде и используйте logrotate для обслуживания файлов журналов.
sudo apt install -y fail2ban
# create a custom jail for openvpn as neededРаздел 8 — Технические рекомендации и оптимизация приложений
Несколько практических советов для различных сценариев:
Для торговли/форекс и криптовалют
- Чтобы сократить время отклика (RTT), выбирайте местоположение, расположенное близко к биржам или торговым серверам (например, Лондон, Франкфурт, Нью-Йорк, Токио).
- Используйте выделенный VPS для торговли с низким пингом, выделенными ресурсами и сервером, защищающим от DDoS-атак.
- Используйте протокол UDP и установите соответствующий MTU (например, tun-mtu 1500 или меньше), чтобы предотвратить фрагментацию.
Для игр
- Выберите местоположение с наименьшим пингом и используйте VPS или высокоскоростные серверы с быстрой сетью.
- A/B-тестирование для проверки того, действительно ли VPN улучшает маршрутизацию и снижает пинг.
Для искусственного интеллекта и рендеринга
- Для передачи больших объемов данных лучше использовать облачные частные сети (VPC) или VPN-сети на уровне сети с протоколом BGP.
- Для подключения к серверу с графическим процессором используйте серверы с сетью 10 Гбит/с.
Раздел 9 — Сравнение местоположений и инфраструктуры
Пример преимуществ по регионам:
- Европа (Франкфурт, Лондон, Амстердам): Подходит для европейских трейдеров и обеспечивает низкую задержку при взаимодействии с биржами.
- Америка (Нью-Йорк, Нью-Джерси, Майами): Подходит для североамериканского рынка и грузов, чувствительных к задержкам.
- Азия (Токио, Сингапур, Сеул): Подходит для рынков Азиатско-Тихоокеанского региона, а также для игровых и ИИ-сервисов в этом регионе.
Наша компания имеет более чем 85 представительств по всему мируОна предлагает сетевые протоколы BGP и CDN, которые могут эффективно снижать задержку, повышать стабильность и предотвращать DDoS-атаки.
Раздел 10 — Мониторинг и техническое обслуживание
Советы по обслуживанию и масштабируемости:
- Мониторинг OpenVPN с помощью Prometheus/Grafana или Zabbix (используя экспортеры или анализ логов).
- Регулярное техническое обслуживание списка отозванных абонентов (CRL) и проверка журналов подключений.
- Для большого количества клиентов используйте балансировщик нагрузки и несколько серверов OpenVPN с высокой доступностью и общим центром сертификации.
Быстрое устранение неполадок
- Проверьте журнал:
sudo journalctl -u openvpn-server@server -e - Инспекция туннеля:
ip a show tun0 - Проверка порта:
sudo ss -ulpn | grep 1194 - Проверка NAT: с VPN-клиента выполните команду ping 8.8.8.8 и проверьте публичный IP-адрес сервера.
Краткое изложение и рекомендации по безопасности
Основные рекомендации:
- Всегда используйте TLS (tls-crypt) и надежный центр сертификации.
- Используйте надежное шифрование (AES-256-GCM) и как минимум протокол TLS 1.2.
- Внедрить процедуру отзыва и списка отзыва сертификатов (CRL) для ограничения доступа в случае утечки ключей.
- Используйте fail2ban и правила ограничения скорости запросов в вашем брандмауэре.
- Не забывайте отслеживать и периодически просматривать журналы.
Преимущества предоставляемой инфраструктуры и местоположения.
Использование готовой инфраструктуры с несколькими локациями обеспечивает такие преимущества, как снижение пинга, повышение стабильности и защита от DDoS-атак. Для специализированных сценариев предлагаются такие опции, как обмен VPS, игровыми серверами, серверами для видеокарт и серверами защиты от DDoS-атак.









