Свой VPN для телефона или компьютера Wireguard
Добавлено: 19 ноя 2025, 20:13
Код: Выделить всё
apt install wireguardПосле установки переходим в папку с настройками и генерируем ключи сервера
Код: Выделить всё
cd /etc/wireguard/Код: Выделить всё
wg genkey | sudo tee ./privatekey | wg pubkey | sudo tee ./publickeyКод: Выделить всё
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Создаем ключи для подключения клиента к VPN через телефон
Код: Выделить всё
mkdir clients Код: Выделить всё
cd clientsКод: Выделить всё
wg genkey | sudo tee ./client | wg pubkey | sudo tee ./client.pubКод: Выделить всё
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Запускаем VPN[Peer] - это настройки подключения для клиентов VPN ( телефона ) . Таких блоков может быть несколько
PublicKey - публичный ключ клиента из файла /etc/wireguard/clients/client.pub
AllowedIPs - IP адрес клиента в сети, который указан в файле конфигурации подключения клиента в файле /etc/wireguard/clients/client.conf в блоке [Interface] параметр - Address.
Код: Выделить всё
systemctl enable wg-quick@wg0.serviceКод: Выделить всё
systemctl restart wg-quick@wg0.serviceПодготовим qr код с настройками подклчюения, для использования на телефоне.
Установим необходимую утилиту для генерации qr кода
Код: Выделить всё
apt install qrencodeКод: Выделить всё
qrencode -t ansiutf8 < /etc/wireguard/clients/client.confНа телефона устанавливаем приложение WireGuard. После установки запускаем его. На главном экране будет предложение добавить туннель - нажимаем и выбираем добавить по QR коду.
Сканируем qr код из консоли, который получили ранее. Далее интуитивно понятно все в телефоне. Соглашаемся с добавлением конфигурации VPN и включаем его.
Если возникала какая то ошибка, что не смогло приложение распознать конфигурацию подключения, то проверьте не ввели ли вы где то кириллические символы по ошибке и сгенерируйте qr код заново.
Дальше можно проверить свой IP адрес - он должен быть тот же что и IP адрес сервера. Проверить свой IP можно через любой доступный сервис в интернете.