⚙️ Установка WireGuard на Ubuntu/Debian: Пошаговое руководство
- Получить ссылку
- X
- Электронная почта
- Другие приложения
В предыдущих статьях мы разобрали, почему WireGuard быстрее всех и как работает его криптография. Теперь пришло время перейти к практике. В этой статье мы настроим WireGuard на чистом сервере Ubuntu/Debian с нуля. Никаких панелей — только терминал и полное понимание каждого шага.
📦 Шаг 1. Подготовка системы и установка
Обновляем репозитории и ставим необходимые пакеты:
sudo apt update && sudo apt upgrade -y
sudo apt install wireguard qrencode -y
Если вы используете UFW, сразу откройте порт для WireGuard (по умолчанию UDP 51820):
sudo ufw allow 51820/udp
sudo ufw enable
🔑 Шаг 2. Генерация ключей сервера
Создаем каталог и генерируем пару ключей (приватный и публичный):
sudo mkdir -p /etc/wireguard
cd /etc/wireguard
sudo umask 077
wg genkey | sudo tee privatekey-server | wg pubkey | sudo tee publickey-server
Файл privatekey-server является секретным и никогда не должен покидать сервер.
⚙️ Шаг 3. Создание конфигурации сервера
Откройте файл конфигурации:
sudo nano /etc/wireguard/wg0.conf
Скопируйте в него шаблон (подставьте свой приватный ключ и IP-адреса):
[Interface]
PrivateKey = <содержимое файла privatekey-server>
Address = 10.8.0.1/24
ListenPort = 51820
# Клиент 1 (например, ваш ноутбук)
[Peer]
PublicKey = <публичный ключ клиента>
AllowedIPs = 10.8.0.2/32
Важно: Каждому пиру (клиенту) назначается свой уникальный IP внутри туннеля. Префикс /32 означает, что разрешен трафик только от этого адреса.
🔄 Шаг 4. Включение NAT и IP Forwarding
Чтобы трафик от клиентов выходил в интернет через сервер, нужно разрешить пересылку пакетов и настроить маскарадинг.
Включаем пересылку:
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Настраиваем NAT. Узнайте имя вашего сетевого интерфейса командой ip a (обычно это eth0 или ens3) и выполните:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Чтобы правило сохранилось после перезагрузки, установите пакет iptables-persistent:
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
📱 Шаг 5. Запуск службы и автозагрузка
Активируем интерфейс через системную службу wg-quick:
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
Проверяем статус:
sudo systemctl status wg-quick@wg0
🖥️ Шаг 6. Настройка клиента
Создайте файл конфигурации на вашем компьютере (например, client1.conf):
[Interface]
PrivateKey = <приватный ключ клиента>
Address = 10.8.0.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = <публичный ключ сервера>
Endpoint = <IP вашего сервера>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
- AllowedIPs = 0.0.0.0/0 — это Full Tunnel (весь трафик идет через VPN). Для Split Tunnel укажите только нужную подсеть.
- PersistentKeepalive = 25 — держит соединение активным, если клиент находится за NAT.
- DNS = 1.1.1.1 — защита от утечек DNS.
🧪 Шаг 7. Диагностика и типовые проблемы
Основной инструмент для проверки туннеля — команда wg show. Она покажет, есть ли Handshake и какой трафик проходит.
| Проблема | Решение |
|---|---|
| Нет latest handshake | Проверьте, открыт ли порт 51820/udp в UFW и у хостинг-провайдера. |
| Handshake есть, но нет интернета | Проверьте net.ipv4.ip_forward = 1 и правило NAT. |
| Сайты не грузятся | Проверьте, указан ли DNS в конфигурации клиента. |
| Низкая скорость | Уменьшите MTU до 1380 в секции [Interface]. |
📚 Полезные материалы для изучения
Итог: Вы настроили собственный быстрый VPN на VPS. Это надежная база для подключения к интернету. Если вам нужно автоматизировать создание пользователей и управлять подписками, на следующем шаге мы разберем интеграцию WireGuard с панелью Marzban.
После настройки WireGuard не забудьте открыть порт в брандмауэре. Как это сделать — в нашем гайде по настройке UFW.
📢 Анонс следующих статей: Разберем, как автоматизировать WireGuard с помощью Marzban: добавление клиентов через панель, генерация QR-кодов и подключение к вашему Caddy для создания полноценного сервиса.
- Получить ссылку
- X
- Электронная почта
- Другие приложения
Популярные сообщения
🧬 ChaCha20 и Curve25519: Криптография под капотом WireGuard
Немного о том, зачем это нужно.
🔌 L2TP: протокол, который объединил лучшее от двух миров
⚡ ИИ-помощник (на OpenRouter)
Спросите про VPN, протоколы или настройку серверов.
Комментарии
Отправить комментарий