February 18

Как создать свой VPN для телефона или пк (WireGuard) на VPS в Европе — быстрый гайд

Полная инструкция по созданию собственного VPN через VPS в Европе с нуля.
Настройка занимает ~10–15 минут.


1. Покупаем VPS

Я покупал на hostvds 👈

Так как там самое выгодное предложение на дешевые сервера. И не нужен KYC.

Я выбрал безлимит трафика еще, так как делал сервер для постоянного использования всех устройств через впн.
Локацию берите европейскую, так как на штаты и китай есть много ограничений.

Требования:

  • Ubuntu 22.04
  • 1 vCPU
  • 1 GB RAM
  • Публичный IPv4
  • Локация — Европа

После создания сервера у вас есть:

IP_СЕРВЕРА
root пароль или SSH-ключ
придет на почту

2. Подключаемся к серверу

ssh root@IP_СЕРВЕРА

Обновляем систему:

apt update && apt upgrade -y

Устанавливаем WireGuard:

apt install wireguard qrencode iptables -y

3. Включаем маршрутизацию

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

Проверка:

cat /proc/sys/net/ipv4/ip_forward

Должно быть:

1

4. Узнаём сетевой интерфейс

ip a

Найдите интерфейс с публичным IP (обычно eth0).


5. Создаём ключи сервера

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

6. Создаём конфиг сервера

nano /etc/wireguard/wg0.conf

Вставить:

[Interface]
PrivateKey = ВСТАВЬ_СОДЕРЖИМОЕ_server_private.key
Address = 10.0.0.1/24
ListenPort = 443

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

⚠️ Если интерфейс не eth0, замените его.

Сохранить:

Ctrl + O → Enter → Ctrl + X

7. Запускаем сервер

systemctl start wg-quick@wg0
systemctl enable wg-quick@wg0

Проверка:

wg

8. Создаём клиента (телефон)

wg genkey | tee phone_private.key | wg pubkey > phone_public.key

Добавляем клиента в сервер:

nano /etc/wireguard/wg0.conf

Внизу файла добавить:

[Peer]
PublicKey = ВСТАВЬ_phone_public.key
AllowedIPs = 10.0.0.2/32

Перезапуск:

systemctl restart wg-quick@wg0

9. Создаём конфиг для телефона

nano phone.conf

Вставить:

[Interface]
PrivateKey = ВСТАВЬ_phone_private.key
Address = 10.0.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = ВСТАВЬ_server_public.key
Endpoint = IP_СЕРВЕРА:443
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

10. Генерируем QR-код

qrencode -t ansiutf8 < phone.conf

Установите приложение WireGuard на телефон и отсканируйте QR.


11. Проверка

На сервере:

wg

Должно появиться:

latest handshake
transfer

Проверить IP на телефоне:

https://ifconfig.me

IP должен совпадать с IP VPS.


Если не работает

Нет handshake

Проверить порт:

ss -lunp | grep 443

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

tcpdump -n -i eth0 udp port 443

Нет интернета

Перезапуск NAT:

systemctl stop wg-quick@wg0
iptables -F
iptables -t nat -F
systemctl start wg-quick@wg0

Если что-то пойдет не по инструкции - подключайте ИИ он точно вам поможет быстро разобраться.