[GTER] Balanceamento de entrada sem AS

Fabio Catunda fcatunda at lightcomm.com.br
Mon Jan 31 13:17:32 -02 2011


"Spider",

O que entendi até o momento é que o servidor web sempre manda os pacotes 
pela rota padrão, o que é um grande problema visto que você quer que um 
pacote que entrou pela eth1 saia pela eth1 mesmo.

Das respostas que você recebeu até agora acho que o pessoal se confundiu 
um pouco, a questão é no servidor web, não no roteador ou no pfsense.

O que imagino como possível solução seria o CONNMARK mesmo. Como já 
dito, o CONNMARK, não o MARK.

Você pode marcar uma conexão logo que o primeiro pacote chega, criar uma 
tabela de roteamento para o segundo link que possui e instruir o sistema 
a jogar todos os pacotes relativos a uma conexão marcada para esta 
segunda tabela. Imaginando que você tenha eth0 e eth1 ficaria algo como:
eth0 - 192.168.0.2/32 GW 192.168.0.1 (roteador)
eth1 - 192.168.1.2/32 GW 192.168.1.1 (pfsense)
# echo "echo 200 pfsense" >> /etc/iproute2/rt_tables (apenas para dar um 
nome para a tabela, isso facilita)
# ip route add default dev eth1 via 192.168.1.1 table pfsense (rota 
default da eth2)
# ip rule add fwmark 1 table pfsense (instrui a tratar o que tiver 
marcação 1 pela tabela pfsense)
# iptables -t mangle -A PREROUTING -i eth1 -j CONNMARK --set-mark 1 
(marca as conexões entrantes pela eth1)

Pronto, acho que isso é suficiente... to fazendo as coisas de cabeça 
aqui, então pode ser que tenha esquecido algo, mas acredito que isso 
seria suficiente para fazer os pacotes que entraram pela eth1 sairem 
pela eth1 sem atrapalhar o funcionamento da eth0 no servidor web.

Att,

Catunda.


On 01/28/2011 10:54 AM, spiderslack wrote:
> Ola pessoal.
>
> Tive a experiência de confrontar uma situação nunca passada. Vou 
> tentar explicar a infraestrutura conforme abaixo:
>
> ISP 1 --------------|  roteador |_________|  Servidor |
> ISP 2 --------------|  pfsense  |             |     web    |
>
> Tenho o rota padrão configurada para o ISP2, porém temos o servidor 
> web publicado nos 2 endereços tanto do ISP 1 como ISP 2. Com isso 
> quando um fluxo entra pelo ISP 1 volta pelo ISP 1 se o fluxo entra 
> pelo ISP2 volta pelo ISP2 e caso uma conexão se origine no servidor 
> web saia pela rota default. Isso e conseguido no FreeBSD com o comando 
> binat, abaixo tem uma descrição de como funciona da documentação oficial.
>
> http://www.openbsd.org/faq/pf/nat.html#binat
>
> A minha pergunta é existe algum outro SO/equipamento que faça isso? Eu 
> testei com um cisco não funciona mesmo eu fazendo nat um para um, a 
> volta sempre sai pela rota default. Linux também mesmo marcando 
> pacotes com iproute. Consigo marcar a entrada mas quando a conexão 
> volta como vou saber por qual conexão ela entrou, talvez via tabela de 
> estados, mas pelo menos por meu conhecimento não ser possivel. Então 
> existe alguma configuração que consiga esse comportamento do comando 
> binat ?
>
> Att.
>
> __________________________________________________
> Fale com seus amigos  de graça com o novo Yahoo! Messenger 
> http://br.messenger.yahoo.com/ --
> gter list    https://eng.registro.br/mailman/listinfo/gter



More information about the gter mailing list