[GTER] Balanceamento de entrada sem AS
spiderslack
spiderslack at yahoo.com.br
Mon Jan 31 02:17:20 -02 2011
Hum.
Como ficaria a regra? Porque como irei identificar por onde a conexão
entrou?
por exemplo uma maquina qualquer na internet com endereço 100.100.100.1
tenta acessar meu servidor web atras de um linux com ip 90.90.90.1 e
neste existe o redirecionamento de porta 80 para o servidor web interno
com ip 192.168.0.10. Tudo bem até ai tenho 2 interfaces uma como disse
com o ip 90.90.90.1 outra com 80.80.80.1 a rota default sempre sera pela
interface com o ip 80.80.80.1 porem tudo que entra pelo 90.90.90.1 sai
por 90.90.90.1 e tudo que entra por 80.80.80.1 sai por ele. Nesse caso
via iproute como criaria uma regra para tratar isso, o problema e a
volta. Por exemplo a entrada ocorre pelo 90.90.90.1 e na volta mesmo eu
marcando pacotes com a seguinte regra
iptables -t mangle -I PREROUTING -m state --state ESTABLISHED,INVALID -i
interface_LAN -s 192.168.0.10 -p tcp --sport 80 -j MARK --set-mark 1
Tabela 1 - 90.90.90.1
Tabela 2 - 80.80.80.1
Tudo bem para as conexoes que entra por 90.90.90.1, mas as conexões que
vem por 80.80.80.1 ? mesmo a conexao entrando por 80.80.80.1 vai sair
por 90.90.90.1 e nao vai funcionar. O que eu poderia fazer sobrecarregar
IP na interface e fazer um SNAT na saida para LAN. Mas o binat do ipf
não precisa disso faz automatico. E oque eu queria se no linux tivesse
uma feature igual ao binat.
Att.
On 01/29/2011 06:36 PM, Leonardo Rodrigues wrote:
>
>
> em linux você poderia usar roteamento avançado (iproute) pra fazer
> regras baseadas em MARK e regras de CONNMARK no iptables (na tabela
> mangle) pra conseguir fazer esse layout funcionar.
>
> Como você parece ter 2 IPs distintos pro seu servidor web, um pra
> cada ISP, você pode usar esse IP de destino como critério pro CONNMARK
> fazer a marcação. Se porventura tivesse um único IP, talvez seria
> necessário separar os ISPs em 2 interfaces de rede diferente para
> poder usar a interface de entrada como critério, já que o IP não seria
> opção.
>
> Em Cisco funcionaria sim, basta configurar roteamento por origem
> adequadamente (idéia parecida com o que você precisará fazer com
> iproute no linux)
>
>
> Pergunta crucial que pode definir a forma exata de fazer: os IPs
> que vão no seu servidor Web são IPs públicos ofertados pelos ISPs, ou
> é IP inválido e seu pfsense faz redirecionamento de porta ??
>
>
> Em 28/01/11 10:54, spiderslack escreveu:
>> 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 ?
>>
>
>
__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/
More information about the gter
mailing list