x86128: (Default)
[personal profile] x86128
Доброго дня!

В целях борьбы с разного рода замедлением и блокировкой от известного министерства, народ состряпал простой гайд: https://www.cyberciti.biz/faq/ubuntu-20-04-set-up-wireguard-vpn-server/

Начиная с Ubuntu 22.04 шаг №11 обязателен

Краткий пересказ

1. Берем обычную VPS-ку с Ubuntu 20.04
2. Обновляем систему и ставим пакеты

apt update
apt upgrade
apt install wireguard

3. делаем ключи для сервера

umask 077; wg genkey | tee privatekey | wg pubkey > publickey


получили два файлика privatekey и publickey назначение которых понятно из названия

4. аналогичным образом делаем ключи для клиента (в другой папке или с другими именами, это не важно, т.к. далее понадобится только содержимое)

5. командой ip a смотрим как называется интерфейс с Интернетом и запоминаем адрес (в моем случае это eth0, у вас может быть enps).

6. создаем файл /etc/wireguard/wg0.conf с настройками сервера

[Interface]
## внутренний адрес сервера ##
Address = 192.168.6.1/24
## Правила для iptables чтобы пошел NAT
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
## номер порта сервера на который подключаются клиенты
ListenPort = 41194

## частный ключ сервера (privatekey) ##
PrivateKey = iNsdfgjsdkfjgsdjflgjsdlfkjgnitYWwJHEs=

[Peer]
## публичный ключ клиента (содержимое publickey клиента)
PublicKey = sEhgpzgsdfsdfsdfJIsdfsdfV1PxHi7OC3Dk=
## внутренний адрес клиента
AllowedIPs = 192.168.6.3/32


Секций peer может быть несколько с разными публичными ключами клиентов

7. стартуем wireguard на сервере и добавляем его в автозапуск

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


8. делаем конфиг для клиента

[Interface]
## Частный ключ клиента (содержимое privatekey) ##
PrivateKey = EsdfgjksdlfkhlsdfgsdfsbvcxbxcvbxcvbxcvbxcvbA=

## Внутренний адрес клиента ##
Address = 192.168.6.3/24
DNS = 8.8.8.8

[Peer]
## публичный ключ сервера ##
PublicKey = vDmsdfgsdfgsdfgsdfgsdfgsdfgsdfgFqeCM=

## Чтобы в VPN уходил весь трафик ##
AllowedIPs = 0.0.0.0/0

## Вместо X.X.X.X ставьте адрес вашего VPS сервера ##
Endpoint = X.X.X.X:41194

## Key connection alive ##
PersistentKeepalive = 15


9. конфиг клиента подкладываем на десктоп или отправляем почтой на телефон
в приложении достаточно выполнить импорт этого файла и всё сразу работает
Например, генерируем qr код прямо из консоли 
qrencode -t ansiutf8 < wg.conf
и сканируем в приложении wireguard

10. приложение на Andriod позволяет выбрать какие приложения отправлять в VPN - это очень удобно, чтобы например youtube не отжирал трафик и процессор телефона.

11. на всякий случай можно проверить что работает маршрутизация
В файлах /etc/sysctl.conf или /etc/ufw/sysctl.conf должна быть не закоменченная строчка строчка net.ipv4.ip_forward=1

Date: 2021-04-04 08:16 pm (UTC)
vak: (Default)
From: [personal profile] vak
Это полезно, спасибо.
Перепощу у себя.

Profile

x86128: (Default)
x86128

April 2023

S M T W T F S
      1
2345678
9101112131415
16171819202122
232425 26272829
30      

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 23rd, 2025 10:10 am
Powered by Dreamwidth Studios