Linux, как разделить сетевые адаптеры на условные зоны маршрутизации?

Есть Linux, на котором поднято несколько сетевых адаптеров. Они местами пересекаются по подсетям.

Задача: выделить зоны маршрутизации. Например:

Пусть есть 4 интерфейса, 3 из них в одной сети:

lan0.1 192.168.0.100/24
lan0.2 192.168.0.200/24

lan1.1 192.168.0.5/24
lan1.2 10.0.0.1/24

Задача: настроить iptables или еще что-нить так, чтобы сам комп ходил в сеть 192.168.0.0/24 через lan1.1, все, что прилетает на lan0.1 маскарадилось на lan0.2, а lan1.2 маскарадился на lan1.1. При этом пакеты из зоны 0 (lan0.1 и lan0.2) не должны попадать в зону 1 (lan1.1 и lan 1.2) и наоборот.

Как такое сделать и реально ли?
  • Вопрос задан
  • 2968 просмотров
Решения вопроса 1
@zabbius Автор вопроса
задача решилась так:

у lan0.1 и lan0.2 убираем все маршруты из таблицы main

добавляем 2 таблицы:

ip route add 192.168.0.0/24 dev lan0.2 table 101
ip route add 192.168.0.0/24 dev lan0.1 table 102

добавляем правила:
ip rule add iif lan0.1 lookup 101
ip rule add iif lan0.2 lookup 102

теперь все, что прилетает на lan0.1 уйдет на lan0.2 и обратно.
можно еще добавить
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING ! -d 127.0.0.1/8 -j MASQUERADE

на lan1.1 и lan1.2 маршрутизируемся как обычно через таблицу main
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
selivanov_pavel
@selivanov_pavel
Linux admin
Ты хочешь чего-то очень странного. Опиши задачу. Может просто нужен bridge?
Ответ написан
Комментировать
ifaustrue
@ifaustrue
Пишу интересное в теллеграмм канале @cooladmin
У вас явно что-то не так в архитектуре сети. Похоже вы пытаетесь объединить три разные подсети с одинаковой адресацией, который, наверное, вам достались as is. Остановитесь и думайте о смене адресации, а не о реализации лютого костыля.
Ответ написан
@DuD
Может быть вам поможет VLAN
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы