Как установить 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 и выполните:
apt update && apt upgrade -y
apt install -y wireguard qrencodeШаг 2. Создайте ключи
У сервера и у каждого устройства своя пара ключей. Создадим ключи сервера и первого клиента:
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee client1.key | wg pubkey > client1.pubШаг 3. Узнайте имя сетевого интерфейса
ip route list defaultВ выводе после слова dev будет имя интерфейса, например eth0 или ens3. Оно понадобится в конфигурации.
Шаг 4. Настройте сервер
Создайте файл /etc/wireguard/wg0.conf. Замените eth0 на имя вашего интерфейса, а значения ключей возьмите командой cat server.key и cat client1.pub. Менять нужно только подсвеченные строки:
[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:
echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-wireguard.conf
sysctl --system
systemctl enable --now wg-quick@wg0Если на сервере включён файрвол UFW, откройте порт:
ufw allow 51820/udpШаг 5. Создайте конфигурацию клиента
Создайте файл /etc/wireguard/client1.conf. Подставьте ключ клиента (cat client1.key), публичный ключ сервера (cat server.pub) и IP вашего VPS в подсвеченные строки:
[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:
qrencode -t ansiutf8 < /etc/wireguard/client1.confКомпьютер. Скопируйте содержимое client1.conf в файл на компьютере и импортируйте его в приложение WireGuard.
Включите туннель и проверьте, что ваш IP в интернете стал IP сервера, например на сайте любого сервиса проверки IP.
Как добавить ещё одно устройство
- Создайте ключи
client2.keyиclient2.pub, как в шаге 2. - Добавьте в
wg0.confещё один блок[Peer]сAllowedIPs = 10.8.0.3/32. - Создайте
client2.confс адресом10.8.0.3/32. - Перезапустите сервис:
systemctl restart wg-quick@wg0.
Если не подключается
| Симптом | Что проверить |
|---|---|
Нет хендшейка (wg show без latest handshake) | Открыт ли порт 51820/udp, правильные ли ключи и IP в Endpoint |
| Туннель есть, но интернета нет | Включён ли ip_forward, верно ли указано имя интерфейса в PostUp |
| Работает нестабильно в некоторых сетях | Попробуйте протокол AmneziaWG через AmneziaVPN |
Только для личного использования
Правила OBLAKO разрешают личный VPN для себя, семьи или небольшой команды. Публичный VPN и перепродажа доступа запрещены, подробнее в статье Личный VPN на VPS.