Skip to content
RUEN

Как установить WireGuard на VPS за 10 минут ​

WireGuard это быстрый и простой VPN-протокол, который уже встроен в ядро Linux. В этой инструкции поднимем свой сервер WireGuard на VPS и подключим к нему телефон или компьютер. Понадобится VPS с Ubuntu 22.04, 24.04 или Debian 12 и доступ по SSH.

Нет опыта с консолью?

Приложение AmneziaVPN настроит сервер само по IP и паролю, без команд.

Что понадобится ​

  • VPS OBLAKO. Для личного VPN хватит младшего тарифа, см. тарифы VPS.
  • IP-адрес и пароль root из карточки сервера в панели.
  • Приложение WireGuard на устройстве: wireguard.com/install.

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

Подключитесь по SSH и выполните:

bash
apt update && apt upgrade -y
apt install -y wireguard qrencode

Шаг 2. Создайте ключи ​

У сервера и у каждого устройства своя пара ключей. Создадим ключи сервера и первого клиента:

bash
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee client1.key | wg pubkey > client1.pub

Шаг 3. Узнайте имя сетевого интерфейса ​

bash
ip route list default

В выводе после слова dev будет имя интерфейса, например eth0 или ens3. Оно понадобится в конфигурации.

Шаг 4. Настройте сервер ​

Создайте файл /etc/wireguard/wg0.conf. Замените eth0 на имя вашего интерфейса, а значения ключей возьмите командой cat server.key и cat client1.pub. Менять нужно только подсвеченные строки:

ini
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = СОДЕРЖИМОЕ_server.key
PostUp = iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE; iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE; iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT

[Peer]
PublicKey = СОДЕРЖИМОЕ_client1.pub
AllowedIPs = 10.8.0.2/32

Включите пересылку пакетов и запустите WireGuard:

bash
echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-wireguard.conf
sysctl --system
systemctl enable --now wg-quick@wg0

Если на сервере включён файрвол UFW, откройте порт:

bash
ufw allow 51820/udp

Шаг 5. Создайте конфигурацию клиента ​

Создайте файл /etc/wireguard/client1.conf. Подставьте ключ клиента (cat client1.key), публичный ключ сервера (cat server.pub) и IP вашего VPS в подсвеченные строки:

ini
[Interface]
PrivateKey = СОДЕРЖИМОЕ_client1.key
Address = 10.8.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = СОДЕРЖИМОЕ_server.pub
Endpoint = IP_СЕРВЕРА:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Шаг 6. Подключите устройство ​

Телефон. Покажите конфигурацию QR-кодом и отсканируйте его в приложении WireGuard:

bash
qrencode -t ansiutf8 < /etc/wireguard/client1.conf

Компьютер. Скопируйте содержимое client1.conf в файл на компьютере и импортируйте его в приложение WireGuard.

Включите туннель и проверьте, что ваш IP в интернете стал IP сервера, например на сайте любого сервиса проверки IP.

Как добавить ещё одно устройство ​

  1. Создайте ключи client2.key и client2.pub, как в шаге 2.
  2. Добавьте в wg0.conf ещё один блок [Peer] с AllowedIPs = 10.8.0.3/32.
  3. Создайте client2.conf с адресом 10.8.0.3/32.
  4. Перезапустите сервис: systemctl restart wg-quick@wg0.

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

СимптомЧто проверить
Нет хендшейка (wg show без latest handshake)Открыт ли порт 51820/udp, правильные ли ключи и IP в Endpoint
Туннель есть, но интернета нетВключён ли ip_forward, верно ли указано имя интерфейса в PostUp
Работает нестабильно в некоторых сетяхПопробуйте протокол AmneziaWG через AmneziaVPN

Только для личного использования

Правила OBLAKO разрешают личный VPN для себя, семьи или небольшой команды. Публичный VPN и перепродажа доступа запрещены, подробнее в статье Личный VPN на VPS.