🐧 Изоляция сетевых стеков через VRF для контейнеров и сервисов без отдельных namespace
🐧 Изоляция сетевых стеков через VRF для контейнеров и сервисов без отдельных namespace 👁 На хостах с контейнерами и микросервисами иногда требуется разделить маршрутизацию между сервисами: например, направлять трафик разных приложений через разные шлюзы или полностью изолировать сетевые пути без создания отдельных VM. Для таких задач в Linux есть VRF (Virtual Routing and Forwarding). 📝 Создание отдельного VRF для сервиса или контейнера: VRF позволяет создать независимый сетевой стек со своей маршрутизацией. Теперь интерфейс eth1 использует отдельную таблицу маршрутов и полностью изолирован от основной сети хоста. ip link add vrf-app type vrf table 100 ip link set vrf-app up ip link set eth1 master vrf-app ip route add table 100 default via 10.0.0.1 📝 Запуск процесса внутри VRF: Можно запускать конкретный сервис или контейнер внутри нужного VRF. Процесс будет использовать только маршруты VRF, не затрагивая основную сеть системы. ip vrf exec vrf-app curl http://10.0.0.10 📝 Использование VRF для Docker и Kubernetes: VRF удобно применять для изоляции ingress/egress трафика контейнеров, тестирования сетевых политик и разделения сервисов с одинаковыми подсетями. Так контейнерный интерфейс начинает работать через отдельный VRF без необходимости создавать новый namespace. ip link set veth123 master vrf-app ❗️ VRF — очень мощный инструмент Linux-сетей, который часто недооценивают. Он позволяет изолировать маршрутизацию и трафик без тяжёлой виртуализации и отлично подходит для контейнерных инфраструктур. tags: #linux #сеть #полезно 🧭 @recura_tech