ip sobre interface de rede específica

2

Eu tenho duas interfaces de rede com os respectivos ips

 eth0 : 192.168.70.153
 eth2 : 192.168.70.155

quando eu faço

 route -C
 Kernel IP routing cache
 Source          Destination     Gateway         Flags Metric Ref    Use Iface
 192.168.70.155 192.168.70.152  192.168.70.152        0      0        0 eth0

como posso forçar uma conexão telnet para 192.168.70.152 através da eth2?

    
por JuanPablo 29.09.2011 / 02:05

2 respostas

1

Você teria que adicionar uma rota específica para o host 192.168.70.152.

route add -host 192.168.70.152 dev eth2

Isso levaria todo o tráfego destinado a 192.168.70.152 pela eth2. Isso seria suficiente, ou você precisaria apenas de telnet para ser roteado?

    
por 29.09.2011 / 02:37
1

O que você quer é o Roteiro avançado de controle de tráfego e roteamento Linux . Especificamente, a seção sobre Netfilter & iproute - marcação de pacotes é um bom lugar para começar esse tipo de coisa.

Você configuraria sua rota padrão para passar por eth0 e, em seguida, em /etc/iproute2/rt_tables , adicionar uma entrada, digamos, em 200, para "viaeth2". Então você precisa configurar o roteamento nessa tabela:

ip route add 192.168.70.0/24 dev eth2 src 192.168.70.155 table viaeth2
ip rule add fwmark 1 table viaeth2

Depois, você pode marcar os pacotes via iptables que devem ser roteados por essa tabela:

iptables -A PREROUTING -d 192.168.70.152 -t mangle -p tcp --dport 23 \
    -j MARK --set-mark 1

Isso fará o que você fez especificamente na pergunta original. Se você quiser fazer um balanceamento de carga mais geral entre as duas interfaces, você deseja fazer uma "ligação" por meio do driver "bond".

    
por 29.09.2011 / 02:49