Como rotear apenas uma sub-rede específica (ip de origem) para uma interface específica?

27

Como rotear apenas uma sub-rede específica (ip de origem) para uma interface específica?
SO: Linux

Eu sei que posso fazer facilmente pelo IP de destino usando algo como

route add 1.2.3.4/24 dev eth4

mas não vejo como pode rotear com base no IP de origem.

    
por Alex 10.01.2012 / 03:07

2 respostas

25

Você precisa usar o roteamento baseado em políticas. Algo como

ip rule add from <source>/<mask> table <name>
ip route add 1.2.3.4/24 via <router> dev eth4 table <name>

<name> é o nome da tabela especificado em /etc/iproute2/rt_tables ou você pode usar o ID numérico ...

Isso praticamente diz que todo o tráfego de 1.2.3.4/24 será roteado usando a tabela de roteamento <name> . IIRC não usa a tabela padrão depois de passar por isso, então se você precisar de outras rotas (por exemplo, gateway padrão), você precisa adicioná-las à tabela também.

    
por 10.01.2012 / 22:50
5

link

Este site tem um bom exemplo de roteamento baseado em origem.

    
por 11.01.2012 / 20:05