Como posso garantir que o tráfego de saída use a mesma interface que o tráfego de entrada no Linux?

3

Eu tenho uma caixa Linux com duas interfaces: uma para dados e outra para fins de gerenciamento. Se ambos estiverem na mesma rede, tenho uma rota adicionada para ambas as interfaces.

Imagine que a tabela de roteamento é:

192.168.132.0 255.255.255.0 eth0
192.168.132.0 255.255.255.0 eth1 ( management interface)

O problema é que, mesmo se uma conexão for iniciada para o mgmt IP ( eth1 ), o tráfego de retorno estará em eth0 .

Como posso garantir que o tráfego de retorno em uma conexão use a mesma interface que o tráfego encaminhado?

    
por kumar 19.08.2011 / 09:13

1 resposta

3

O ideal é que ambas as interfaces façam parte de sub-redes IP diferentes, mas se você estiver convencido de que precisa fazer isso apenas dessa forma, então você deve usar o roteamento de acesso split do Linux.

Descrição do acesso por divisão do Linux

Exemplo de acesso dividido da Novell

Primeiro, crie duas tabelas de roteamento, T1 e T2, a serem usadas para pacotes enviados para ou a partir dessas NICs, adicionando as linhas

252 T1
251 T2

para / etc / iproute2 / rt_tables.

Em seguida, configure as regras de roteamento para rotear pacotes de entrada e saída por meio dessas tabelas:

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
    
por 22.08.2011 / 12:00