Como criar uma rota padrão baseada em protocolo usando iproute2

2

Estou tentando criar duas rotas -

Send all packets with IP protocol version 100 to 1.1.1.1 (via device eth1)
Send all other IP packets to 2.2.2.2 (via device eth2)

Revendo as páginas man do ip-route e ip-rules, parece que devo ser capaz de fazer isso, mas não consegui descobrir a sintaxe correta.

Este artigo tem um exemplo de como configurar um roteamento baseado em política, mas é baseado em endereço IP de origem , e não número de protocolo : link

É possível criar regras de roteamento baseadas em protocolo ?

    
por Runcible 08.03.2017 / 23:54

1 resposta

3

Isto é completamente não testado, mas talvez algo assim? Este método usa marcação de firewall.

# part ip packets with a value of 100 as a protocol
iptables -A PREROUTING -i eth0 -t mangle --proto 100 -j MARK --set-mark 1

# packets with that mark use tabpe 'p100'
ip rule add fwmark 1 table p100

# a route on table 'p100' to a gateway for that network
/sbin/ip route add default via 192.0.2.1 dev eth2 table p100

Veja: link

PS não se esqueça de desativar a filtragem caminho inverso .

    
por 09.03.2017 / 00:31