WireGuard за 10 минут на Arch Linux

Рассмотрим установку VPN WireGuard на Arch linux

Все действия выполняются под root правами SU

Настройка сервера

 

Первым делом установим WireGuard

pacman -S wireguard-tools

И модуль ядра

pacman -S wireguard-arch

Либо Lts модуль ядра

pacman -S wireguard-lts

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

modprobe wireguard && lsmod | grep wireguard

Переходим в каталог wireguard

cd /etc/wireguard

И генерируем ключи

umask 077
wg genkey | tee serverprivatekey | wg pubkey > serverpublickey
wg genkey | tee clientprivatekey | wg pubkey > clientpublickey

Будет создано 4 файла с ключами

# cat serverprivatekey 
keykeykeykeykeykeykeykeykeykeykeykeykeykey=
# cat serverpublickey 
keykeykeykeykeykeykeykeykeykeykeykeykeykey=
# cat clientprivatekey 
keykeykeykeykeykeykeykeykeykeykeykeykeykey=
# cat clientpublickey 
keykeykeykeykeykeykeykeykeykeykeykeykeykey=

Делаем наши ключи только для чтения владельцу

chmod 600 /etc/wireguard/serverprivatekey
chmod 600 /etc/wireguard/clientprivatekey
chmod 600 /etc/wireguard/serverpublickey
chmod 600 /etc/wireguard/clientpublickey

Включаем форвардинг в sysctl

sysctl -w net.ipv4.ip_forward=1

И добавляем в /etc/sysctl.d/99-sysctl.conf строку net.ipv4.ip_forward = 1

nano /etc/sysctl.d/99-sysctl.conf

Создаем конфиг нашего сервера wireguard со следующим содержимым:

nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = SERVERPRIVATEKEY

[Peer]
PublicKey = CLIENTPUBLICKEY
AllowedIPs = 10.0.0.2/32

Вместо SERVERPRIVATEKEY и CLIENTPUBLICKEY мы прописываем ключи, из созданных ранее файлов.

Вместо eth0 прописываем ваш интерфейс, можно посмотреть командой ip a

Сохраняем изменения и делаем файл доступным только для root, включаем и запускаем сервис:

chmod 600 /etc/wireguard/wg0.conf
systemctl enable --now wg-quick@wg0.service

Теперь требуется настроить клиент

 

Так же устанавливаем Wireguard

pacman -S wireguard-tools

Создаем конфиг файл

nano /etc/wireguard/wg0-client.conf

Со следующим содержанием

[Interface]
Address = 10.0.0.2/32
PrivateKey = CLIENTPRIVATEKEY
DNS = 10.0.0.1

[Peer]
PublicKey = SERVERPUBLICKEY
Endpoint = РЕАЛЬНЫЙ_ИП_СЕРВЕРА:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21

Вместо SERVERPUBLICKEY и CLIENTPRIVATEKEY мы прописываем ключи, из созданных ранее файлов на сервере.

Сохраняем файл и пробуем подключится к нашему серверу

wg-quick up wg0-client

Для отключение от сервера

wg-quick down wg0-client

На этом все!

Так же в AUR есть пакет networkmanager-wireguard-git

yay -S networkmanager-wireguard-git

Добавит в ваш GUI интерфейс NetworkManager возможность настраивать и делать подключение к вашему серверу

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Вы можете быть заинтересованы в Cледующем

Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: