На Linux VPN настраивается быстрее, чем на любой другой системе: WireGuard входит в ядро с версии 5.6, поэтому отдельный драйвер не нужен — только утилиты. Ниже три способа на выбор: командная строка, NetworkManager и графическое приложение.
| Способ | Кому подходит | Плюсы |
|---|---|---|
| wg-quick + systemd | Серверы, ноутбуки, «поставил и забыл» | Работает везде, поднимается при загрузке, ничего лишнего |
| NetworkManager | Ноутбук с GNOME или KDE | Переключатель в трее, дружит с Wi-Fi и VPN-профилями |
| WG Tunnel | Тем, кто хочет графический интерфейс | Поддержка WireGuard и AmneziaWG, раздельное туннелирование |
Пакет нужен только с утилитами — само ядро уже умеет WireGuard.
# Debian / Ubuntu / Mint sudo apt update sudo apt install -y wireguard-tools resolvconf
# Fedora sudo dnf install -y wireguard-tools
# Arch / Manjaro sudo pacman -S --needed wireguard-tools
systemd-resolved (обычно так и есть на Ubuntu и Fedora), вместо resolvconf можно ничего не ставить: современные версии wg-quick работают с resolvectl сами.Скачайте конфиг в боте («📱 Мой VPN» → скачать) и положите его в /etc/wireguard/ под именем wg0.conf. Имя файла задаёт имя интерфейса — именно оно понадобится дальше.
sudo install -m 600 ~/Downloads/wg0.conf /etc/wireguard/wg0.conf
Права 600 обязательны: в файле лежит приватный ключ, и wg-quick откажется работать, если файл доступен другим.
sudo wg-quick up wg0
Проверить, что поднялось:
sudo wg show ip -4 addr show wg0 curl -s https://api.ipify.org
wg show должен показать интерфейс и время последнего рукопожатия (latest handshake). Если там пусто — соединение не установилось, смотрите раздел «Диагностика» ниже.
sudo systemctl enable wg-quick@wg0 sudo systemctl start wg-quick@wg0 sudo systemctl status wg-quick@wg0
Отключить и убрать из автозапуска:
sudo systemctl disable --now wg-quick@wg0 sudo wg-quick down wg0
Если на ноутбуке стоит GNOME или KDE, удобнее отдать туннель менеджеру сети: он сам поднимет соединение при старте и покажет переключатель в трее.
sudo dnf install -y NetworkManager-wireguard # Fedora sudo apt install -y network-manager # Debian/Ubuntu
Импорт конфига одной командой:
sudo nmcli connection import type wireguard file ~/Downloads/wg0.conf
Дальше — включение по имени соединения (оно совпадёт с именем файла без расширения):
sudo nmcli connection up wg0 nmcli connection show --active
Графический клиент для Linux (есть пакеты для Debian/Ubuntu, Fedora/RHEL и Arch). Ставится с wgtunnel.com/download. Импорт профиля — через интерфейс, выбрать файл .conf.
Плюс этого варианта — поддержка AmneziaWG и раздельного туннелирования в одном окне. Минус — на серверах без графической оболочки он не нужен, там проще wg-quick.
У WireGuard в конфиге есть строка DNS =, и на Linux она применяется не всегда автоматически: всё зависит от того, чем система управляет резолвером.
| Что стоит в системе | Как проверить | Что делать |
|---|---|---|
systemd-resolved | systemctl is-active systemd-resolved | Обычно работает сразу, проверить: resolvectl status wg0 |
resolvconf | command -v resolvconf | Установить пакет resolvconf, перезапустить туннель |
Ручной /etc/resolv.conf | ls -l /etc/resolv.conf | Прописать DNS вручную или настроить менеджер |
Проверка, что DNS идёт через туннель:
resolvectl status wg0 | grep -i "dns servers" dig +short ya.ru
На Linux это делается строкой AllowedIPs в секции [Peer]:
AllowedIPs = 0.0.0.0/0 — весь IPv4-трафик через VPN (стандартный вариант);AllowedIPs = 0.0.0.0/0, ::/0 — весь трафик, включая IPv6;AllowedIPs = 10.66.0.0/16 — только внутренняя сеть VPN, остальное напрямую;Полезный приём для сервера: пускать через VPN только конкретные адреса, а системные обновления и локальную сеть оставить как есть. Подробнее о том, что такое маршруты и почему они важны, — в статье Утечки DNS и IP.
sudo journalctl -u wg-quick@wg0 -n 50 --no-pager
Частые сообщения и что они значат:
Permission denied на файл конфига — права не 600;wg: command not found — не установлен wireguard-tools;RTNETLINK answers: Operation not permitted — запуск без sudo;wg show: если latest handshake не появляется, соединение не установилось — дело в сети или ключах.1280. Если правили — верните: слишком большой размер пакета даёт «пинг есть, сайты не грузятся».dig +short ya.ru. Пусто — проблема в резолвере, а не в туннеле.Обычное дело: NetworkManager восстанавливает соединение сам, wg-quick — нет. Если пользуетесь вторым способом, добавьте перезапуск при пробуждении или перейдите на NetworkManager. Строка PersistentKeepalive = 25 в конфиге помогает удерживать сессию, но не лечит сон системы.
0.0.0.0/0), удалённое подключение может оборваться. Сначала настройте доступ по локальному адресу или оставьте маршрут к своей сети вне туннеля.systemctl enable туннель не вернётся после перезагрузки.Драйвер — нет, он в ядре начиная с Linux 5.6. Нужен только пакет утилит wireguard-tools. Проверить модуль: lsmod | grep wireguard — на новых ядрах его может не быть в списке, потому что он встроен, и это нормально.
Он создаёт сетевой интерфейс и меняет таблицу маршрутизации — для этого нужны административные права. Запускайте через sudo или настройте автозапуск через systemd, тогда ручной запуск не понадобится.
Нет. Обычный клиент не понимает параметры маскировки. Обратное работает: наш конфиг в стандартном формате WireGuard, поэтому подходит и для wg-quick, и для WG Tunnel. Подробнее — в статье AmneziaWG и WireGuard.
На Linux это делается не приложением, а маршрутами: в AllowedIPs перечисляются нужные подсети, либо программа запускается в отдельном сетевом пространстве имён. Первый вариант проще и покрывает большинство задач.
Нет. Ключ идентифицирует устройство: два устройства с одним профилем будут попеременно отключать друг друга. Выпустите отдельный конфиг — в подписке до двух устройств, дополнительный слот оформляется в боте.