nsdano
(usa Debian)
Enviado em 23/09/2009 - 14:24h
Pessoal,
Sempre apanhei tentando configurar um roteamento avançado com interfaces virtuais.. neste caso, cansei de tentar e levantei uma outra eth "física" (na verdade é virtualizada pelo virtual box, pois sao maquinas virtuais os meus servidores). Depois disso, ficou fácil, vejam só:
# Marquei tudo que vinha da minha rede interna e que saída do servidor com a "bandeira 3"
iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 3
iptables -t mangle -A PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j MARK --set-mark 3
iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK --set-mark 3
iptables -t mangle -A PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 443 -j MARK --set-mark 3
# Adicionei a rule para a tabela "21" - tabela de roteamento dinamico, irá selecionar os pacotes marcados com 3
ip rule add fwmark 3 table 21 prio 20
# Adicionei a rota padrão para o ip do meu gateway desejado.
ip route add default via 192.168.1.250 dev eth0 table 21
Simples assim..
Observe que a eth0 está ligada na rede interna e a eth1 na rede externa (ip fixo)
Estava fazendo isso com uma interface virtual eth0:0 e não obtive sucesso..
talves ajude quem esteja na mesma situação e não queira quebrar d+ a cabeça.
abraço
#iptables -t mangle -A PREROUTING -i eth0 -p tcp --dport 80 -j MARK --set-mark 3
#iptables -t mangle -A POSTROUTING -o eth0 -p tcp --dport 80 -j MARK --set-mark 3