Устанавливаем Wireguard на debian 10
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 и включаем 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
EOFsudo 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.
Правим конфигурацию клиентаv
cat /etc/wireguard/server_public_key
nano /etc/wireguard/wg0-client.example.conf
Меняем PublicKey на ключ сервера, сгенерированный ранее
Меняем :SERVER_ADDRESS: на адрес сервера
Меняем порт сервера
Создаем клиента
/etc/wireguard/add-client.sh client_name
Контрольный перезапуск сервера, для применения iptables
systemctl restart Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
Конфигурация клиента создасться в папке: /etc/wireguard/clients/client_name/
Для мобильного клиента:
Устанавливаем генератор QR кодов
apt install qrencode
Генерируем QR для подключения клиентов
qrencode -t ansiutf8 < /etc/wireguard/clients/client_name/wg0.conf
Proxmox
Add Wireguard debian unstable source
- 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
Update, install wireguard and kernel headers
- apt update
- apt install wireguard pve-headers
Run DKMS autoinstall, probe kernel module, and add to conf file
- dkms autoinstall
- modprobe wireguard
- echo "wireguard" >> /etc/modules-load.d/modules.conf