Balanceamento de links + redundância + acesso remoto + sites de bancos
Após instalar o balanceamento e redundância adquirido na internet e modificado conforme minha necessidade, acabei me deparando com alguns problemas, como acessar bancos online que utilizam portas seguras e fazer acesso remoto na minha rede interna. Como não achei nada na internet referente ao meu caso, decidi colocar aqui algumas dicas úteis.
Tenho uma rede com aproximadamente 20 computadores, todos as estações Windows XP, cada estação tem o Radmin 3 instalado para acesso remoto.
Partirei do princípio que a instalação e configuração das ferramentas foram bem sucedidas, pois existe muita informação na internet de como proceder, então não vejo por que explicar aqui. Vou apenas colocar as modificações que achei necessário para funcionar de acordo com as minhas necessidades.
Para esta implementação foram usados:
Iptables v. 1.4.2
Kernel v. 2.6.24-etchnhalf.1-486
Distro. Debian 4.0
Característica da rede:
Link 1 = ETH1 = IP 192.168.1.10 GVT
Link 2 = ETH2 = IP 192.168.2.10 BRT
Link 3 = ETH0 = IP 192.168.0.1 (rede interna)
Cada estação possui ip fixo e dispõe de uma porta para conexão remota, ex.: 192.168.0.3 - porta de acesso do radmin 4893.
O programa cliente Radmin 3 possibilita escanear todas as estações cadastradas, é necessário apenas configurar o ip e porta da estação, no caso o acesso externo é feito por meio do serviço de DNS dinâmico.
Ferramentas
Utilizei o método de balanceamento retirado do site abaixo, que explica como instalar o balanceamento e redundância.
#1Comentário enviado por c.rafael em 19/11/2008 - 15:20h
info24hs ,
Muito bom, .......
quantos dias sem dormi? hehhehehe
teve que quebrar a cabeça para ficar tudo 100%.
#2Comentário enviado por wellington79 em 19/11/2008 - 17:20h
Parabens muito legal !!! Vou tentar implementar ele aqui ...
#3Comentário enviado por bluesball em 20/11/2008 - 09:49h
pergunta boba... mas como sou iniciante nesse assunto....ai vai:
os meus link sao iguais em termos de velocidade...
aqui:
#A regra abaixo é responsável pelo balanceamento com peso 2:1, porque a gvt é 2x mais rápida que o link da brt
ip route add default scope global nexthop via 192.168.1.1 dev eth1 weight 2 nexthop via 192.168.2.1 dev eth2 weight 1
basta eu alterar o weight 2 pra weight 1 pra ficar com peso de 1:1???
#4Comentário enviado por info24hs em 20/11/2008 - 10:21h
Exatamente meu amigo, não esqueça de alterar no rc.local e no gwping
Abraço..
#5Comentário enviado por remontti em 21/11/2008 - 09:52h
Parabéns ficou bom!!!
To ainda com as suas conf no meu pc =P
Quero ver se aplico ela aqui quando surgir algo assim...
Ficou show!
#6Comentário enviado por downloadd em 21/11/2008 - 13:37h
Dúvidas:
1. Porque você teve que marcar os pacotes?
2. Esta faltando o comando ping no script de redundâcia, não?
#7Comentário enviado por info24hs em 21/11/2008 - 14:07h
1- Optei por específicar a saída dos pacotes para forçar a saída por determinado link, no caso da porta 80 e 443 são portas de acesso a bancos, se eu não tivesse marcado elas daria problema nas conexões seguras com os, pra vc entender:
O primeiro contato é feito pela porta 80 depois muda para a porta 443 usando o link1 depois muda para o link2 ai o banco bloqueia.
Por isso é necessário garantir que a porta 80 e a 443 saiam pelo mesmo link sempre. Pelo que pude notar no caso do banrisul é mais problemático ainda, na propria abertura da pagina principal ja dá problema antes mesmo que começar uma conexão segura..
No caso das portas 110 (POP3), 25 (SMTP) optei em forçar para o link diferente do 80 para deixar mais livre do trafego dos email pesados com bobagens.
Em resumo não há balanceamento para essas portas marcadas...
#8Comentário enviado por downloadd em 24/11/2008 - 01:30h
ah sim, nestes casos é preciso marcar os pacotes mesmo...
Você sabe se é possível especificar um range de portas que sairá por um link? Ou tenho que fazer porta por porta mesmo?
valeu
#9Comentário enviado por info24hs em 24/11/2008 - 08:31h
Tem como sim, tipo:
iptables -A PREROUTING -t mangle -s 192.168.0.1,192.168.0.2 -d 0/0 -j MARK --set-mark 10
por ai vai..
#10Comentário enviado por pliniodemarco em 25/11/2008 - 10:43h
Quero fazer algo parecido.
Não seria melhor utilizar os modens em modo bridge e o servidor ficar direto com o IP propagável em vez de deixar ambos como router e ainda ter o servidor?
Qual motivo que levou voce a deixar assim?
Obrigado.
#11Comentário enviado por info24hs em 25/11/2008 - 10:49h
É uma questão de gosto, teria vários motivos para te dizer o que me leva a esta configuração.. sempre preferi usar modem adsl em modo router...
#12Comentário enviado por netstryker em 16/03/2009 - 14:13h
Excelente artigo, muito útil pra minha situação atual.
Sou muito leigo em Linux e estou investindo pesado para aprender mais, porém estou precisando fazer esse balanceamento na empresa em que trabalho.
1) Para o cenário que você explicou aqui, como eu deveria configurar a minha interface de rede "/etc/network/interfaces"?
2) Tenho dois links NET Virtua de 12MB com IP's dinâmicos. Preciso fazer não só o balanceamento, mas também a rede da empresa, cada máquina terá que ter seu próprio IP, pois terei que fazer um proxy e configurar certas regras para cada usuário. Neste cenário há algo que eu deva mudar ou adaptar, ou do jeito que você ensina funcionaria?
3) Para eu ter uma rede interna com cada máquina de usuário com IP e ainda utilizar um proxy, a eth2, que no meu caso será a rede interna tem que estar configurada como DHCP ou IP fixo?
Me ajude por favor, pois estou na maior pressão para terminar esse servidor aqui.
Obrigado!
#13Comentário enviado por info24hs em 16/03/2009 - 22:14h
Esse método é feito para quem tem ip fixo, se vc procurar na internet existe um script para ips dinamico da velox e talvez possa adaptar, em todo o caso poderia comprar 2 roteadores para ligar nos modens da virtua para ter ip fixo.
Sua rede interna (eth2) deve ser configurada com ip fixo.
Procure mais informações sobre redes, como compartilhar a internet no linux, dhcp3, bind, iptables, iproute, squid... existe muita documentação disponível..
Espero ter ajudado...
Qualquer coisa estamos ai..
Abraço e valeu.
#14Comentário enviado por netstryker em 13/04/2009 - 16:44h
Obrigado pela sua resposta, mas quando eu disse que sou leigo, não sou tanto assim, entendo bem de redes, mas de Windows e quase nada de Linux. Eu sei que o seu tutorial é para IP's fixos, porém, cada modem do Virtua está ligado ao seu próprio roteador com IP LAN fixo. Eu fiz tudo exatamente como você explica e a minha situação não necessita de adaptação, pois é exatamente igual a explicada por você. A única coisa que mudei foi os nomes dos provedores, onde substituí tudo que estava GVT por VIRTUA1 e BRT por VIRTUA2, mas tive o cuidado de alterar tudo corretamente em cada arquivo de configuração. Também optei por não usar o Radmin 3 por não haver interesse na empresa a acesso remoto.
O servidor está OK, link 1 do Virtua na eth1, link 2 do Virtua na eth2 e a eth0 configurada com o seguinte IP 192.168.0.1, que é a rede interna. Navego na internet sem problemas pelo Firefox do servidor com os dois links em balanceamento, mas quando configuro os gateways das máquinas cliente na rede, apontando para o IP da eth0 192.168.0.1, as máquinas não acessam a internet.
Não sei se há algo de errado nas configurações dos meus arquivos do Linux, o qual já revisei umas três vezes, ou se estou fazendo algo de errado na configuração das máquinas cliente Windows, o que acho pouquíssimo provável.
Preciso saber também, baseado nas corretas configurações dos arquivos do Linux, como devo configurar corretamente as máquinas cliente Windows?
Em um futuro muito próximo terei que fazar o proxy com o Squid, mas para tal devo resolver esse problema primeiro.
Eu poderia te mandar por e-mail os meus arquivos de configuração e os screenshots para que você verifique se há algo de errado??
Eu te peço ajuda pois não tenho mais a quem recorrer e estou sendo muito pressionado aqui na empresa para solucionar isso.
Desde já te agradeço. Abraço!
#15Comentário enviado por info24hs em 13/04/2009 - 17:26h
cara instala o bind9, acho que é isso que ta te faltando, e no arquivo resolv.conf coloca 127.0.0.1
fica a vontade para enviar seus arquivos.
abraço.
#16Comentário enviado por netstryker em 14/04/2009 - 16:20h
Obrigado pela sua sugestão, mas o bind9 já estava instalado, porém eu não fiz nenhuma configuração nele por não saber como. Apenas adicionei o 127.0.0.1 no resolv.conf mas não adiantou, acredito que seja algum problema em algum arquivo de configuração do balanceamento.
Eu te mandei de manhã os meus arquivos de configuração para o seu e-mail informado aqui, o do IG, agora só me resta esperar a sua resposta depois de analisar os arquivos, pois não sei mais o que fazer.
Lembre-se, sinta-se a vontade para modificar corrigindo o que for necessário.
Uma pergunta, eu terei que usar o servidor DHCP do Linux também??
Mais uma vez obrigado pela ajuda, abraço!!
#17Comentário enviado por info24hs em 14/04/2009 - 20:53h
Pelo que lí no seu arquivo de configuração do firewall esta faltando a regra de compartilhamento de internet, interessante ter o bind9 e o dhcp3 instalado.
O bind já vem pré-configurado só precisa ter ele rodando..
O arquivo /etc/resolv.conf deve estar somente com a linha "nameserver 127.0.0.1" sem aspas
Quanto as máquinas windows precisa configurar o ip, mascara, gateway e dns (192.168.0.1)
Procure ler mais sobre compartilhamento de internet no linux
#18Comentário enviado por netstryker em 15/04/2009 - 09:49h
OK, mais uma vez obrigado!
- Não vou alterar as configurações do bind9 e o deixarei rodando com as pré-configurações padrão...
- O "resolv.conf" já está como você me informou
- Vou instalar o dhcp3, mas é necessário configurá-lo, ou ele já vem pré-configurado como o bind9?
- Quanto as configurações das máquinas Windows OK
Hoje é o último dia que tenho aqui na empresa para conseguir resolver este problema, por favor, seria possível você me informar a regra de compartilhamento de internet que está faltando no meu arquivo de firewall, o "firewall.sh". Eu não terei tempo hábil de pesquisar sobre isso, pois como eu falei, meu prazo acaba hoje.
Por fim, você saberia me indicar uma matéria, tutorial, qualquer coisa de boa qualidade que ensine sobre compartilhamento de internet no linux?
Obrigado!
#19Comentário enviado por info24hs em 15/04/2009 - 13:28h
Cara me contacte no msn que te dou as dicas, quanto aos lugares de pesquisa, vc esta no site certo VOL, pode pesquisar tmb no under linux, precisa tmb configurar o dhcp3 ele não vem pré configurado.
cristianoql@hotmail.com
#20Comentário enviado por rodrigoow em 12/05/2009 - 13:14h
Olá, estou implementando esse artigo em um debian 5.0 lenny
Quando executo o gwping, aparece esse erro:
./gwping
Switching to adsl
RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory
./gwping: line 25: syntax error near unexpected token `elif'
./gwping: line 25: `elif [[ $LLS1 -eq 0 && $LLS2 -eq 1 ]]; then '
O que pode ser??
----------------EDIT----------
Baixei o script novamente e tudo certo.
#21Comentário enviado por vinicius_argolo em 14/06/2009 - 20:45h
É possível implementar um controle de banda nesse exemplo?
#22Comentário enviado por info24hs em 14/06/2009 - 21:39h
Sim, tenho rodando com gerenciamento de 3 interface.
#23Comentário enviado por kleberdexter em 09/10/2009 - 11:07h
E ae cara tudo blza?
Cara no seu firewall vc fez - iptables -t nat -A POSTROUTING -o $ETH -s $LAN -j MASQUERADE - , assim vc faz nat da rede inteira correto?
Seguinte , se eu tiver usando o squid , ai eu farei ao inves do nat total somente um multiports das portas necessárias(25,110 etc) pq se eu fizer nat total da rede o pessoal vai acessar a internet sem passar pelo squid...
até ai tudo bem...
dessa forma o squid ira entrar no balanceamento?
desde já, obrigado.
#24Comentário enviado por tosko em 05/07/2010 - 10:45h
me explica uma coisa, porque vc fez o balanceamento dos links no começo do seu artigo (ip route add default scope global nexthop via 192.168.1.1 dev eth1 weight 2 nexthop via 192.168.2.1 dev eth2 weight 1) sendo que depois vc faz um script que determinados pacotes vai passar por tal porta e outros pacotes passem por outra (80, 443, 110,...). de nada vai te valer este balanceamento no começo se depois os pacotes vão ter rotas especificas para passar.
outra coisinha:
# Fundamental estar desabilitado para funcionar o roteamento com 2 links
echo "0" > /proc/sys/net/ipv4/conf/default/rp_filter
porque tem que estar desbilitado o rp_filter?
#25Comentário enviado por removido em 24/10/2010 - 21:26h
@tosko
1- como ele já disse em um comentario acima, ele OPTOU por especificar as saidas dos pacotes, se você não quiser especificar não precisa.
2- o rp_filter tem que estar desabilitado pois se não o linux detecta o iproute2 como IP spoofing.
#26Comentário enviado por jlpnge em 06/01/2011 - 20:07h
Primeiramente Parabéns pelo artigo muito bem explicado muito bom mesmo
to com uma duvida estou tentando ajuntar em um mesmo servidor linux Ubunut 10.10 Server 2 links adsl este script funciona no unbuntu tenho que trocar alguns comandos ou não
#27Comentário enviado por julio.cardoso em 27/03/2011 - 09:00h
Bom dia!
Tambem tenho uma situação parecida.
Tenho dois links de velocidades iguais,porem um deles, tenho ip real, o qual utilizo muitos serviços nele. Porem quando ativei o outro link, coloquei peso 1:1 e verifiquei que o acesso externo que antes do balanceamento era normal, agora nao consigo.
Sera que a solução seria colocar o peso 2:1 para o link onde tenho o ip real ?
Abraços
#28Comentário enviado por joorlando3 em 22/09/2011 - 17:01h
Bom dia!
Muito obrigado por compartilhar essas informações muito importantes e esclarecedoras, me auxiliou muito para desenvolver um escript com balanceamento.
#29Comentário enviado por fajo em 04/07/2012 - 08:22h
Primeiramente, parabéns pelo artigo.
Tenho algumas dúvidas:
1º - A configuração faz a soma das velocidades dos 2 links?
2º - No caso das exceções(marcação de pacotes) não será feito balanceamento, correto?
3º - Se um link cair as marcações q estavam para este link serão distribuidas para o outro, ou não mais funcionarão até o link voltar?
4º - Eu fiz realizei essa configuração e estou notando que algumas vezes a conexão é resetada no meio do carregamento da página(não coloquei a porta 80 na marcação), acredito q seja por isso, mas, não fiz por receio da dúvida nº 2.
Grato
#30Comentário enviado por cgonzagaskill em 15/02/2014 - 09:49h
OLá Cristiano!
Parabéns pelo post.. Porém estou precisando realizar uma seguinte configuração!! um servidor debian 3(três) placa de rede e 1 uma para rede interna e as duas para acesso link adsl velox modens em bridge e ainda preciso garantir acesso externo. É possível realizar uma redundância garantindo o em caso de queda o outro link que estiver OK assuma automaticamente mesma da mesma operadora...
Atenciosamente
Carlos Gonzaga
#31Comentário enviado por giuseppeinfo em 25/02/2014 - 12:02h
Bom dia, desculpe se a minha pergunta é meio [*****] , vejam se estou correto , definimos a saída de porta 80, 443 pelo LINK X e caso esse link caia. Ele passa a responder pelo LINK Y ou teremos que mudar manualmente?
Obrigado
#32Comentário enviado por agmarjunior em 18/11/2015 - 10:12h
Bom dia!
No script gwping o que seria as variáveis abaixo:
$GW2
$EXTIF2
$GW1
$EXTIF1
De onde o script vai puxar essas informações?
Obrigado.
Preferências de cookies
Usamos cookies essenciais para manter o site funcionando. Cookies de estatísticas e anúncios só serão carregados se você permitir.
Muito bom, .......
quantos dias sem dormi? hehhehehe
teve que quebrar a cabeça para ficar tudo 100%.