Быстрый старт VPN Обновлено 3 мин Android, iOS, Windows, macOS

Настройка WireGuard на Ubuntu 22.04: пошаговое руководство

Пошаговая инструкция по развертыванию WireGuard на Ubuntu 22.04: от установки пакетов до запуска туннеля и диагностики.

WireGuardUbuntu 22.04VPNнастройкасерверклиент
Содержание
КороткоВ этом руководстве вы узнаете, как установить и настроить WireGuard на Ubuntu 22.04. Мы рассмотрим настройку сервера и клиента, генерацию ключей, запуск туннеля и типичные ошибки.

Установка WireGuard на Ubuntu 22.04

WireGuard — это современный VPN-протокол, который работает на уровне ядра, обеспечивая высокую скорость и низкую задержку. В Ubuntu 22.04 он доступен в официальных репозиториях, поэтому установка проста. Откройте терминал и выполните:

sudo apt update
sudo apt install wireguard

После установки проверьте, загружается ли модуль ядра:

sudo modprobe wireguard

Если модуль не загружается, обновите ядро и установите заголовки:

sudo apt upgrade
sudo apt install linux-headers-$(uname -r)

Также рекомендуется установить resolvconf для управления DNS:

sudo apt install resolvconf

Настройка сервера WireGuard

Генерация ключей

Создайте директорию для конфигураций и сгенерируйте пару ключей:

sudo mkdir -p /etc/wireguard
cd /etc/wireguard
wg genkey | sudo tee server_private.key | wg pubkey | sudo tee server_public.key
sudo chmod 600 server_private.key

Приватный ключ должен быть доступен только root. Публичный ключ можно распространять клиентам.

Создание конфигурации сервера

Создайте файл /etc/wireguard/wg0.conf:

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <содержимое server_private.key>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = <публичный ключ клиента>
AllowedIPs = 10.0.0.2/32

Замените eth0 на ваш внешний интерфейс (узнать можно командой ip route show default). PostUp/PostDown включают маршрутизацию и NAT. Если используете сетевой файервол ufw, откройте порт: sudo ufw allow 51820/udp.

Настройка клиента WireGuard

На клиентской машине (также Ubuntu 22.04 или другом дистрибутиве) повторите установку WireGuard. Сгенерируйте ключи аналогично серверу. Создайте конфигурацию /etc/wireguard/wg0.conf:

[Interface]
Address = 10.0.0.2/24
PrivateKey = <приватный ключ клиента>
DNS = 1.1.1.1

[Peer]
PublicKey = <публичный ключ сервера>
Endpoint = <IP-адрес сервера>:51820
AllowedIPs = 0.0.0.0/0, ::/0

AllowedIPs = 0.0.0.0/0 направляет весь трафик через VPN. Если нужен только доступ к локальной сети сервера, укажите подсеть, например 10.0.0.0/24.

Запуск и проверка подключения

На сервере и клиенте запустите интерфейс:

sudo wg-quick up wg0

Добавьте в автозагрузку: sudo systemctl enable wg-quick@wg0. Проверьте статус: sudo wg show. Должен отображаться обмен данными (transfer). Выполните пинг клиента с сервера: ping 10.0.0.2. Если пинг проходит, настройка корректна. Для отключения: sudo wg-quick down wg0.

Типичные ошибки и их решение

Модуль ядра не загружается

Убедитесь, что ядро обновлено (sudo apt upgrade). Если ошибка persist, проверьте dmesg | grep wireguard. Возможно, нужно установить заголовки ядра: sudo apt install linux-headers-$(uname -r).

Нет соединения после настройки

Проверьте, открыт ли порт на сервере (sudo netstat -tulpn | grep 51820). Также убедитесь, что IP-форвардинг включен: sudo sysctl net.ipv4.ip_forward=1. Для постоянного включения раскомментируйте строку в /etc/sysctl.conf.

Проблемы с DNS

Если после подключения не резолвятся имена, установите resolvconf и перезапустите интерфейс. В конфигурации клиента укажите корректный DNS-сервер.

Дополнительные советы

Для повышения безопасности используйте wg set wg0 peer <pubkey> allowed-ips 10.0.0.2/32 для ограничения доступа. Также можно настроить kill switch, чтобы блокировать трафик при обрыве VPN. Для этого добавьте в конфигурацию клиента PostUp = iptables -I OUTPUT ! -o wg0 -j DROP и PostDown = iptables -D OUTPUT ! -o wg0 -j DROP.

Если вы используете другие дистрибутивы, например Linux Mint или MX Linux, процесс установки аналогичен, но могут отличаться команды управления пакетами. Подробнее о настройке VPN на других системах читайте в наших статьях: VPN для Linux Mint, VPN на планшет Huawei, VPN для Mac.

Мини-чеклист

  • Установите пакет wireguard
  • Проверьте загрузку модуля ядра
  • Сгенерируйте ключи на сервере и клиенте
  • Создайте конфигурационные файлы
  • Настройте маршрутизацию и NAT
  • Откройте порт в файерволе
  • Запустите интерфейс и проверьте подключение
  • Добавьте автозагрузку
  • Проверьте логи при ошибках

Частые ошибки

  • Забывают включить IP-форвардинг
  • Не открывают порт UDP 51820
  • Неправильно указывают AllowedIPs
  • Используют eth0 вместо фактического интерфейса
  • Не устанавливают resolvconf, что приводит к проблемам с DNS

Источники и документация

FAQ

Как установить WireGuard на Ubuntu 22.04?

Выполните sudo apt update && sudo apt install wireguard. Затем проверьте модуль ядра командой sudo modprobe wireguard.

Как настроить сервер WireGuard на Ubuntu 22.04?

Сгенерируйте ключи, создайте конфигурацию /etc/wireguard/wg0.conf с параметрами интерфейса и пиров, включите IP-форвардинг и запустите wg-quick up wg0.

Как настроить клиент WireGuard на Ubuntu 22.04?

Установите WireGuard, сгенерируйте ключи, создайте конфигурацию с адресом, приватным ключом, DNS и пиром (публичный ключ сервера, endpoint, AllowedIPs). Запустите wg-quick up wg0.

Почему не работает WireGuard на Ubuntu 22.04?

Проверьте, открыт ли порт, включен ли IP-форвардинг, правильно ли указаны ключи и AllowedIPs. Также проверьте логи: journalctl -u wg-quick@wg0.

Хотите перейти сразу к рабочему доступу?

Если сценарий уже ясен и не хочется проходить все шаги вручную, оформите доступ и проверьте подключение на своем устройстве.

Получить доступ

Дальше по теме

Связанные статьи