Что: Шлюз с маршрутизацией трафика по правилам и агрегацией нескольких 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.