WireGuard — VPN на ключах
Быстрый VPN на паре ключей вместо паролей; приватный ключ в wg0.conf нужно защищать правами файла, как SSH-ключ.
Шпаргалка
4 команды Версия для печати-
wg genkey | tee priv | wg pubkey > pubключи -
sudo wg-quick up wg0 / down wg0поднять/опустить -
sudo wg showпиры, handshake, трафик -
sudo systemctl enable wg-quick@wg0автозапуск - conf: [Interface] Address/PrivateKey/ListenPort ; [Peer] PublicKey/AllowedIPs/Endpoint
Обзор
WireGuard — простой и быстрый VPN на ключах (как SSH: пара
приватный/публичный). Создаёт интерфейс wg0 с шифрованным туннелем между пирами.
Управление — wg/wg-quick.
Ключи
Неполадки
4Туннель поднят, но нет связи
sudo wg show — есть ли «latest handshake». Нет рукопожатия → не сошлись ключи,
неверный Endpoint, или порт 51820/udp закрыт файрволом на сервере.
Handshake есть, но пинг не идёт
AllowedIPs не включает нужные адреса (для каждого пира это «какие IP за ним»).
Для маршрутизации наружу — ip_forward + NAT.
Не зайти после reboot
systemctl enable wg-quick@wg0. Проверь wg-quick up вручную на ошибки.
Asymmetric/одна сторона видит, другая нет
AllowedIPs настраивается на обеих сторонах согласованно. Публичный ключ одного
= в [Peer] другого.
Опасно
wg0.conf содержит приватный ключ открытым текстом — файл должен быть
доступен только root (chmod 600, владелец root, как и создаёт wg genkey
по умолчанию при перенаправлении в файл). Утечка приватного ключа равносильна
утечке пароля: с ним можно поднять свой узел с тем же публичным ключом внутри
сети. Не добавляй wg0.conf с реальными ключами в git и не пересылай его в
общий чат — для передачи публичного ключа новому пиру достаточно wg pubkey.
См. также
Есть неточность? Сообщить об ошибке в статье