Pessoal eu estou fazendo um teste com 2 gateways aqui na minha rede. A
minha curiosidade é a  seguinte.

Eu tenho 2 regras diferentes aqui na tabela funcionam assim:

Quando  IP: 192.168.0.1 utilizar ICMP o router sai pela tabela BRT.
Quando o destino da rede for 192.168.1.0/24 o router utiliza a tabela MAIN.

Seguem as regras:

##

iptables -t mangle -A PREROUTING -s 192.168.0.1/32 -p icmp -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -d 192.168.1.0/24 -j MARK --set-mark 2

ip rule add fwmark 1 lookup brt
ip rule add fwmark 2 lookup main

##

O curioso é que eu achei que o iptables lia as regras de cima pra
baixo e a primeira que batesse ele utilizava, mas não foi o que
aconteceu neste cenário.

A primeira vez, eu coloquei a regra da rede 192.168.1.0/24 por
primeiro e quando eu pingava para esta rede a partir do host
192.168.0.1 ele saia pela tabela BRT e não pela MAIN como deveria.

Eu tive que colocar a regra da rede 192.168.1.0/24 por último, assim
eu consegui pingar a rede a partir do host 192.168.0.1.

Funciona assim mesmo? Realmente estou encucado com a forma que o iptables agiu.

Abraço à todos





-- 
Vinicius Costa Carvalho
Administrador de Sistemas
(55) - 9168 - 4036
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a