[GTER] Balanceamento de entrada sem AS

luisgustavo at eletrosul.gov.br luisgustavo at eletrosul.gov.br
Mon Jan 31 10:30:59 -02 2011


Utilizamos uma  solução de CONNMARK aqui para a nossa migração de provedor 
(com um ip) para nosso AS (que é outro IP). A máquina em questão possui 3 
interfaces de rede ligadas em bridge, o IP da bridge é a rota default da 
nossa rede interna. A interface eth1 liga diretamente no firewall/router 
do provedor 1, a eth2 diretamente no firewall/router do provedor 2 e a 
eth3 liga na rede interna.
O interessante dessa configuração é que os servidores respondem por dois 
IPs publicos diferentes sem que percebam isso. Volta pelo provedor de onde 
veio a solicitação. A implantação também foi transparente, não sendo 
necessário alteração alguma nos roteadores, apenas alterada a rota default 
para essa máquina.
A marca colocada na eth3 eh a marca default, para conexões originadas de 
dentro da rede.
Essa máquina ainda permite fazer balanceamento entre os links, se brincar 
mais um pouquinho com as regras.
172.16.1.1 é o firewall/router do provedor 1 e 172.16.2.2 é o 
firewall/router do provedor 2 (ficticios)

iptables -t mangle -N marking
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark 
iptables -t mangle -A OUTPUT -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -m mark --mark 0x0 -j marking 
iptables -t mangle -A OUTPUT -m mark --mark 0x0 -j marking
iptables -t mangle -A marking -m physdev  --physdev-in eth1 -m mark --mark 
0x0 -j MARK --set-mark 0x1 
iptables -t mangle -A marking -m physdev  --physdev-in eth2 -m mark --mark 
0x0 -j MARK --set-mark 0x2 
iptables -t mangle -A marking -m physdev  --physdev-in eth3 -m mark --mark 
0x0 -j MARK --set-mark 0x1 
iptables -t mangle -A marking -j CONNMARK --save-mark
ip route add default via 172.16.1.1 table 10 
ip route add throw 172.16.0.0/16 table 10 
ip route add default via 172.16.2.2 table 20 
ip route add throw 172.16.0.0/16 table 20
ip rule add fwmark 0x1 lookup 10 
ip rule add fwmark 0x2 lookup 20


P.S.: Importantíssimo desligar o ICMP redirect nessa máquina (e habilitar 
o IP forwarding, óbvio). Ah, não esqueça de salvar a configuração do 
iptables e das rotas para quando rebootar a maquina não perder as regras 
(eu esqueci...).
P.S.2: Funcionou mesmo em ambiente virtual, eth1 e eth2 em 2 vlans 
distintas, cada uma com seu firewall/router

Luis Gustavo.




AVISO
Esta mensagem é destinada exclusivamente a(s) pessoa(s) indicada(s) como destinatário(s),
podendo conter informações confidenciais, protegidas por lei. A transmissão incorreta da mensagem não acarreta a perda de sua confidencialidade. Caso esta mensagem tenha sido recebida por engano, solicitamos que seja devolvida ao remetente e apagada imediatamente
de seu sistema.É vedado a qualquer pessoa que não seja destinatário, usar, revelar, distribuir ou copiar ainda que parcialmente esta mensagem.
-----------------------------------------------------------------------------------------------------------------
DISCLAIMER
This message is destined exclusively to the intended receiver. It may contain confidential or legally protected information. The incorrect transmission of this message does not mean loss of its confidentiality.
If this message is received by mistake, please send it back to the sender and delete it from your system immediately. It is forbidden to any person who is not the intended receiver to use, reveal, distribute, or copy any part of this message.



More information about the gter mailing list