Comments 21
В статье и не отрицается, что есть много разного ПО.
Если рассматривать клиентскую часть wireguard, то там тоже все в 1 клик.
По поводу выше предложенных ресурсов, не нашел кем контролируется серверная часть? И что на счет прямой видимости vpn клиента? Клиентская часть сама создает подключение при загрузке ОС и при переключении между wifi точками восстанавливает соединение?
Если сильно сжать статью и выделить только основное, то по сути нужно на сервере установить только wireguard и не прятать клиентов за NAT, что бы была прямая видимость.
Что значит "что насчёт прямой видимости клиента?"?
По сути мы создаем внутреннюю дополнительную подсеть, где не только клиенты видят сервера, но и сервера видят клиентов.
То есть почти никогда? Тейлскейл чем и хорош, что пробивает практически любые наты и создаёт между девайсами максимально прямой канал (оказались в одной локалке — замечательно, трафик пойдёт по локалке, есть связь через интернет — будет самый быстрый прямой маршрут через интернет, все фолбэки не сработали — пойдём через прокси тейлскейла).
Здесь как раз не создается NAT, дополнительная внутренняя подсеть без посредников.
… не выглядит как "просто" и как ведущее к категорическому снижению нагрузки на техподдержку.
Как раз таки на оборот, от тех. поддержки требуется всего в gitlab дописать 2 правила в 2 файла и все. Все через удобный GUI. Уже проверенно на практике.
Все отлично, это те же яйца только в профиль))
Я просто решил заморочиться и все контролировать на своей стороне, как ни странно настройки заняли очень мало времени.
Так ведь лень двигатель прогресса)
Еще не дописал плейбук на это все, но то что можно конфиги shorewall переносить и ключи приватный/публичный wireguard можно тоже переносить, это как раз является плюсом. Можно сразу в плейбук подкинуть и развернуть второй сервер идентичный первому серверу, натравить runner
на второй сервер и вся конфигурация восстановится за 1 проход пайплайна)
… где описывается (если вообще) как происходит авторизация новых клиентов ...
это описание вот здесь идет -> "Дополнительно протестируем видимость vpn клиентов из внутренней сети...."
… нужно останавливать интерфейс на сервере и т.д.?
Если руками, то да.
Но процесс автоматизирован через GitLab.
Клиент передает публичный ключ и в ответ получает остальную часть конфига для себя и все.
Тех. поддержка заходит на gitlab, в репозитории открывает на редактирование wireguard/wg0.conf
и в конце списка добавляет Peer
нового клиента, там же в репозитории находит shorewall/rules_network.d/
и добавляет файл tst.rule
в файл вставляет например ACCEPT wg:192.168.30.2 lan:10.17.1.30 tcp 3389
сохраняет и запускает пайплайн последнего коммита.
По описанию это выглядит очень длинно, но на деле добавить 1 клиента меньше 1 минуты по времени.
Задачу, решить — решили, но не уж то времени не жалко, тем более такой огород «сервисов» уж простите…
За вас уже придумали pritunl.com — Enterprise Distributed OpenVPN, IPsec and WireGuard Server
Single server
Unlimited users
Unlimited devices Port forwarding
Gateway links
Failover gateway links
Bypass secondary auth
Chromebook support
Configuration sync
Email user keys
Additional themes
$10/month
All Premium features
All of the features included with a Premium subscription
Unlimited servers
Single sign-on
Automatic failover
Replicated servers
VXLan support
AWS VPC integration
Site-to-site VPN
Server route
NAT control
DNS mapping
DNS forwarding
Monitoring
Advanced auditing
Bridged
VPN mode
Multiple administrators
User pin policy
Plugin system
API access
IPsec site-to-site links
Multi-Cloud
VPC peering
Automated link failover
Free for education
$50/month$600/year
Настройка на сервере wireguard и shorewall это городить сверх нормы? Остальное как дополнение.
Настройка 2 серверов в неспешном режиме с учетом добавления маршрутов на шлюзах заняла не более 2 часов.
Предложенное ПО платное, в статье все ПО бесплатно и без ограничений с прямой видимостью vpn клиента.
1. zerotier умеет серверную часть на мощностях клиента (+ gui) key-networks.com/ztncui
2. pritunl также можно развернуть у себя github.com/pritunl
3.pfsense\opnsense, если надо более комплексно.
WireGuard без NAT, внутренняя сеть и клиенты с обратной связью