Установка собственного VPN-сервера WireGuard на VPS Печать

  • ВПН, VPN, WireGuard, свой ВПН, Your VPN, personal VPN, private VPN, приватный ВПН, приватный VPN, персональный ВПН, персональный VPN
  • 0

WireGuard — современный VPN-протокол с высокой производительностью, низким потреблением ресурсов и простой настройкой. В данной инструкции показан процесс установки WireGuard на VPS под управлением Ubuntu 22.04 или Ubuntu 24.04.

Перед началом работы убедитесь, что у вас есть:

  • VPS с Ubuntu 22.04 или новее;
  • Root-доступ к серверу;
  • Публичный IPv4-адрес;
  • SSH-клиент для подключения к серверу.

Шаг 1. Подключение к серверу

Подключитесь к VPS по SSH:

ssh root@SERVER_IP

Замените SERVER_IP на IP-адрес вашего сервера.

Шаг 2. Обновление системы

Выполните обновление пакетов:

apt update && apt upgrade -y

Шаг 3. Установка WireGuard

Установите WireGuard и необходимые утилиты:

apt install wireguard qrencode -y

Проверьте установку:

wg --version

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

Создайте каталог для хранения ключей:

mkdir -p /etc/wireguard
cd /etc/wireguard
chmod 700 /etc/wireguard

Сгенерируйте приватный и публичный ключ сервера:

wg genkey | tee server_private.key | wg pubkey > server_public.key

Просмотрите созданные ключи:

cat server_private.key
cat server_public.key

Шаг 5. Настройка WireGuard

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

nano /etc/wireguard/wg0.conf

Добавьте содержимое:

[Interface]
Address = 10.10.10.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY

PostUp = sysctl -w net.ipv4.ip_forward=1
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -A FORWARD -o wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
PostDown = iptables -D FORWARD -o wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Замените:

SERVER_PRIVATE_KEY

на содержимое файла server_private.key.

Если сетевой интерфейс сервера называется не eth0, уточните его командой:

ip route

Шаг 6. Включение IP Forwarding

Откройте системный конфигурационный файл:

nano /etc/sysctl.conf

Найдите строку:

#net.ipv4.ip_forward=1

и замените на:

net.ipv4.ip_forward=1

Примените настройки:

sysctl -p

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

Запустите VPN-сервер:

wg-quick up wg0

Проверьте состояние:

wg show

Добавьте автозапуск:

systemctl enable wg-quick@wg0

Проверьте статус службы:

systemctl status wg-quick@wg0

Шаг 8. Настройка Firewall

Если используется UFW:

ufw allow 51820/udp

Проверьте список правил:

ufw status

Шаг 9. Создание клиента

Перейдите в каталог WireGuard:

cd /etc/wireguard

Создайте ключи клиента:

wg genkey | tee client_private.key | wg pubkey > client_public.key

Просмотрите публичный ключ клиента:

cat client_public.key

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

Откройте конфигурацию сервера:

nano /etc/wireguard/wg0.conf

Добавьте в конец файла:

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.10.10.2/32

Сохраните изменения.

Перезапустите WireGuard:

systemctl restart wg-quick@wg0

Шаг 11. Создание конфигурации клиента

Создайте файл:

nano client.conf

Добавьте:

[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.10.10.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Замените:

  • CLIENT_PRIVATE_KEY на приватный ключ клиента;
  • SERVER_PUBLIC_KEY на публичный ключ сервера;
  • SERVER_IP на IP-адрес VPS.

Шаг 12. Генерация QR-кода для смартфона

Для Android и iPhone можно создать QR-код:

qrencode -t ansiutf8 < client.conf

Или:

qrencode -o wireguard-client.png < client.conf

После этого импортируйте конфигурацию через приложение WireGuard.

Подключение Windows

  1. Скачайте клиент WireGuard.
  2. Установите приложение.
  3. Нажмите Add Tunnel → Import from File.
  4. Выберите файл client.conf.
  5. Нажмите Activate.

Подключение Android

  1. Установите приложение WireGuard из Google Play.
  2. Нажмите +.
  3. Выберите Scan QR Code.
  4. Отсканируйте QR-код.
  5. Активируйте туннель.

Подключение iPhone

  1. Установите WireGuard из App Store.
  2. Нажмите Add Tunnel.
  3. Выберите Create from QR Code.
  4. Отсканируйте QR-код.
  5. Подключитесь к VPN.

Проверка работы VPN

Подключитесь к VPN и откройте сайт:

https://whatismyipaddress.com

IP-адрес должен соответствовать адресу вашего VPS.

Добавление дополнительных устройств

Для каждого нового устройства необходимо:

  1. Сгенерировать отдельную пару ключей.
  2. Добавить новый блок [Peer] в wg0.conf.
  3. Назначить уникальный IP-адрес из сети VPN.
  4. Перезапустить WireGuard.

Частые ошибки

Клиент подключается, но интернет не работает

Проверьте, включен ли IP Forwarding:

sysctl net.ipv4.ip_forward

Результат должен быть:

net.ipv4.ip_forward = 1

Клиент не подключается

Убедитесь, что порт UDP 51820 открыт в Firewall и у провайдера VPS.

Handshake отсутствует

Проверьте правильность публичных и приватных ключей сервера и клиента.

Не открываются сайты

Проверьте настройки DNS в клиентском файле конфигурации.

После перезагрузки VPN не запускается

Убедитесь, что служба добавлена в автозагрузку:

systemctl enable wg-quick@wg0

Помог ли вам данный ответ?

« Назад