Добавление репозитория Debian Unstable
echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable apt update apt install wireguard wget modprobe wireguard echo "wireguard" >> /etc/modules
Проверка загрузки модуля
lsmod | grep wireguard
Настройка параметров ядра
Отключение IPv6 и включение IPv4 Forwarding:
tee -a /etc/sysctl.conf << EOF #Enable Forwarding # net.ipv4.ip_forward = 1 # Turn off IPv6 # net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1 EOF
sysctl -p
Загрузка вспомогательных скриптов
wget https://vasilkovo2.ru/scripts/wireguard_scripts.tar.gz mkdir /etc/wireguard/ tar -xvf wireguard_scripts.tar.gz -C /etc/wireguard/ cd /etc/wireguard/ chmod +x add-client.sh chmod +x remove-peer.sh
Генерация ключей сервера
wg genkey | tee /etc/wireguard/server_private_key | wg pubkey > /etc/wireguard/server_public_key cat /etc/wireguard/server_private_key
Конфигурация сервера
cp wg0-server.example.conf /etc/wireguard/wg0.conf nano /etc/wireguard/wg0.conf
Меняем PrivateKey = asdf123= на сгенерированный ранее ключ
nano /etc/wireguard/iptables.conf
Меняем имя интерфейса ens192 при необходимости
Запуск сервера
chmod 600 /etc/wireguard/wg0.conf systemctl enableАдрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript. systemctl restartАдрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.
Конфигурация клиента
cat /etc/wireguard/server_public_key nano /etc/wireguard/wg0-client.example.conf
Меняем PublicKey на публичный ключ сервера Меняем :SERVER_ADDRESS: на адрес сервера Меняем порт сервера
Создание клиента
/etc/wireguard/add-client.sh client_name
systemctl restartАдрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.
Конфигурация клиента будет создана в каталоге: /etc/wireguard/clients/client_name/
Мобильные клиенты
Установка генератора QR-кодов:
apt install qrencode
Генерация QR-кода для подключения клиента:
qrencode -t ansiutf8 < /etc/wireguard/clients/client_name/wg0.conf
WireGuard на Proxmox
Добавление репозитория Debian Unstable
echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable-wireguard.list printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
Установка WireGuard и заголовков ядра
apt update apt install wireguard pve-headers
Сборка и загрузка модуля
dkms autoinstall modprobe wireguard echo "wireguard" >> /etc/modules-load.d/modules.conf
TAGS: WireGuard, VPN, Debian 10, Proxmox, DKMS, Linux, networking