Run VPN client Wireguard - Kraft2k/py_info_inv GitHub Wiki

Обновляем сервер:

apt update && apt upgrade -y

Ставим wireguard:

apt install -y wireguard

Генерим ключи сервера:

wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey

Проставляем права на приватный ключ:

chmod 600 /etc/wireguard/privatekey

Проверим, как у вас называется сетевой интерфейс:

ip a

Скорее всего у вас сетевой интерфейс eth0, но возможно и другой, например, ens3 или как-то иначе. Это название интерфейса используется далее в конфиге /etc/wireguard/wg0.conf, который мы сейчас создадим:

vim /etc/wireguard/wg0.conf

[Interface]

PrivateKey =

Address = 10.0.0.1/24

ListenPort = 51830

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

Если не знаете текстовый редактор vim — откройте файл с nano, он проще в работе.

Обратите внимание — в строках PostUp и PostDown использован как раз сетевой интерфейс eth0. Если у вас другой — замените eth0 на ваш.

Вставляем вместо содержимое файла /etc/wireguard/privatekey

Настраиваем IP форвардинг:

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

sysctl -p

Включаем systemd демон с wireguard:

systemctl enable [email protected]

systemctl start [email protected]

systemctl status [email protected]

Создаём ключи клиента:

wg genkey | tee /etc/wireguard/iphone_gleb_privatekey | wg pubkey | tee /etc/wireguard/iphone_gleb_publickey

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

vim /etc/wireguard/wg0.conf

[Peer]

PublicKey = <iphone_gleb_publickey>

AllowedIPs = 10.0.0.2/32

Вместо <iphone_gleb_publickey> — заменяем на содержимое файла /etc/wireguard/iphone_gleb_publickey

Перезагружаем systemd сервис с wireguard:

systemctl restart wg-quick@wg0

systemctl status wg-quick@wg0

На локальной машине (например, на ноутбуке) создаём текстовый файл с конфигом клиента:

vim iphone_gleb_wg.conf

[Interface]

PrivateKey = OGQGxmkhePwige/a7mjL0qtwNB0cy985u6DwwTqE3HE=

Address = 10.0.0.3/32

DNS = 8.8.8.8

[Peer]

PublicKey = ZInoBriHPl9H175BiNt7lPzJ7TA5bKWLqpa89eHzGQU=

Endpoint = :51830

AllowedIPs = 0.0.0.0/0

PersistentKeepalive = 20

Здесь заменяем на приватный ключ клиента, то есть содержимое файла /etc/wireguard/iphone_gleb_privatekey на сервере. заменяем на публичный ключ сервера, то есть на содержимое файла /etc/wireguard/publickey на сервере. заменяем на IP сервера.

sudo su

sudo apt install openresolv

cd /etc/wireguard/

Create wg0.conf

Show ip address https://ifconfig.me/

Run VPN client

wg-quick up wg0

Add the Config to the iOS Device The client config file is on the server. The easy way to copy that config to the client is via QR code. Install qrencode on the WireGuard server.

sudo apt install qrencode --assume-yes

Print the QR code in the server terminal.

qrencode --read-from=iphone_domenica_wg.conf --type=UTF8 --level=M

⚠️ **GitHub.com Fallback** ⚠️