Назад | Перейти на главную страницу

Заставить весь трафик с серверов на одном мосту проходить через интерфейс маршрутизатора

У меня есть мост, к которому подключены все хосты из сети 192.168.5.0/24. Все они подключаются к этому мосту через вторичный интерфейс eth1.
У меня есть маршрутизатор, который соединяет этот мост с другими в моей сети через 192.168.5.1.
На моем маршрутизаторе я могу фильтровать весь трафик, идущий в эту сеть и из нее в другие с помощью iptables, но я не могу фильтровать любой трафик между хостами в одной сети (192.168.5.0)
Я считаю, что это потому, что если, например, 192.168.5.2 должен был пинговать 192.168.5.3, трафик идет прямо на мост, не проходя через мой шлюз маршрутизатора 192.168.5.1
Можно ли принудительно направить весь трафик из одной и той же подсети на маршрутизатор первым?
Ниже приводится выдержка из моих статических маршрутов:

default         192.168.3.1     0.0.0.0         UG    0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth1
192.168.3.0     *               255.255.255.0   U     0      0        0 eth0
192.168.5.0     *               255.255.255.0   U     0      0        0 eth1

И следующие выдержки из моих файлов ifcfg-ethx (CentOS):

DEVICE="eth0"
BOOTPROTO="static"
BROADCAST="192.168.3.255"
GATEWAY="192.168.3.1"
IPADDR="192.168.3.2"
NETMASK="255.255.255.0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"

DEVICE="eth1"
BOOTPROTO="static"
BROADCAST="192.168.5.255"
IPADDR="192.168.5.2"
NETMASK="255.255.255.0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"

Если я не ошибаюсь, лучше всего отредактировать мои статические маршруты, в частности последнюю строку приведенного выше фрагмента, чтобы указать шлюз 192.168.5.1 для сети 192.168.5.0/24.
Я попытался добавить GATEWAY = "192.168.5.1" в ifcfg-eth1, который создает таблицу маршрутизации с этим интерфейсом по умолчанию. Как я могу сохранить 3.1 в качестве основного шлюза, но также заставить весь трафик из адресного пространства 192.168.5.0/24 проходить через 192.168.5.1?

Поместите некоторые правила iptables на ваш хост-мост. Это намного проще, чем пытаться направить трафик туда, куда он не должен идти. Имейте в виду, что хост, пытающийся связаться с одноранговым узлом в той же сети, просто не заботится о маршрутизаторах. Источник отправит ARP-запрос, чтобы выяснить адрес Ethernet целевого подарка и отправить пакеты прямо ему. Здесь напрямую подразумевается мост для хоста, который затем использует свою таблицу ARP для пересылки пакета на цель. Так что здесь нет понятия маршрутизации.

Возможно, вы могли бы удалить естественный маршрут, который ядро ​​добавляет на хосты при настройке eth1, затем добавить конкретный маршрут к вашему шлюзу на eth1, а затем добавить другой маршрут к сети eth1 (192.168.5.0/24), указав ваш маршрутизатор в качестве шлюза ... Но только это описание должно дать вам понять, насколько это хрень.

На самом деле вам лучше использовать iptables на мосту