[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