• XSS.stack #1 – первый литературный журнал от юзеров форума

Мануал/Книга Создаем свой двойной VPN на базе WireGuard

oziris

RAID-массив
Пользователь
Регистрация
21.07.2023
Сообщения
67
Реакции
34
Гарант сделки
1
Всем привет, и доброго времени суток!
В специфике нашей работы безопасность занимает наиважнейшее место, VPN соединение это наше всё.

Из моих знакомых многие задают вопросы по двойному соединению VPN, мое мнение однозначно на стороне данного подключения в сеть.
Данный мануал буду транслировать при возникшем вопросе, дабы не отвечать и не объяснять что да как, будем ценить свое время.
По поводу тройных, четвертных и тд цепочек соединения, я в своем мануале их касаться не буду, считаю это дело сугубо личное и каждого, выбирайте решение на свое усмотрение.
Но замечу, что по логике данного мануала реализовать цепочки из множественных подключений, думаю не составит труда, все зависит от необходимых требований использования данных схем. Тут каждый сам решает применим ли ему на выходе пинг ~9999ms.

Теперь кратко по шагам с пояснениями, за ранее нам известно что сервера у нас на *nix системах, данный ман без проблем по командам взлетит на Ubuntu, Debian, для других дистров изменяется лишь синтаксис.

==- WireGuard Double VPN Chaining -==
Design chaining
Client ==> Middleman(Server1) ==> Gate(Server2) ==> Internet

Server1 будет называться Middleman, а Server2 будет называться Gate
Внутренний диапазон IP. Для удобства я выберу диапазон ВПН 10.10.10.0/24
IP forwarding включен на сервере. Если не включен, добавьте:
net.ipv4.ip_forward=1 в /etc/sysctl.conf файле
и запустите sysctl -p для включения этого параметра ядра
Bash:
ubuntu@ip-172-31-32-230:~$ sudo nano /etc/sysctl.conf
ubuntu@ip-172-31-32-230:~$ sudo sysctl -p
net.ipv4.ip_forward = 1
ubuntu@ip-172-31-32-230:~$


==- Gate (Server2) -==
1- Обновляемся и устанавливаем wireguard
Bash:
ubuntu@gate:~$ sudo apt update && apt install -y wireguard wireguard-tools iptables net-tools resolvconf &> /dev/null
==-
2- Генерируем ключи, приватный и паблик
Bash:
ubuntu@gate:~# wg genkey | sudo tee /etc/wireguard/private.key
sDFqKjvVRv24/9HNIpso1VH5YcbMbawBnMShoDIlbn4=
ubuntu@gate:~# sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
ywZLQBXDuqkGm6O9gshBF/LJFvkVHxcUFdg3qlguHwY=

==-
3- Прописываем конфиг
nano /etc/wireguard/gate0.conf
Bash:
[Interface]
Address = 10.10.10.2/32
PostUp = ufw route allow in on gate0 out on eth0
## PostUp = iptables -t nat -A POSTROUTING -s 10.200.200.0/24 -o eth0 -j MASQUERADE ## Тут на ваше усмотрение, можно оставить как есть
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PreDown = ufw route delete allow in on gate0 out on eth0
## PreDown = iptables -t nat -D POSTROUTING -s 10.200.200.0/24 -o eth0 -j MASQUERADE ## Тут на ваше усмотрение, можно оставить как есть
PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = sDFqKjvVRv24/9HNIpso1VH5YcbMbawBnMShoDIlbn4= ## private-key-of-gate-created
[Peer]
PublicKey = qhN3653ygIzsMtQvzayl4RkjJ7Rv8l24wnxxS38l4lc= ## public-key-of-server1 Его мы сгенерируем ниже в ==- Middleman(Server1) -==

AllowedIPs = 10.10.10.0/24
Endpoint = IP:51820 ## IP-of-server1:51820


==- Middleman (Server1) -==
1- Обновляемся и устанавливаем wireguard
Bash:
ubuntu@middleman:~$ sudo apt update && apt install -y wireguard wireguard-tools iptables net-tools resolvconf &> /dev/null
2- Генерируем ключи, приватный и паблик
Bash:
ubuntu@middleman:~# wg genkey | sudo tee /etc/wireguard/private.key
0NbdRY1DdENd0kZRHCeMAjcKQlLogJBwnBJ5pHhVslY=
ubuntu@middleman:~# sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
qhN3653ygIzsMtQvzayl4RkjJ7Rv8l24wnxxS38l4lc=

==-
3- Прописываем конфиг
nano /etc/wireguard/wg0.conf
Bash:
[Interface]
Address = 10.10.10.3/32
PostUp = echo 1 > /proc/sys/net/ipv4/ip_forward
PostUp = echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT && iptables -A FORWARD -o wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT && iptables -D FORWARD -o wg0 -j ACCEPT
PostDown = echo 0 > /proc/sys/net/ipv4/ip_forward
PostDown = echo 0 > /proc/sys/net/ipv4/conf/all/proxy_arp
ListenPort = 51820
PrivateKey = 0NbdRY1DdENd0kZRHCeMAjcKQlLogJBwnBJ5pHhVslY= ## private-key-of-middleman
[Peer]
PublicKey = Y5q2JRNV5xsrQBBXAzZbeE2cwcZwGvPlcwD4kk1oAzY= ## public-key-of-client Его мы сгенерируем ниже в ==- Client -==
AllowedIPs = 10.10.10.4/32
[Peer]
PublicKey = ywZLQBXDuqkGm6O9gshBF/LJFvkVHxcUFdg3qlguHwY= ## public-key-of-gate
AllowedIPs = 0.0.0.0/0
Endpoint = IP:51820 ## IP-of-Gate:51820


==- Client -==
1- Обновляемся и устанавливаем wireguard
Bash:
ubuntu@client:~$ sudo apt update && apt install -y wireguard wireguard-tools iptables net-tools resolvconf &> /dev/null
==-
2- Генерируем ключи, приватный и паблик
Bash:
ubuntu@client:~$ wg genkey | sudo tee /etc/wireguard/private-key-of-client.key
UA6WBN58A/MOkeBsfo6r3lX5usRxl8V+glJp9xEv3GI=
ubuntu@client:~$ sudo cat /etc/wireguard/private-key-of-client.key | wg pubkey | sudo tee /etc/wireguard/public-key-of-client.key
Y5q2JRNV5xsrQBBXAzZbeE2cwcZwGvPlcwD4kk1oAzY=

==-
3- Прописываем конфиг
nano /etc/wireguard/vpn0.conf
Bash:
[Interface]
PrivateKey = UA6WBN58A/MOkeBsfo6r3lX5usRxl8V+glJp9xEv3GI= ## private-key-of-client
Address = 10.10.10.4/32
PostUp = ip rule add table 200 from 10.0.2.15
PostUp = ip route add table 200 default via 10.0.2.2
PreDown = ip rule delete table 200 from 10.0.2.15
PreDown = ip route delete table 200 default via 10.0.2.2
[Peer]
PublicKey = qhN3653ygIzsMtQvzayl4RkjJ7Rv8l24wnxxS38l4lc= ## public-key-of-middleman
AllowedIPs = 0.0.0.0/0
Endpoint = IP:51820 ## IP-address-of-middleman:51820


==-
После того, как все настроено, подключаемся к каждому серверу и запускаем VPN
Код:
For gate:
wg-quick up gate0
For Middleman:
wg-quick up wg0
For Client:
wg-quick up vpn0


==-
Чекаем цепочку, по логике если все сделано тк необходимо и без ошибок, все заработает
Код:
==-
curl ident.me либо curl 49.12.234.183
traceroute 1.1.1.1
==-


---
На этом откланиваюсь, это была база из настольной работы, дальше можно все это обфуцировать в обертку, прикрутить TOR и тд, но тема не об этом.
Оставляйте каменты в треде и если что стучите в ЛС

Всем удачи в бизе!
© oziris
 
Потому что лигаси код, морально устаревший баласт из 100к строк кода
WG более быстрый и эффективный, легковесный, и тд
Не спроста Линус Торвальд похвалил создателя WG за продукт и вскоре после этого WG оказался в основной ветке стабильного ядра Linux
 
Ребят. Если на стандартных настройках одной цепочки VPN на wireguard количество переданных пакетов тормозится на 92B, а провайдер заявляет, что они лично ничего блочат, то это РКН получается? Какой протокол можете посоветовать в одну цепочку без серьезных настроек маршрутизации (скорость и простота настройки интересуют). Ниже мои простенькие настройки. Заранее спасибо
1728900928811.png
 
Последнее редактирование:
Ребят. Если на стандартных настройках одной цепочки VPN на wireguard количество переданных пакетов тормозится на 92B, а провайдер заявляет, что они лично ничего блочат, то это РКН получается? Какой протокол можете посоветовать в одну цепочку без серьезных настроек маршрутизации (скорость и простота настройки интересуют). Ниже мои простенькие настройки. Заранее спасибоПосмотреть вложение 96694
лечат всех они, сейчас почти все провайдеры блочат wireguard, может какие-то мелкие остались еще, у которых нет техники. Заворачивайте в stunnel
 
может какие-то мелкие остались еще, у которых нет техники
Это же бред, каким бы не был провайдер он обязан, поставить оборудование, иначе штраф и отзыв лицензии на связь
По тестам в РУ сегменте wireguard блокируется крупными операторами как ростелеком домру и тд,
Напомню что wireguard легко обфуцируется в SS тотже, клоаку и похуй на DPI
 
Это же бред, каким бы не был провайдер он обязан, поставить оборудование, иначе штраф и отзыв лицензии на связь
По тестам в РУ сегменте wireguard блокируется крупными операторами как ростелеком домру и тд,
Напомню что wireguard легко обфуцируется в SS тотже, клоаку и похуй на DPI
есстественно СОРМ и что-то еще обязательно стоит, иначе не быть провайдером. Я немного некорректо написал, оборудование конечно есть, но могут схитрить в целях выживания. Как они блокируют протоколы и запросы? Явно ставят доп маршрутизатор с dpi. Так вот мелкие провайдеры могут сказать, да стоит. И он реально у них стоит. Но в то же время, они обходили блокировку ютуб, так как клиенты начали возникать типа нихера ютуб не работает, расторгали договоры. А некоторые вообще специально не включали блокировку ютуба, так как не было официальной бумаги. Крупные провайдеры монополисты и срать хотели на клиентов, а небольшие хитрят как могут, пока не вставят сверху. Собственно поэтому люди говорили что где-то работает и wireguard и ютуб
 
Возможно и так, без претензий, у меня есть бэк на провадере города миллионика, что скажу, нет смысла им что то скрывать от контрл структур.
Им также плевать на абонентов, и похуй что у них там работает или нет, важна только прибыль абонентка итд. Они всегда могут обозначить в лицо что это не мы а распоряжение вот смотри ток щас вышло, и иди нахуй.
Ни кто не будет идти через свои потоки лаве, тут дело другое, на мелких конторах работают такие же дибилы с тремя курсами в интернете, тоже самое и про регулирующие системах скажу, обойти их и наебать 90% возможно.
Удачи!
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх