Вместо этого он управляется через команды в терминале (консоли).
Можно сказать, что эти команды и есть его “клавиши”.
Давайте разделим их на три основные группы:
-
Для повседневного использования (
wg-quick) — то, что вам нужно в 99% случаев. -
Для просмотра состояния и отладки (
wg) — чтобы посмотреть, что происходит “под капотом”. -
Для настройки (генерация ключей) — то, что нужно один раз при создании нового подключения.
1. Основные “Клавиши” для Управления Туннелем (wg-quick)
wg-quick — это удобная “обертка”, которая не только включает/выключает туннель, но и автоматически настраивает сетевые маршруты и DNS. Имя вашего туннеля обычно соответствует имени конфигурационного файла (например, для файла wg0.conf имя туннеля будет wg0).
| Действие | Команда (нужны права sudo) | Что делает |
|---|---|---|
| Включить туннель | sudo wg-quick up wg0 | Поднимает соединение, настраивает сеть. |
| Выключить туннель | sudo wg-quick down wg0 | Разрывает соединение, возвращает настройки сети. |
| Перезапустить туннель | sudo wg-quick down wg0 && sudo wg-quick up wg0 | Быстрый способ переподключиться. |
| Включить автозапуск | sudo systemctl enable wg-quick@wg0 | Туннель будет автоматически включаться при старте системы. |
| Выключить автозапуск | sudo systemctl disable wg-quick@wg0 | Отменяет автоматическое включение. |
Вместо wg0 подставьте имя вашего интерфейса.
2. “Клавиши” для Просмотра Статуса и Отладки (wg)
wg — это утилита для прямого взаимодействия с ядром WireGuard. Её главная задача — показать текущее состояние.
| Действие | Команда | Что показывает |
|---|---|---|
| Показать статус | sudo wg show | Самая важная команда! Показывает все активные интерфейсы. |
| Показать конкретный туннель | sudo wg show wg0 | Показывает информацию только по интерфейсу wg0. |
Что означает вывод команды wg show:
interface: wg0
public key: AAAAAAAAA...= (Ваш публичный ключ)
private key: (hidden)
listening port: 51820
peer: BBBBBBBBB...= (Публичный ключ сервера/другого клиента)
preshared key: (hidden)
endpoint: 123.45.67.89:51820 (IP-адрес и порт, куда вы подключены)
allowed ips: 0.0.0.0/0, ::/0 (Какой трафик заворачивается в туннель)
latest handshake: 1 minute, 25 seconds ago (Когда был последний обмен ключами)
transfer: 1.25 GiB received, 150.21 MiB sent (Сколько данных прошло через туннель)
-
latest handshake— ключевой показатель. Если здесь ” (none) ” или очень старое время, значит, соединение не работает. -
transfer— показывает, идет ли трафик.
3. “Клавиши” для Первоначальной Настройки
Эти команды нужны только при создании нового файла конфигурации для себя или для нового пользователя (пира).
| Действие | Команда | Что делает |
|---|---|---|
| Создать пару ключей | `wg genkey | tee privatekey |
| Создать общий ключ (Preshared Key) | wg genpsk | Создает дополнительный ключ для повышения безопасности (не всегда используется). |
Итог в виде шпаргалки:
| Цель | Команда |
|---|---|
| Подключиться | sudo wg-quick up wg0 |
| Отключиться | sudo wg-quick down wg0 |
| Проверить, работает ли | sudo wg show |
| Сделать, чтобы включалось само | sudo systemctl enable wg-quick@wg0 |
Для пользователей Windows, macOS или мобильных устройств все эти команды заменены кнопками в приложении: “Activate” / “Deactivate” (“Включить” / “Выключить”). Но знание консольных команд бесценно для понимания работы WireGuard и для управления им на серверах.
Смена тоннеля Wireguard
Предположим, что ваш текущий туннель называется wg0 (как в предыдущих командах), а новый файл .conf называется, например, new_vpn.conf.
Вот шаги:
Шаг 1: Остановить текущий туннель (wg0)
Это очень важно, чтобы избежать конфликтов с портами или маршрутами.
bash Скопировать
Закрыть блок
sudo systemctl stop wg-quick@wg0
Убедитесь, что он остановлен:
bash Скопировать
Закрыть блок
sudo systemctl status wg-quick@wg0
Вы должны увидеть Active: inactive (dead).
Шаг 2: Скопировать новый файл конфигурации
Вам нужно переместить или скопировать скачанный .conf файл в директорию /etc/wireguard/.
Предположим, ваш новый файл скачан в ~/Downloads/new_vpn.conf.
Определите имя нового туннеля: Если вы хотите, чтобы новый туннель использовал то же имя wg0, чтобы было проще, то вы должны переименовать ваш новый файл в wg0.conf и заменить старый. Рекомендуется создать резервную копию старого wg0.conf перед заменой!
Вариант А: Замена существующего туннеля wg0 на новый (если новый .conf предназначен для wg0)
- Создайте резервную копию старого файла (обязательно!):bash Скопировать
Закрыть блок
sudo mv /etc/wireguard/wg0.conf /etc/wireguard/wg0.conf.bak
- Переместите новый файл и назовите его
wg0.conf:bash Скопировать
Закрыть блок
sudo mv ~/Downloads/new_vpn.conf /etc/wireguard/wg0.conf
- Установите правильные права доступа (очень важно для безопасности!):bash Скопировать
Закрыть блок
sudo chmod 600 /etc/wireguard/wg0.conf
Это делает файл доступным только для чтения пользователем root.
Вариант Б: Добавление нового туннеля с новым именем (например, wg1 или myvpn)
- Переместите новый файл с новым именем (например,
myvpn.conf):bash Скопировать
Закрыть блок
sudo mv ~/Downloads/new_vpn.conf /etc/wireguard/myvpn.conf
- Установите правильные права доступа:bash Скопировать
Закрыть блок
sudo chmod 600 /etc/wireguard/myvpn.conf
(Если вы выбрали этот вариант, то wg0 будет остановлен, но его конфигурационный файл останется на месте, и вы сможете снова поднять его, если захотите).
Шаг 3: Запустить новый туннель
Теперь запустим новый туннель, используя имя файла, который вы поместили в /etc/wireguard/.
Если вы выбрали Вариант А (заменили wg0.conf):
bash Скопировать
Закрыть блок
sudo systemctl start wg-quick@wg0
Если вы выбрали Вариант Б (создали новый файл myvpn.conf):
bash Скопировать
Закрыть блок
sudo systemctl start wg-quick@myvpn
Замените myvpn на то имя, которое вы дали файлу (без расширения .conf).
Шаг 4: Проверить статус нового туннеля
Как и раньше, проверьте, что туннель поднялся:
Если это wg0:
bash Скопировать
Закрыть блок
sudo systemctl status wg-quick@wg0
ip a show wg0
sudo wg show wg0
Если это myvpn:
bash Скопировать
Закрыть блок
sudo systemctl status wg-quick@myvpn
ip a show myvpn
sudo wg show myvpn
Шаг 5: Проверить внешний IP-адрес
Самый важный шаг – убедиться, что трафик идет через VPN:
bash Скопировать
Закрыть блок
curl ifconfig.me
Вы должны увидеть IP-адрес вашего нового WireGuard-сервера.
Шаг 6 (Опционально): Автозапуск при загрузке
Если вы хотите, чтобы новый туннель запускался автоматически при каждой загрузке системы:
Если это wg0:
bash Скопировать
Закрыть блок
sudo systemctl enable wg-quick@wg0
Если это myvpn:
bash Скопировать
Закрыть блок
sudo systemctl enable wg-quick@myvpn
Важные заметки:
-
DNS: Убедитесь, что в вашем новом
.confфайле есть строкаDNS = *, чтобы избежать проблем с разрешением имен после подключения к VPN. Например:DNS = 8.8.8.8, 8.8.4.4. -
AllowedIPs: Проверьте секцию
[Peer]в новом.confфайле. Если вы хотите, чтобы весь трафик шел через VPN, то там должна быть строкаAllowedIPs = 0.0.0.0/0, ::/0. -
Private Key: Убедитесь, что
PrivateKeyв новом файле соответствует приватному ключу, который клиент должен использовать для этого туннеля. -
Если что-то не работает, проверьте логи:
sudo journalctl -u wg-quick@<имя_туннеля> -f
Следуйте этим шагам, и у вас должен быть запущен новый WireGuard-туннель!
Основные команды
Эти команды нужно выполнять с правами суперпользователя (sudo). Они работают как на “голом” сервере, так и при установке из стандартных репозиториев.
🟢 Включить (поднять) туннель wg0
Эта команда читает конфигурационный файл /etc/wireguard/wg0.conf, создает сетевой интерфейс wg0, настраивает ключи, IP-адреса и маршруты.
bash Скопировать
Закрыть блок
sudo wg-quick up wg0
🔴 Отключить (опустить) туннель wg0
Эта команда безопасно отключает интерфейс, удаляет связанные с ним маршруты и освобождает ресурсы.
bash Скопировать
Закрыть блок
sudo wg-quick down wg0
Дополнительные полезные команды
🔄 Перезапустить туннель
Быстрый способ применить изменения в конфигурационном файле wg0.conf. Это эквивалентно последовательному выполнению down и up.
bash Скопировать
Закрыть блок
sudo wg-quick down wg0 && sudo wg-quick up wg0
Или, если вы хотите увидеть статус между операциями:
bash Скопировать
Закрыть блок
sudo wg-quick down wg0; sudo wg-quick up wg0
🛠️ Проверить статус туннеля
Эта команда показывает текущее состояние интерфейса wg0, его публичный ключ, порт, а также информацию о подключенных пирах (клиентах), включая их IP, публичные ключи и, самое важное, время последнего “рукопожатия” (latest handshake).
bash Скопировать
Закрыть блок
sudo wg show wg0
Или просто sudo wg для отображения всех активных WireGuard-интерфейсов.
⚙️ Автозапуск при загрузке системы (с помощью systemd)
Если вы хотите, чтобы ваш туннель wg0 автоматически поднимался при старте сервера, используйте systemctl.
Включить автозапуск:
bash Скопировать
Закрыть блок
sudo systemctl enable wg-quick@wg0
Обратите внимание на синтаксис: wg-quick@ + имя вашего интерфейса.
Отключить автозапуск:
bash Скопировать
Закрыть блок
sudo systemctl disable wg-quick@wg0
Управление службой (если она включена через systemctl):
-
Запустить:
sudo systemctl start wg-quick@wg0 -
Остановить:
sudo systemctl stop wg-quick@wg0 -
Перезапустить:
sudo systemctl restart wg-quick@wg0 -
Проверить статус службы:
sudo systemctl status wg-quick@wg0
Если WireGuard запущен в Docker
Если ваш WireGuard работает в Docker-контейнере, команды будут другими. Вам нужно управлять самим контейнером.
Предположим, ваш контейнер называется my-wireguard.
- Остановить туннель (остановить контейнер):
bash Скопировать
Закрыть блок
sudo docker stop my-wireguard
- Запустить туннель (запустить контейнер):
bash Скопировать
Закрыть блок
sudo docker start my-wireguard
- Перезапустить туннель (перезапустить контейнер):
bash Скопировать
Закрыть блок
sudo docker restart my-wireguard
Ищете надежного партнера по веб-разработке и автоматизации? Мы помогаем бизнесу расти с помощью современных технологий, автоматизации процессов и экспертного SEO. Свяжитесь с нами, чтобы обсудить вашу задачу.