Установка WireGuard на Debian 10 Buster и Debian 11 Bullseye

Установка WireGuard сервер на Debian 10 Buster и Debian 11 Bullseye

Для Debian 11 команду ниже, не выполняем !!! Только Для 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

Для Debian 10 и ниже:
Устанавливаем WireGuard Server:

apt update


Для Debian 11 команду выполнять не нужно !!! Только Для Debian 10 и ниже:

apt install wireguard-dkms wireguard-tools linux-headers-$(uname -r)

Для Debian 11:

apt update
apt install wireguard

Переходим в папку wireguard

cd /etc/wireguard

Генерируем ключи сервера и клиента:

umask 077
wg genkey > wg-private.key
wg pubkey < wg-private.key > wg-public.key
wg genkey | tee client1_privatekey | wg pubkey > client1_publickey

Сморим приватный ключ сервера wg-private.key:

cat wg-private.key

Создаем файл wg0.conf в папке /etc/wireguard/:

nano /etc/wireguard/wg0.conf

Добавляем в него следующее:

[Interface]
PrivateKey = Сюда вставляем приватный ключ сервера wg-private.key
Address = 10.0.0.1/24
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostUp = iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
PostUp = iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -j DROP
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
PostDown = iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -j DROP
ListenPort = 51820

[Peer]
PublicKey = Сюда вставляем публичный ключ клиента из client1_publickey
AllowedIPs = 10.0.0.2/32

В строках PostUp и PostDown значение в -o (имя интерфейса) меняем на свое, у вас может быть ens3, узнаем командой:

ip addr

Отредактируем файл /etc/sysctl.conf

nano /etc/sysctl.conf

Находим строчку и убираем перед ней решетку:

#net.ipv4.ip_forward=1

Чтобы не перезагружать сервер, применяем значение немедленно:

sysctl -p

Устанавливаем Iptables иначе при выполнение команды на запуск сервера, получите ошибку, если в системе нет Iptables

apt-get install iptables

После этого добавляем сервер в автозагрузку и стартуем его:

systemctl enable wg-quick@wg0
systemctl start wg-quick@wg0

Создаем конфиг клиента у себя на компьюторе.

[Interface]
Address = 10.0.0.2/32
PrivateKey = Сюда вставляем приватный ключ клиента client1_privatekey
DNS = 9.9.9.9

[Peer]
PublicKey = Сюда вставляем публичный ключ сервера wg-public.key
AllowedIPs = 0.0.0.0/0, 128.0.0.0/1
Endpoint = тут ip адрес вашего сервера:51820

Клиент для Android можно скачать тут WireGuard client Android

После того как скачали клиент, просто импортируйте созданный ранее вами конфиг клиента в приложение.

Для Linux систем вы так же можите импортировать созданный ранее конфиг клиента, или создать подключение в ручную.

Рекомендую к прочтению Установка и настройка openvpn сервера на Debian 9