Страница 1 из 1

Свой VPN для телефона или компьютера Wireguard

Добавлено: 19 ноя 2025, 20:13
Padonak

Код: Выделить всё

apt install wireguard
Конфигурация сервера
После установки переходим в папку с настройками и генерируем ключи сервера

Код: Выделить всё

cd /etc/wireguard/

Код: Выделить всё

wg genkey | sudo tee ./privatekey | wg pubkey | sudo tee ./publickey
Создаем файл конфигурации wg0.conf со следующем содержимым:

Код: Выделить всё

vim wg0.conf

Код: Выделить всё

 [Interface]
    Address = 10.0.13.1/24
    ListenPort = 666
    PrivateKey = fg................ktlY=
    PostUp = 
    PostDown =
    
[Interface] - настройки для сервера VPN
Address - адрес сети в которой будут объединены все клиенты VPN, его можно не менять
ListenPort - порт, произвольный по которому будем подключаться к VPN
PrivateKey - приватный ключ сервера из файла /etc/wireguard/privatekey
PostUp и PostDown - vможно вписать правила iptables

Код: Выделить всё

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
 PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Конфигурация WireGuard для клиента:
Создаем ключи для подключения клиента к VPN через телефон

Код: Выделить всё

mkdir clients 

Код: Выделить всё

     cd clients

Код: Выделить всё

    wg genkey | sudo tee ./client | wg pubkey | sudo tee ./client.pub
Создаем файл конфигурации для клиента (телефона) /etc/wireguard/clients/client.conf со следующим содержимым

Код: Выделить всё

vim client.conf

Код: Выделить всё

 [Interface]
    PrivateKey = f.................tlY=
    Address = 10.0.13.2/32
    DNS = 8.8.8.8, 1.1.1.1, 1.0.0.1
    [Peer]
    PublicKey = srrbg...WFesbESTHaRGsteh=
    AllowedIPs = 0.0.0.0/0
    Endpoint = 195.13.31.126:666
    PersistentKeepalive = 180
Здесь [Interface] - настройки подключения клиента
PrivateKey - приватный ключ клиента из файл /etc/wireguard/clients/client
Address - локальный адрес клиента с VPN сети, указывать нужно для каждого клиента свой адрес, например 10.0.0.2/32, 10.0.0.3/32, 10.0.0.4/32, ...
[Peer] - настройки подключения к серверу, для всех клиентских конфигурационных файлов подключений этот блок будет одинаковым
PublicKey - публичный ключ сервера, содержимое файла /etc/wireguard/publickey
Endpoint - это IP адрес сервера и порт подключения
Добавляем информации о клиенте в конфигурацию сервера

После добавления клиента, необходимо в конфигурацию сервера внести запись о клиенте. Для этого добавим блок [Peer] для каждого клиента в файл /etc/wireguard/wg0.conf и приведем к следующему виду

Код: Выделить всё

vim /etc/wireguard/wg0.conf

Код: Выделить всё

[Interface]
    Address = 10.0.13.1/24
    ListenPort = 666
    PrivateKey = fg................ktlY=
    [Peer]
PublicKey = srrbg...WFesbESTHaRGsteh=
AllowedIPs = 10.0.13.2/32
[Peer] - это настройки подключения для клиентов VPN ( телефона ) . Таких блоков может быть несколько

PublicKey - публичный ключ клиента из файла /etc/wireguard/clients/client.pub

AllowedIPs - IP адрес клиента в сети, который указан в файле конфигурации подключения клиента в файле /etc/wireguard/clients/client.conf в блоке [Interface] параметр - Address.
Запускаем VPN

Код: Выделить всё

systemctl enable wg-quick@wg0.service
После добавления клиента, сервис необходимо перезапустить

Код: Выделить всё

systemctl restart wg-quick@wg0.service
Подключаем телефон к VPN

Подготовим qr код с настройками подклчюения, для использования на телефоне.
Установим необходимую утилиту для генерации qr кода

Код: Выделить всё

apt install qrencode
После этого переходим в директорию с настройками для клиентов и генерируем qr code

Код: Выделить всё

 qrencode -t ansiutf8 < /etc/wireguard/clients/client.conf
В результате появится в консоли qr код


На телефона устанавливаем приложение WireGuard. После установки запускаем его. На главном экране будет предложение добавить туннель - нажимаем и выбираем добавить по QR коду.

Сканируем qr код из консоли, который получили ранее. Далее интуитивно понятно все в телефоне. Соглашаемся с добавлением конфигурации VPN и включаем его.

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

Дальше можно проверить свой IP адрес - он должен быть тот же что и IP адрес сервера. Проверить свой IP можно через любой доступный сервис в интернете.