Заметки системного администратора

 Устанавливаем 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
EOF

sudo 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

  1. echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable-wireguard.list
  2. printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable

Update, install wireguard and kernel headers

  1. apt update
  2. apt install wireguard pve-headers

Run DKMS autoinstall, probe kernel module, and add to conf file

  1. dkms autoinstall
  2. modprobe wireguard
  3. echo "wireguard" >> /etc/modules-load.d/modules.conf