Настройка OpenVPN сервера на Ubuntu: пошаговая инструкция для начинающих и профессионалов
Если вы ищете способ обеспечить безопасное подключение к интернету или создать собственную VPN-сеть, то установка OpenVPN на сервере Ubuntu — отличный выбор. В этой статье я расскажу, как правильно настроить OpenVPN сервер на Ubuntu, чтобы он работал стабильно и безопасно.
Почему стоит выбрать OpenVPN на Ubuntu?
Ubuntu — одна из самых популярных дистрибутивов Linux благодаря своей стабильности и удобству. OpenVPN — одно из лучших решений для организации виртуальных частных сетей благодаря своей надежности, гибкости и открытости. Совмещение этих двух решений дает вам мощный инструмент для защиты данных и обхода геоограничений.
Что потребуется для установки?
- - Сервер с Ubuntu (рекомендуется версия 20.04 или новее)
- - Доступ к серверу с правами root или sudo
- - Статический IP-адрес или динамический DNS
Шаг 1. Обновление системы
Перед началом обязательно обновите систему:
``bash sudo apt update && sudo apt upgrade -y ``
Шаг 2. Установка OpenVPN и Easy-RSA
Easy-RSA — это набор скриптов для создания и управления сертификатами:
``bash sudo apt install openvpn easy-rsa -y ``
Шаг 3. Настройка PKI (Public Key Infrastructure)
Создайте директорию для Easy-RSA и подготовьте инфраструктуру:
``bash make-cadir ~/easy-rsa cd ~/easy-rsa ``
Инициализируйте PKI и создайте корневой сертификат:
``bash ./easyrsa init-pki ./easyrsa build-ca ``
Вам потребуется придумать пароль для CA и указать имя организации.
Шаг 4. Создание сервера и клиента сертификатов
Создайте сертификат и ключ для сервера:
``bash ./easyrsa gen-req server nopass ./easyrsa sign-req server server ``
Для клиента:
``bash ./easyrsa gen-req client1 nopass ./easyrsa sign-req client client1 ``
Также создайте диффи-хеллперы (DH parameters):
``bash ./easyrsa gen-dh ``
И сертификат HMAC для защиты от атак типа DoS:
``bash openvpn --genkey --secret ta.key ``
Шаг 5. Настройка конфигурации сервера
Создайте файл конфигурации /etc/openvpn/server.conf с типичным содержимым:
``conf port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh.pem tls-auth ta.key 0 cipher AES-256-CBC auth SHA256 server 10.8.0.0 255.255.255.0 push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 persist-key persist-tun status /var/log/openvpn-status.log verb 3 ``
Шаг 6. Настройка брандмауэра и маршрутизации
Разрешите трафик через ufw:
``bash sudo ufw allow 1194/udp sudo ufw allow OpenSSH sudo ufw enable ``
Настройте маршрутизацию:
``bash sudo sysctl -w net.ipv4.ip_forward=1 ``
Добавьте это в /etc/sysctl.conf для постоянной активации.
Настройте iptables:
``bash sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE ``
Замените eth0 на название вашего интерфейса.
Шаг 7. Запуск OpenVPN сервера
Запустите сервис:
``bash sudo systemctl start openvpn@server sudo systemctl enable openvpn@server ``
Проверьте статус:
``bash sudo systemctl status openvpn@server ``
Шаг 8. Создание клиентских конфигураций
Создайте файл .ovpn для клиента, включающий сертификаты и ключи. Вот пример базовой конфигурации:
```conf client dev tun proto udp remote YOUR_SERVER_IP 1194 resolv-retry infinite nobind persist-key persist-tun remote-cert-tls server tls-auth ta.key 1 cipher AES-256-CBC auth SHA256 verb 3
<ca> вставьте содержимое ca.crt </ca> <cert> вставьте содержимое client1.crt </cert> <key> вставьте содержимое client1.key </key> ```
Итог
Настройка OpenVPN сервера на Ubuntu — это несложно, если придерживаться последовательных шагов. Такой сервер обеспечит вам безопасность данных, возможность обхода ограничений и контроль доступа. Не забывайте регулярно обновлять сертификаты и следить за безопасностью.
Оформите прокси под вашу задачу
IPv4, IPv6, Shared и MTProto — мгновенная выдача после оплаты, 24 гео-зоны, HTTPS и SOCKS5.
Перейти к заказу