> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.lumiweb.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenVPN

> Классический VPN-сервер за один скрипт

OpenVPN — проверенный временем VPN-протокол. Он медленнее и тяжелее WireGuard, зато его понимает практически любой клиент и корпоративное оборудование. На VPS Lumi (по умолчанию Ubuntu 22.04, подключаешься как root по SSH) разворачивается одним скриптом.

<Note>
  Команды актуальны на момент написания. Названия скриптов и флаги иногда меняются — сверяйся с официальным репозиторием [angristan/openvpn-install](https://github.com/angristan/openvpn-install).
</Note>

## OpenVPN или WireGuard

| Бери OpenVPN, если                                                                       | Бери WireGuard, если              |
| ---------------------------------------------------------------------------------------- | --------------------------------- |
| Нужна максимальная совместимость со старым софтом и роутерами                            | Важна скорость и простота         |
| Подключаешься из сетей, где режут нестандартные протоколы (умеет работать через TCP/443) | Хочешь лёгкий современный туннель |
| Уже есть инфраструктура на OpenVPN                                                       | Настраиваешь с нуля для себя      |

Если особых причин нет — [WireGuard](/vps/wireguard) обычно быстрее и проще. OpenVPN выбирают ради совместимости и легаси.

## Установка

Два пути: готовый скрипт (быстро) или вручную (полный контроль). Большинству хватит скрипта.

<Tabs>
  <Tab title="Скрипт — просто и быстро">
    Скрипт сам поставит OpenVPN, настроит сертификаты и выдаст готовый файл клиента.

    <Steps>
      <Step title="Подключись к серверу по SSH">
        IP и пароль root возьми из карточки сервера в боте.

        ```bash theme={"system"}
        ssh root@IP_твоего_сервера
        ```
      </Step>

      <Step title="Скачай и сделай скрипт исполняемым">
        ```bash theme={"system"}
        curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
        chmod +x openvpn-install.sh
        ```
      </Step>

      <Step title="Запусти установку">
        ```bash theme={"system"}
        ./openvpn-install.sh
        ```

        Скрипт задаст несколько вопросов: внешний IP, протокол (UDP быстрее, TCP лучше проходит через ограничения), порт, DNS для клиентов и имя первого клиента. Не уверен — оставляй значения по умолчанию.
      </Step>

      <Step title="Забери файл клиента">
        Готовый файл `.ovpn` появится в домашней папке (для root — `/root`). Путь скрипт покажет на экране. Перенеси файл на устройство, например через `scp`:

        ```bash theme={"system"}
        scp root@IP_твоего_сервера:/root/имя_клиента.ovpn .
        ```
      </Step>
    </Steps>

    **Добавить или удалить клиента.** Каждому устройству — свой `.ovpn`. Запусти скрипт повторно — появится меню управления:

    ```bash theme={"system"}
    ./openvpn-install.sh
    ```

    Из меню можно добавить нового клиента, отозвать существующего или удалить OpenVPN целиком.

    <Tip>
      Скрипт работает на: Ubuntu (≥ 18.04), Debian (≥ 11), CentOS Stream (≥ 8), AlmaLinux (≥ 8), Rocky Linux (≥ 8), Fedora (≥ 40), Oracle Linux (≥ 8), Amazon Linux 2023, Arch Linux, openSUSE. Нужен root-доступ, `systemd` и включённый модуль TUN — на VPS Lumi всё это есть.
    </Tip>
  </Tab>

  <Tab title="Вручную — полный контроль">
    Для тех, кто хочет понимать каждый шаг.

    <Steps>
      <Step title="Поставь пакеты">
        ```bash theme={"system"}
        apt update && apt install -y openvpn easy-rsa
        ```
      </Step>

      <Step title="Создай PKI и сертификаты">
        ```bash theme={"system"}
        make-cadir ~/openvpn-ca
        cd ~/openvpn-ca
        ./easyrsa init-pki
        ./easyrsa build-ca nopass
        ./easyrsa gen-req server nopass
        ./easyrsa sign-req server server
        ./easyrsa gen-dh
        ```
      </Step>

      <Step title="Скопируй ключи в /etc/openvpn">
        ```bash theme={"system"}
        cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem /etc/openvpn/
        ```
      </Step>

      <Step title="Создай конфиг сервера и запусти">
        Скопируй пример конфига (`/usr/share/doc/openvpn/examples/`) в `/etc/openvpn/server.conf`, укажи пути к ключам и запусти сервис:

        ```bash theme={"system"}
        systemctl enable --now openvpn@server
        ```
      </Step>
    </Steps>

    <Warning>
      Ручному способу дополнительно нужны правила NAT и включённый IP-форвардинг. Скрипт из соседней вкладки делает это сам — не хочешь возиться, выбирай его.
    </Warning>
  </Tab>
</Tabs>

## Проверка

Убедись, что сервис работает:

```bash theme={"system"}
systemctl status openvpn
```

Должен видеть `active (running)`.

<Warning>
  Если при установке выбрал нестандартный порт, открой его в файрволе. Для протокола UDP на стандартном порту:

  ```bash theme={"system"}
  ufw allow 1194/udp
  ```

  Подставь свой порт и протокол (udp/tcp), если менял их при установке. Подробнее — [Файрвол (ufw)](/vps/firewall).
</Warning>

## Подключение устройств

Поставь официальный клиент **OpenVPN Connect** и импортируй файл `.ovpn`:

<CardGroup cols={2}>
  <Card title="Desktop" icon="desktop">
    **Windows / macOS / Linux** — [openvpn.net/client](https://openvpn.net/client/)

    В приложении: **Import Profile** → выбрать файл `.ovpn` → подключиться.
  </Card>

  <Card title="Mobile" icon="mobile-screen">
    **iOS** — App Store («OpenVPN Connect»)

    **Android** — Google Play («OpenVPN Connect»)
  </Card>
</CardGroup>

## Что делает Lumi, а что ты

Lumi отвечает за сервер и сеть: VPS работает, root-доступ есть, трафик безлимитный. Настройку самого VPN-софта делаешь ты — это твой личный сервис.

Не открывается порт или не поднимается сеть на стороне сервера — пиши в поддержку [@lumisup\_robot](https://t.me/lumisup_robot).

## Куда дальше

<CardGroup cols={2}>
  <Card title="WireGuard" icon="bolt" href="/vps/wireguard">
    Быстрый современный VPN с простой настройкой.
  </Card>

  <Card title="Amnezia" icon="user-shield" href="/vps/amnezia">
    VPN без терминала — приложение всё настроит само.
  </Card>
</CardGroup>
