====== Wireguard ====== ===== Создание VPN подключения ===== **Сервер:** Debian (orange pi/raspberry pi) **Клиент:** мобильный телефон Android 1. Получить белый IP-адрес у провайдера 2. Открыть порт 51830 или любой другой на роутере, который будет использован при поднятии сервера WireGuard 3. Зайти на *PI и обновить пакеты apt update && apt upgrade -y 4. Установить WG apt install -y wireguard 5. Перейти в директори ''/etc/wireguard'' и сгенерировать публичный и приватный ключ WG wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey 6. Проверить сетевой интерфейс и использовать его в дальнейшей настройки ip a (eth0 / wlan0 / etc.) 7. Создать файл конфигурацию командой ''vi /etc/wireguard/wg0.conf'' и указать настройки [Interface] PrivateKey = Address = 10.0.0.1/24 ListenPort = 51830 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o -j MASQUERADE 8. Настраиваем IP форвардинг: echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p 9. Настраиваем IP форвардинг: echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p 10.Создаём ключи клиента: wg genkey | tee /etc/wireguard/user_privatekey | wg pubkey | tee /etc/wireguard/user_publickey 11. Добавляем в конфиг сервера клиента ''vi /etc/wireguard/wg0.conf'': [Peer] PublicKey = AllowedIPs = 10.0.0.2/32 Вместо — заменяем на содержимое файла /etc/wireguard/user_publickey 12. Перезагружаем systemd сервис с wireguard: systemctl enable wg-quick@wg0 systemctl restart wg-quick@wg0 systemctl status wg-quick@wg0 13. На локальной машине (например, на ноутбуке) создаём текстовый файл с конфигом клиента ''vi user_wb.conf'': [Interface] PrivateKey = Address = 10.0.0.2/32 DNS = 8.8.8.8 (192.168.1.1) [Peer] PublicKey = Endpoint = :51830 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 20 Здесь '''' заменяем на приватный ключ клиента, то есть содержимое файла ''/etc/wireguard/user_privatekey'' на сервере. '''' заменяем на публичный ключ сервера, то есть на содержимое файла ''/etc/wireguard/publickey'' на сервере. '''' заменяем на IP сервера. Полезные ссылки: * https://mikkel.hoegh.org/2019/11/01/home-vpn-server-wireguard/ * https://t.me/t0digital/32 * https://profitserver.ru/knowledge-base/nastroyka-wireguard-vpn-na-svoem-servere * https://4pda.to/forum/index.php?showtopic=1041048&st=980#entry119948787