> ## 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.

# WireGuard VPN

> Свой быстрый VPN на WireGuard

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

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

## Чем хорош WireGuard

<CardGroup cols={2}>
  <Card title="Скорость" icon="bolt">
    Работает в ядре Linux, почти не теряет в пропускной способности.
  </Card>

  <Card title="Простота" icon="feather">
    Конфиг — несколько строк, а не простыни настроек.
  </Card>

  <Card title="Стабильность" icon="wifi">
    Переключился с Wi-Fi на мобильный — туннель не рвётся.
  </Card>

  <Card title="Приватность" icon="user-shield">
    Личный VPN и доступ к своим сервисам с любого устройства.
  </Card>
</CardGroup>

## Установка

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

<Tabs>
  <Tab title="Скрипт — просто и быстро">
    Готовый скрипт сам поставит WireGuard, настроит сервер, создаст системную службу и выдаст первого клиента — с файлом конфигурации и QR-кодом.

    <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/wireguard-install/master/wireguard-install.sh
        chmod +x wireguard-install.sh
        ./wireguard-install.sh
        ```
      </Step>

      <Step title="Ответь на вопросы">
        Скрипт спросит публичный IP, порт (по умолчанию `51820`), DNS-серверы для клиентов и имя первого клиента. Не уверен — жми Enter, значения по умолчанию подходят почти всем.
      </Step>

      <Step title="Забери конфиг клиента">
        В конце скрипт покажет **QR-код** прямо в терминале и создаст файл `.conf`. QR удобно сканировать с телефона, файл — переносить на компьютер.
      </Step>
    </Steps>

    **Добавить ещё клиентов.** Каждому устройству — свой конфиг. Запусти скрипт снова (`./wireguard-install.sh`) — появится меню: добавить клиента, удалить или снести WireGuard целиком. Правила NAT скрипт настраивает сам.
  </Tab>

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

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

      <Step title="Сгенерируй ключи">
        ```bash theme={"system"}
        wg genkey | tee privatekey | wg pubkey > publickey
        ```

        `privatekey` — секретный ключ сервера, `publickey` — публичный.
      </Step>

      <Step title="Создай конфиг сервера">
        Файл `/etc/wireguard/wg0.conf`. Минимальный пример:

        ```ini theme={"system"}
        [Interface]
        Address = 10.0.0.1/24
        ListenPort = 51820
        PrivateKey = СЮДА_СОДЕРЖИМОЕ_privatekey

        [Peer]
        PublicKey = ПУБЛИЧНЫЙ_КЛЮЧ_КЛИЕНТА
        AllowedIPs = 10.0.0.2/32
        ```
      </Step>

      <Step title="Включи маршрутизацию трафика">
        ```bash theme={"system"}
        echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
        sysctl -p
        ```

        Без этого сервер не пропускает через себя трафик клиентов.
      </Step>

      <Step title="Подними интерфейс">
        ```bash theme={"system"}
        wg-quick up wg0
        ```

        Остановить — `wg-quick down wg0`. Автозапуск — `systemctl enable wg-quick@wg0`.
      </Step>
    </Steps>

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

<Warning>
  Открой UDP-порт WireGuard в файрволе, иначе подключение не пройдёт (по умолчанию `51820`):

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

  Выбрал другой порт — подставь его. Подробнее — [Файрвол (ufw)](/vps/firewall).
</Warning>

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

Поставь официальное приложение WireGuard и импортируй конфиг:

| Платформа   | Откуда                                                                   |
| ----------- | ------------------------------------------------------------------------ |
| Windows     | Установщик с [wireguard.com/install](https://www.wireguard.com/install/) |
| macOS · iOS | App Store                                                                |
| Android     | Google Play или APK с сайта                                              |
| Linux       | Пакетный менеджер дистрибутива                                           |

В приложении: **Add Tunnel** → импортировать файл `.conf` или отсканировать QR-код. Включаешь туннель — весь трафик идёт через твой сервер.

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

Lumi отвечает за сервер и сеть: VPS работает, root-доступ есть, канал 10 Гбит/с, трафик безлимитный. Настройку VPN-софта делаешь ты — это твой личный сервис. Не открывается порт или не поднимается сеть на стороне сервера — пиши в [@lumisup\_robot](https://t.me/lumisup_robot).

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

<CardGroup cols={3}>
  <Card title="Файрвол" icon="shield-halved" href="/vps/firewall">
    Открыть порт WireGuard правильно.
  </Card>

  <Card title="Защитить сервер" icon="lock" href="/vps/hardening">
    Чек-лист безопасности VPS.
  </Card>

  <Card title="Другой VPN" icon="layer-group" href="/vps/amnezia">
    Amnezia, если WireGuard блокируют.
  </Card>
</CardGroup>
