# Текстовая инструкция по настройке Wireguard [видео: https://www.youtube.com/watch?v=5Aql0V-ta8A](https://www.youtube.com/watch?v=5Aql0V-ta8A) ## Обновляем сервер: ~~~ apt update && apt upgrade -y ~~~ ## Ставим wireguard: ~~~ apt install wireguard ~~~ ## Генерим ключи сервера: ~~~ wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey ~~~ ## Проставляем права на приватный ключ: ~~~ chmod 600 /etc/wireguard/privatekey ~~~ # Создаём конфиг сервера: ~~~ vim /etc/wireguard/wg0.conf [Interface] PrivateKey = Address = 10.0.0.1/24 ListenPort = 51831 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 ~~~ Вставляем вместо содержимое файла /etc/wireguard/privatekey ## Настраиваем IP форвардинг: ~~~ echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p ~~~ ## Включаем systemd демон с wireguard: ~~~ systemctl enable wg-quick@wg0.service systemctl start wg-quick@wg0.service systemctl status wg-quick@wg0.service ~~~ ## Создаём ключи клиента: ~~~ wg genkey | tee /etc/wireguard/goloburdin_privatekey | wg pubkey | tee /etc/wireguard/goloburdin_publickey ~~~ ## Добавляем в конфиг сервера клиента: ~~~ vim /etc/wireguard/wg0.conf [Peer] PublicKey = AllowedIPs = 10.0.0.2/32 ~~~ Вместо — заменяем на содержимое файла /etc/wireguard/goloburdin_publickey ## Перезагружаем systemd сервис с wireguard: ~~~ systemctl restart wg-quick@wg0 systemctl status wg-quick@wg0 ~~~ ## Создание клиента: На локальной машине (например, на ноутбуке) создаём текстовый файл с конфигом клиента: ~~~ vim goloburdin_wb.conf ~~~ ## Полная маршрутизация трафика: ~~~ [Interface] PrivateKey = Address = 10.0.0.2/32 DNS = 8.8.8.8 [Peer] PublicKey = Endpoint = :51830 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 20 ~~~ Здесь заменяем на приватный ключ клиента, то есть содержимое файла /etc/wireguard/goloburdin_privatekey на сервере. заменяем на публичный ключ сервера, то есть на содержимое файла /etc/wireguard/publickey на сервере. заменяем на IP сервера. ## Что бы сделать частичную маршрутизацию: Убрать DNS и изменить AllowedIPs на 10.0.0.0/24 ## Теперь нам нужно перенести этот конфиг на смартфон: ~~~ apt install qrencode ~~~ И потом выбрать конфиг и сгенерировать из него QR код ~~~ qrencode -t ansiutf8 < iphone.conf ~~~ После этого в консоли мы увидим QR код и нам остается только отсканировать его через WireGuard на мобильном приложении.