Wireguard VPN за 5 минут и настраиваем функцию Kill-Switch

CyberSec RuTOR

Кибербезопасность
Команда форума
Модератор
Сообщения
933
Реакции
1.340
В данной статье я хотел бы описать процесс поднятия своего VPN с протоколом Wireguard с удобнным веб-интерфейсом, а так же показать, как настроить функциб kill-switch, когда блокируется весь трафик в обход VPN (работает только на Linux), у меня уже была статья про поднятие своего VPN на Wireguard, но этот метод более быстрый и удобный.

Арендуем хостинг для VPN на ОС debian 11 или ubuntu 20.04/22.04 и подключаемся к нему по SSH командой:


Код:
ssh root@ip_адрес_сервера

Обновляем сервер командами:

Код:
sudo apt update

Код:
sudo apt full-upgrade -y

Устанавливаем Docker по инструкции с официального сайта ( )

Подробнее прочитать про Docker можно в другой статье -


Теперь установим Wireguard следующей командой:

Код:
sudo apt install wireguard

После этого перезагружаем сервер командой

Код:
reboot

Снова подключаемся к серверу по SSH после перезагрузки и пишем следующую команду для установки docker-контейнера с VPN:

Код:
docker run -d \
  --name=wg-easy \
  -e WG_HOST=доменное имя вашего сервера/IP сервера \
  -e WG_DEFAULT_DNS=9.9.9.9 \
  -e PASSWORD=Пароль администратора(придумываете самостоятельно) \
  -v ~/.wg-easy:/etc/wireguard \
  -p 51820:51820/udp \
  -p 51821:51821/tcp \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_MODULE \
  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
  --sysctl="net.ipv4.ip_forward=1" \
  --restart unless-stopped \
  weejewel/wg-easy

После этого ждем окончания процесса установки, если всё прошло без ошибок, то открываем браузер и в адресной строке вводим адрес вашего сервера (не забудьте настроить SSL-сертификат), если у вас нет домена и вы используете IP (не рекомендуется), то введите IP-адрес сервера и порт 51821, должно получиться в таком виде: 123.123.123.123:51821 (заменить 123.123.123.123 на IP вашего сервера), соглашаемся с риском и попадаем на страницу с веб-интерфейсом вашего VPN-сервера

1.png


В окне с паролем вводим пароль, который вы указали при выполнении команды установки docker-контейнера и попадаем в панель управления вашим VPN, где в удобном виде можно создавать, удалять и скачивать новые конфиги вашего VPN для подключаемых устройств.

screenshot.png


Теперь перейдем к функции VPN kill-switch, создаем конфиг для вашего Linux-устройства, скачиваем файл формата .conf и открываем его в любом текстовом редакторе

В блоке [Interface] вставляем следующие строчки, которые при запуске VPN изменят правила в iptables, чтобы весь трафик в обход VPN блокировался:


Код:
PostUp  =  iptables -I OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT && ip6tables -I OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT
PreDown = iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show  %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT && ip6tables -D OUTPUT ! -o %i -m mark ! --mark $(wg show  %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT

Должно получиться примерно следюущим образом:

Код:
[Interface]
PrivateKey = abcdefghijklmnopqrstuvwxyz0123456789=
Address = 172.x.y.z/32
DNS = 1.1.1.1
PostUp  =  iptables -I OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT && ip6tables -I OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT
PreDown = iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show  %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT && ip6tables -D OUTPUT ! -o %i -m mark ! --mark $(wg show  %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT

[Peer]
PublicKey = JPT1veXLmasj2uQDstX24mpR7VWD+GmV8JDkidkz91Q=
Endpoint = 172.x.y.z/32:2049
AllowedIPs = 0.0.0.0/0

Сохраняем изменения в файле и переносим его в папку /etc/wireguard и после этого можем запускать наш VPN командой:

Код:
sudo wg-quick up название_файла_конфигурации

Теперь рассмотрим, как сделать, чтоб наш VPN запускался автоматически при старте системы, для этого вводим в терминале команду:

Код:
sudo systemctl enable wg-quick@название_файла_конфигурации.service

Перезапускаем системные демоны командой:
Код:
sudo systemctl daemon-reload

Запускаем наш VPN-демон командой

Код:
sudo systemctl start wg-quick@название_файла_конфигурации

После этого при старте системы наш VPN будет автоматически запускаться

На этом гайд завершен, таким образом мы получили собственный VPN на протоколе Wireguard с удобдным веб-интерфейсом и научились добавлять функцию kill-switch к нашему VPN-конфигу

При желании к данному VPN так же можно установить блокировщик различных трекеров Pi-Hole, а к веб-интерфейсу добавить SSL-сертификат от Let’s Encrypt
 
Последнее редактирование:
Тут без qr кодов?Просто я видел похожую статью.там в консоли.должен быть qr код чтобы подключится к впну.у меня почему-то кода не было в консоли
На 2м скрине в статье вы можете видеть, что для каждого клиента можно показать QR-код
 
А можно при таких настрйоках выдавать человеку досутп допустим на 6 месяцев, с автоматическим закрытием/продлением при оплате как например это реализовано при настрйоке панели 3x-ui?
 
Очень полезно,спасибо
 
своевременно, в виду того, что сейчас роскомнадзор активно взялся за блокировку многих популярных vpn - сервисов.
 
Отзывы есть?
 

Похожие темы

В данной статье я расскажу об ещё одной особенности QubesOS – весьма простой реализации цепочки нескольких VPN, с помощью описанной ниже схемы мы сможете сделать на QubesOS цепочку VPN из любого количества серверов, хоть 2, хоть 3, хоть 10, пока позволяют мощности вашей системы. В данном...
Ответы
19
Просмотры
В данной статье я хотел бы описать и сравнить 2 самых популярных VPN-протокола - OpenVPN и Wireguard Начнем с OpenVPN: OpenVPN - это протокол VPN с открытым исходным кодом, который широко используется для создания безопасного выхода в интернет. Это универсальный протокол, совместимый с...
Ответы
13
Просмотры
  • Закрыта
Для чего необходимо Бывают ситуации когда необходима анонимность, но VPN под рукой нет. VPN вряд ли можно назвать анонимным инструментом, ведь вы на него заходите как правило со своего IP (если это не двойной VPN), а значит оставляете следы, даже если не ведутся логи. Что уж говорить о...
Ответы
1
Просмотры
Назад
Сверху Снизу