Что: Шлюз с маршрутизацией трафика по правилам и агрегацией нескольких VPN-протоколов. Один узел, через который любая клиентская подсеть выходит в интернет через выбранный
туннель — с переключением на лету и без потери соединений.
Backend.
Node.js (REST + WebSockets для live-обновлений).
Веб-кабинет для пользователей: управление туннелями, правилами маршрутизации, мониторинг.
Развёртывание на VPS и собственном железе через Docker.
Сетевая обвязка под Linux.
Policy routing + fwmark для разделения трафика по туннелям.
Network namespaces — изоляция туннелей друг от друга.
iptables / nftables — правила NAT и firewall.
eBPF-хуки на критичных точках обработки пакетов.
WireGuard и OpenVPN как backend-протоколы.
Результат. Live-переключение туннелей без разрыва пользовательских соединений. Один шлюз обслуживает несколько клиентских подсетей одновременно, для каждой — своё правило
выхода в интернет.
Стек: Node.js, Linux networking (iptables / nftables / eBPF / netns / policy routing), WireGuard, OpenVPN, Docker, REST, WebSockets.