Вернуться назад

Как установить и использовать WireGuard

📌 Почему WireGuard?

⚡ Максимальная скорость: За счёт использования протокола на уровне ядра и современных алгоритмов (Curve25519, ChaCha20, Poly1305) соединения становятся быстрее, чем у большинства альтернатив.

⚡ Минимализм: Кодовая база WireGuard в десятки раз меньше, что позволяет существенно снизить вероятность ошибок или “дыру” в безопасности.

⚡ Кроссплатформенность: Есть клиенты практически для всех систем — Linux, Windows, macOS, Android, iOS.

⚡ Гибкая настройка: Реализована система “peer-to-peer” — легко подключать новых пользователей, управлять ключами и маршрутами.

Протокол

Основные преимущества

Популярное применение

 WireGuard

Быстрое и безопасное соединение, простая настройка, экономия ресурсов

Персональные и корпоративные соединения, мобильные приложения

 OpenVPN

Проверенная временем архитектура, мощная совместимость

Старые системы, сложные конфигурации, устаревшие ОС

 Shadowsocks

Применение лёгких прокси, гибкое тестирование (особенно для API)

Мобильный трафик, интеграция в сервисы, тестирование

⚖️ Краткое сравнение

Инструкция: как установить и использовать WireGuard

Эта инструкция поможет с нуля установить WireGuard на сервер (Linux Ubuntu/Debian) и подключить к нему клиента с Windows, macOS, Android или iOS. Все шаги расписаны максимально подробно — вам не потребуется дополнительный опыт!

Шаг 1. Аренда VPS

Оформите заказ на VPS с минимальной конфигурацией 2 ГБ ОЗУ [Lite++] Выберите Ubuntu 24.04

  Купить VPS  


Шаг 2. Установка WireGuard на сервер

✔️ Откройте терминал (или подключитесь по SSH) и выполните последовательно:

sudo apt update && sudo apt install wireguard -y


Шаг 3. Генерация ключей для сервера

WireGuard использует пару ключей: приватный (секретный) и публичный (общедоступный). Генерируем сразу в нужной директории:

umask 077

wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key

server_private.key — файл с приватным ключом сервера.

server_public.key — файл с публичным ключом сервера.

✔️ Посмотрите и сохраните значения ключей — они понадобятся на следующих шагах:

cat /etc/wireguard/server_private.key

cat /etc/wireguard/server_public.key

Каждая команда выведет длинную строку вида mNb3K8jQpL2xRvYt6wZ... — скопируйте и сохраните оба значения в текстовый файл, они понадобятся ниже.


Шаг 4. Включение IP-forwarding

✔️ Без этого шага клиенты не смогут выходить в интернет через сервер. Включите маршрутизацию пакетов:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && sysctl -p


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

✔️ Сначала определите имя вашего сетевого интерфейса:

ip a

Найдите имя интерфейса с внешним IP вашего сервера — обычно это eth0, ens3 или ens18. Запомните его, оно понадобится ниже.

✔️ Создайте файл конфигурации:

sudo nano /etc/wireguard/wg0.conf

✔️ Перед вставкой конфига получите приватный ключ сервера:

cat /etc/wireguard/server_private.key

Скопируйте вывод (длинную строку). Затем вставьте в nano шаблон ниже, подставив скопированный ключ вместо <Приватный ключ сервера>, а eth0 замените на имя вашего интерфейса из ip a:

[Interface]

Address = 10.10.0.1/24

PrivateKey = <Приватный ключ сервера>

ListenPort = 51820

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

Address — локальный адрес вашего сервера в сети WireGuard.

PostUp / PostDown — правила NAT, которые позволяют клиентам выходить в интернет через сервер. Без этих строк VPN будет работать только как туннель между устройствами, но не как шлюз.

✔️ Сохраните файл: Ctrl+O → Enter → Ctrl+X


Шаг 6. Открытие порта для WireGuard

✔️ Разрешите трафик на порт 51820/UDP в фаерволе:

sudo ufw allow 51820/udp

# или, если используете iptables:

sudo iptables -A INPUT -p udp --dport 51820 -j ACCEPT


Шаг 7. Запуск WireGuard

sudo systemctl enable --now wg-quick@wg0

✔️ Проверьте статус:

sudo wg show


Шаг 8. Генерация ключей для клиента

✔️ На вашем сервере:

wg genkey | tee /etc/wireguard/client_private.key | wg pubkey > /etc/wireguard/client_public.key

client_private.key — приватный ключ клиента.

client_public.key — публичный ключ клиента.

✔️ Посмотрите и сохраните оба значения:

cat /etc/wireguard/client_private.key

cat /etc/wireguard/client_public.key

Скопируйте оба вывода в текстовый файл — они понадобятся на шагах 9 и 10.


Шаг 9. Добавление клиента на сервер

✔️ Получите публичный ключ клиента (он нужен для конфига сервера):

cat /etc/wireguard/client_public.key

Скопируйте вывод. Затем откройте /etc/wireguard/wg0.conf:

nano /etc/wireguard/wg0.conf

✔️ Добавьте в конец файла, вставив скопированный ключ вместо <Публичный ключ клиента>:

[Peer]

PublicKey = <Публичный ключ клиента>

AllowedIPs = 10.10.0.2/32

AllowedIPs — внутренний IP-адрес клиента (для второго, третьего и т.д. клиента увеличивайте: 10.10.0.3, 10.10.0.4 и т.д.).

✔️ Сохраните файл: Ctrl+O → Enter → Ctrl+X

✔️ Применить изменения без перезапуска:

sudo wg addconf wg0 <(wg-quick strip wg0)

Или полный перезапуск:

sudo systemctl restart wg-quick@wg0


Шаг 10. Настройка клиента

✔️ Для соединения с сервером потребуется клиент WireGuard:

🖥️ Windows: https://www.wireguard.com/install/

🍎 macOS: App Store (поискать “WireGuard”)

📲 Android: Google Play (WireGuard)

📲 iOS: App Store (WireGuard)


Конфигурация клиента

✔️ Создайте новый туннель (вручную или через импорт файла) и вставьте такой шаблон. Значения ключей берите командами cat на сервере:

cat /etc/wireguard/client_private.key  ← вставить в PrivateKey

cat /etc/wireguard/server_public.key  ← вставить в PublicKey

Внешний IP сервера узнайте командой ip a — это значение после inet на основном интерфейсе (например, 194.163.173.107). Вставьте его в Endpoint.

[Interface]

PrivateKey = <Приватный ключ клиента>

Address = 10.10.0.2/24

DNS = 1.1.1.1

 

[Peer]

PublicKey = <Публичный ключ сервера>

Endpoint = <IP_сервера>:51820

AllowedIPs = 0.0.0.0/0

PersistentKeepalive = 25

  • PrivateKey — вывод команды cat /etc/wireguard/client_private.key на сервере.
  • PublicKey — вывод команды cat /etc/wireguard/server_public.key на сервере.
  • Endpoint — внешний IP вашего VPS и порт 51820. IP узнаёте через ip a на сервере.
  • AllowedIPs = 0.0.0.0/0 — весь трафик клиента идёт через VPN-сервер.

Шаг 11. Подключение клиента

✔️ Запустите приложение WireGuard.

✔️ Выберите или импортируйте конфиг.

✔️ Нажмите “Подключить”.


Шаг 12. Проверка работоспособности

На сервере можно проверить подключённых клиентов командой:

sudo wg show

После успешного подключения клиента вы увидите его в списке с полем latest handshake. На клиенте — откройте любой сайт и убедитесь, что IP-адрес изменился на серверный.

Итоговая структура файлов и ключей

  • На сервере /etc/wireguard/wg0.conf — конфиг с приватным ключом сервера, правилами NAT и публичными ключами всех клиентов.
  • У каждого клиента — приватный ключ и личный конфиг для подключения к серверу.

💡 Полезные советы

🔹 Для безопасности приватные ключи не должны попадать в чужие руки!

🔹 Можно использовать QR-коды для переноса конфига на мобильные устройства: apt install qrencode -y && qrencode -t ansiutf8 < client.conf

🔹 При ошибках проверьте: открытие порта, правильность IP-адресов, имя интерфейса в PostUp/PostDown, включён ли IP forwarding.

🔹 Если на сервере нет latest handshake после подключения клиента — проверьте, что порт 51820/UDP открыт на уровне вашего хостинга (не только ufw).

WireGuard — это быстро, эффективно и просто. Даже новичок справится, если идти по шагам!

0 Комментариев