Как я могу убедиться, что исходящий трафик использует тот же интерфейс, что и входящий трафик в Linux?

7803
kumar

У меня есть коробка Linux с двумя интерфейсами: один для данных и другой для целей управления. Если оба находятся в одной сети, у меня есть маршрут, добавленный для обоих интерфейсов.

Представьте себе таблицу маршрутизации:

192.168.132.0 255.255.255.0 eth0 192.168.132.0 255.255.255.0 eth1 ( management interface) 

Проблема в том, что даже если соединение инициируется с mgmt IP ( eth1), обратный трафик будет включен eth0.

Как я могу гарантировать, что обратный трафик в соединении использует тот же интерфейс, что и у перенаправленного трафика?

3

1 ответ на вопрос

3
secureBadshah

В идеале оба интерфейса должны быть частью разных IP-подсетей, но если вы уверены, что вам нужно идти только этим путем, то вам следует использовать linux-маршрутизацию с разделенным доступом.

Описание разделенного доступа в Linux

Пример Split Access от Novell

Сначала создайте две таблицы маршрутизации, T1 и T2, которые будут использоваться для пакетов, отправляемых на эти сетевые адаптеры или от них, путем добавления строк.

252 T1 251 T2 

в / etc / iproute2 / rt_tables.

Затем настройте правила маршрутизации для маршрутизации входящих и исходящих пакетов через эти таблицы:

ip route add 10.105.16.0/24 dev eth0 src 10.105.16.100 table T1 ip route add default via 10.105.16.2 dev eth0 src 10.105.16.100 table T1 ip rule add from 10.105.16.100 table T1  ip route add 10.105.16.0/24 dev eth1 src 10.105.16.101 table T2 ip route add default via 10.105.16.2 dev eth1 src 10.105.16.101 table T2 ip rule add from 10.105.16.101 table T2