Форум программистов, компьютерный форум, киберфорум
Maks
Войти
Регистрация
Восстановить пароль
Оценить эту запись

WireGuard с веб-интерфейсом

Запись от Maks размещена 24.04.2023 в 08:27. Обновил(-а) Maks 28.02.2024 в 12:14
Показов 2169 Комментарии 0

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

Установку производил на Ubuntu Server 22.04

Как установить Ubuntu Server 22.04


После установки настоятельно рекомендую выполнить обновление
Bash
1
apt update && apt upgrade -y
а также, установить пароль для root
Bash
1
passwd root


В данном случае WireGurd устанавливается с Docker, т.е. по сути это набор контейнеров, который требуется установить:
Bash
1
curl -sSL https://get.docker.com | sh
Далее, добавляем текущего пользователя в группу Docker
Bash
1
sudo usermod -aG docker $(whoami)
А теперь разворачиваем контейнеры с WireGuard
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
docker run -d \
  --name=wg-easy \
  -e WG_HOST=11.22.33.44 \
  -e PASSWORD=P@S$W0RD \
  -e WG_DEFAULT_DNS=8.8.8.8,1.1.1.1 \
  -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
Где:
11.22.33.44 - выделенный ip-адрес от провайдера (статика), также можно указать динамический DNS (проверено на микротике);
P@S$W0RD - пароль от будущего веб-интерфейса управления WireGurd (вход в веб-морду осуществляется без указания имени пользователя, только пароль);
8.8.8.8,1.1.1.1 - какие угодно DNS, можете указать локальные (если у Вас они имеются);
51820:51820 - порт для подключения клиентов VPN, не забудьте его пробросить на роутере;
51821:51821 - порт управления веб-интерфейсом.

Итак, после установки идем в браузере по адресу 11.22.33.44:51821

Нажмите на изображение для увеличения
Название: 01.jpg
Просмотров: 251
Размер:	20.5 Кб
ID:	8034

Вводим пароль, который указали при конфигурировании контейнеров (P@S$W0RD), и видим примерно следующее:

Нажмите на изображение для увеличения
Название: 02.jpg
Просмотров: 269
Размер:	29.5 Кб
ID:	8035

Добавляем нового пользователя и скачиваем конфиг:

Нажмите на изображение для увеличения
Название: 03.jpg
Просмотров: 242
Размер:	32.9 Кб
ID:	8036

Конфиг клиента VPN выглядит так:

[Interface]PrivateKey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
Address = 10.10.10.2/24
DNS = 8.8.8.8,1.1.1.1

[Peer]
PublicKey = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY=
PresharedKey = ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ=
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 0
Endpoint = 11.22.33.44:51820


Здесь я хочу заострить внимание на параметре AllowedIPs его значение равно 0.0.0.0/0 это значит, что удаленный клиент будет иметь доступ ко всей подсети предприятия (хорошо для админов и плохо для обычного юзера в плане ифнобеза), соответственно если мы логиним по VPN обычного юзера, то вписываем сюда только тот ip-адрес(а), доступ к которым ему необходим.

После проделанного, качаем приложение WireGuard, подгружаем конфиг и подключаемся.

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

Каких-либо проблем при эксплуатации я не заметил, но время покажет.

P.S.: Файлы программы в самой системе находятся здесь: ~/.wg-easy

UPD
Возможные проблемы
Если при попытке подключения через приложение WireGuard в Windows 7 выходит такая ошибка:
Цитата:
unable to create network adapter
Необходимо установить обновление kb4474419
Размещено в Без категории
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru