Vous êtes sur la page 1sur 9

Balanceamento e Redundancia (2 Links)

Page 1 of 9

Nome do UsuSenha

Conectar

Registre-se

Home

Fruns

Blogs

Novidades

lbuns

Calendrio

Ajuda

Fale Co

Envios Recentes Mais Populares Blogs de Usurios

Tweetar Blogs

Curtir

Visite tambm: BR-Linux Viv

info24hs

Balanceamento e Redundancia (2 Links)

info24hs
Balanceamento e Redundancia (2 Links)
por info24hsem 13-11-2008 s 11:25 (17038 Visualizaes)

0 Trackbacks

11 Coment

Servidor Dedicado Locaweb


Novos configuraes, mais baratas e com mais performance. Confira!
www.Locaweb.com.br/DataCenter

Contrato de suporte em TI
16 anos Pequenas e mdias empresas Equipe certificada Microsoft/Linux
www.skylan.com.br

Rede Ip
E1,IP Dedicado,VPN IP,PDTI,DDR. SP 3649-6508 RJ 2158-0800
www.pabxtelefonica.com.br

Introduo Aps instalar o Balanceamento e Redundancia adquirido na internet e modificado conforme minha necessidade, acabei deparando com alguns problemas, como acessar Bancos Online que utilizam portas seguras, e fazer Acesso Remoto na re interna. Partindo do principio que, a instalao e configurao das Ferramentas foram bem sucedidas, apenas vou comentar as modificaes que foram necessrias para funcionar de acordo.. 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 As estao possui ip fixo e dispe uma porta para conexo remota, ex.: 192.168.0.3 porta de acesso do radmin 4893 O programa radmin cliente 3 possibilita scanear todas as estaes cadastradas, apenas necessrio configurar o ip e port da estao.

http://under-linux.org/blogs/info24hs/balanceamento-e-redundancia-2-links-209/

28/2/2012

Balanceamento e Redundancia (2 Links)

Page 2 of 9

Nome do UsuSenha
Ferramentas

Conectar

Registre-se

Utilizei o mtodo de Balanceamento retirado do site abaixo, onde explica como instalar. Balanceamento e Redundancia retirado do Site How To: Load Balancing & Failover With Dual/ Multi WAN / ADSL / Cable Connections on Linux Script Gwping para Redundancia http://blog.taragana.com/wp-content/upload/gwping Programa Radmin 3 - Servidor e Cliente para Acesso Remoto estaes Windows http://www.radmin.com Iptables v. 1.4.2 Kernel v. 2.6.24-etchnhalf.1-486 Distro. Debian 4.0

Balanceamento de Link Criei as tabelas no arquivo rt_tables: ########################### rt_tables ########################## 1 gvt 2 brt

Adicionei as rotas padro para balancear a carga de sada do trfego, no meu caso utilizei os links da GVT e BRT, abaixo incluo as regras no arquivo rc.local: ########################### rc.local ########################### #Limpa as rotas no cache das tabelas ip route flush table gvt ip route flush table brt #Adiciona as rotas dos links para as tabelas ip route add 192.168.1.0/24 dev eth1 src 192.168.1.10 table gvt ip route add default via 192.168.1.1 table gvt ip route add 192.168.2.0/24 dev eth2 src 192.168.2.10 table brt ip route add default via 192.168.2.1 table brt #Adiciona a regra de marcao dos links nas tabelas ip rule add from 192.168.1.10 table gvt ip rule add from 192.168.2.10 table brt # Adcionando a Marcao e Prioridade para as Tabelas ip rule add fwmark 0x10 lookup gvt prio 3 ip rule add fwmark 0x20 lookup brt prio 3 #Esta regra abaixo responsvel pelo balancemento com peso 2:1, porque no meu caso a gvt 2x mais rpida que o link 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 #Limpa as rotas no cache ip route flush cache

Firewall ###################### firewall ###################### # Variveis para compartilhamento ### Multi WAN ### ETH="eth+" ### Rede Lan ### LAN="192.168.0.0/24" # Ativa o compartilhamento

http://under-linux.org/blogs/info24hs/balanceamento-e-redundancia-2-links-209/

28/2/2012

Balanceamento e Redundancia (2 Links)

Page 3 of 9

iptables -t nat -A POSTROUTING -o $ETH -s $LAN -j MASQUERADE Nome do Usu Senha Conectar Registre-se # Ativa acessos que podem ir de uma interface mas que voltam por outra # Fundamental estar desabilitado para funcionar o roteamento com 2 links. echo "0" > /proc/sys/net/ipv4/conf/default/rp_filter # Tempo mximo que o kernel espera at tentar uma nova rota quando perceber que a atual est morta. echo "10" > /proc/sys/net/ipv4/route/gc_timeout

Redundancia Agora vamos criar a chamada do script "gwping" que responsvel pela Redundancia, optei em coloca-lo na pasta /etc/lin e alterar as permisses do aquivo usando o comando: chmod 755 /etc/link/gwping #Adcione o comando no arquivo rc.local: nohup /etc/link/gwping & No script "gwping" fiz algumas alteraes conforme minha necessidade ###################### gwping ###################### #IP Address or domain name to ping. The script relies on the domain being pingable and always available ##Modifique para um endereo mais perto, ou seja mais rpido, neste caso usei o IP da GVT TESTIP=200.139.127.26 # Relative weights of routes. Keep this to a low integer value. ## Peso das rotas, como o link da Gvt 2x mais rpido que a BRT, deixei a proporo 2:1 W1=2 W2=1 # Broadband providers name; use your own names here. ## Mudei para o nome das minhas tabelas NAME1=GVT NAME2=BRT # No of repeats of success or failure before changing status of connection. ## No meu caso se houver 4 tentativas sem resposta o link desabilitado, uma tentativa com sucesso ele reabilida o link Assim o script no vai trocar a rota padro e achar que o link caiu quando houver sobrecarga. SUCCESSREPEATCOUNT=1 FAILUREREPEATCOUNT=4

## Abaixo acrescentei as regras para desmarcar os pacotes caso um link caia, assim os pacotes marcados no retornaram sem resposta. echo Switching to $NAME2 ip route replace default scope global via $GW2 dev $EXTIF2 #Deleta a Marcao e Prioridade para as Tabelas ip rule del fwmark 0x10 lookup gvt prio 3 ip rule del fwmark 0x20 lookup brt prio 3 #Limpa as rotas no cache ip route flush cache elif [[ $LLS1 -eq 0 && $LLS2 -eq 1 ]]; then echo Switching to $NAME1 ip route replace default scope global via $GW1 dev $EXTIF1 #Deleta a Marcao e Prioridade para as Tabelas ip rule del fwmark 0x10 lookup gvt prio 3 ip rule del fwmark 0x20 lookup brt prio 3 #Limpa as rotas no cache ip route flush cache elif [[ $LLS1 -eq 0 && $LLS2 -eq 0 ]]; then echo Restoring default load balancing #Adiciona a Marcao e Prioridade para as Tabelas ip rule add fwmark 0x10 lookup gvt prio 3 ip rule add fwmark 0x20 lookup brt prio 3 ip route replace default scope global nexthop via $GW1 dev $EXTIF1 weight $W1 nexthop via $GW2 dev $EXTIF2 weight $W2 #Limpa as rotas no cache ip route flush cache

http://under-linux.org/blogs/info24hs/balanceamento-e-redundancia-2-links-209/

28/2/2012

Balanceamento e Redundancia (2 Links)

Page 4 of 9

Configurando Portas para Acesso Remoto e Sites de Bancos

Nome do UsuSenha

Conectar

Registre-se

Configurando Portas da conexo interna para Acesso Remoto e Conexo Segura aos Bancos Ex. o acesso ao servidor remoto do IP 192.168.0.3 porta 4893 ####################### Firewall ###################### #Carregar modulos modprobe ipt_mark modprobe ipt_MARK #Marcando a sada das portas 110(POP3),25(SMTP) pelo link da BRT, as portas 80 e 443 (os bancos bradesco e banrisul), sairo pelo link da GVT, os demais destinos pela porta 80 sero balanceados. iptables -I PREROUTING -t mangle -i eth0 -s 192.168.0.0/24 -d 0/0 -p tcp -m multiport --dports 110,23,25 -j MARK --set mark 0x20 iptables -I PREROUTING -t mangle -i eth0 -s 192.168.0.0/24 -d bradesco.com.br -p tcp -m multiport --dports 80,443 -j MARK --set-mark 0x10 iptables -I PREROUTING -t mangle -i eth0 -s 192.168.0.0/24 -d banrisul.com.br -p tcp -m multiport --dports 80,443 -j MA --set-mark 0x10 iptables -I PREROUTING -t mangle -i eth0 -s 192.168.0.0/24 -d 0/0 -p tcp --dport 443 -j MARK --set-mark 0x10 #Permite o acesso a porta 4893 na estao windows da rede interna, marca a entrada e sada do link, nesse caso usei o l da Gvt iptables -I FORWARD -p tcp --dport 4893 -j ACCEPT iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 4893 -j DNAT --to-dest 192.168.0.3 iptables -t mangle -A PREROUTING -p tcp -s 192.168.0.3 --sport 4893 -j MARK --set-mark gvt

OBS: A marcao dos pacotes tambm devem estar no arquivo de redundncia, pois necessrio o script deletar e acrescentar as marcaes quando mudar o status dos links. Veja mais detalhes no Artigo: Balanceamento e Redundancia Links)

Atualizado 03-10-2009 em 11:35 por info24hs Tags: Nenhum Categorias:Linux , Balanceamento e Redundncia Enviar Post de Blog por E

Principal

Squid - Redirecionando a sada por determinado link

Comentrios
turbocell - 15-07-2009 19:34 Gostaria de saber se a possibilidade de Agrupar 3 links, e Sair todos por uma unica ETH (MIKROTIK) info24hs - 15-07-2009 20:56 Sim, no meu blog existe outro post com a parte 4 de como fazer o balanceamento e redundancia.. Nota que h situaes e necessidades que devem ser observadas e configuradas para garantir o funcionamento adequado da rede, e deste mtodo.. No Registrado - 27-07-2009 16:41 Boa tarde info24hs, Vi os seus posts, vc parece entender muito mesmo do assunto de balancear conexes. O me caso muito mais simples do que os que foram espostos (que eu no entendi muito bem). Na empresa onde eu trabalho o MSN e Orkut, entre outros, so bloqueados. Eu tenho internet 3G via celular, mas quando conecto perco a rede local para acessar os programas que preciso para trabalhar. Teria como usar a internet 3G do celular somente para MSN e Orkut? Meu email: [email]michaelufes@yahoo.com.br[/email]

http://under-linux.org/blogs/info24hs/balanceamento-e-redundancia-2-links-209/

28/2/2012

Balanceamento e Redundancia (2 Links)

Page 5 of 9

Obrigado!

Nome do UsuSenha

Conectar

Registre-se

info24hs - 28-07-2009 16:42


Postado originalmente por No Registrado

Boa tarde info24hs, Vi os seus posts, vc parece entender muito mesmo do assunto de balancear conexes. O meu caso muito mais simples do que os que foram espostos (que eu no entendi muito bem). Na empresa onde eu trabalho o MSN e Orkut, entre outros, so bloqueados. Eu tenho internet 3G via celular, mas quando conecto perco a rede local para acessar os programas que preciso para trabalhar. Teria como usar a internet 3G do celular somente para MSN e Orkut? Meu email: michaelufes@yahoo.com.br Obrigado!
Sim, parece que o problema refere-se a roteamento.. tambm necessrio realizar a marcao de pacotes para ter as duas redes trabalhando juntas e usar a internet em ambas leia sobre iproute, iptables.. No Registrado - 02-09-2009 20:48 Ol, Sou novo no mundo no software livre, aprendi bastante com os post's que vc colocou. Mas vamos l , minha duvida a seguinte tenho dois link's de internet de um mesmo provedor netvirtua, uso a distro SuSe precisava saber qual ferramenta posso usar para fazer o balanceamento dos meu dois link's de 15 Mb. Quero deixar um so para navegao e o outro dividido ao 1/2 metade para smtp e pop e downdoalds e uploads. Ja esto configurados e funcionando os links, coloquei um como gw 192.168.0.1 e o outro com 192.168.0 2. se poder me ajudar ficarei grato. Obrigado Vitor info24hs - 04-09-2009 09:41
Postado originalmente por No Registrado

Ol, Sou novo no mundo no software livre, aprendi bastante com os post's que vc colocou. Mas vamos l , minha duvida a seguinte tenho dois link's de internet de um mesmo provedor netvirtua, uso a distro SuSe precisava saber qual ferramenta posso usar para fazer o balanceamento dos meu dois link's de 15 Mb.

http://under-linux.org/blogs/info24hs/balanceamento-e-redundancia-2-links-209/

28/2/2012

Balanceamento e Redundancia (2 Links)

Page 6 of 9

SeNome vc leu artigos que usamos nesse mtodo o iptables e iproute2, so as duas doos Usu Senha vai ver Conectar Registre-se ferramentas principais para prover esta soluo..
Postado originalmente por No Registrado

Quero deixar um so para navegao e o outro dividido ao 1/2 metade para smtp e pop e downdoalds e uploads. Ja esto configurados e funcionando os links, coloquei um como gw 192.168.0.1 e o outro com 192.168.0 2. se poder me ajudar ficarei grato. Obrigado Vitor.
Usa marcao de pacotes com iptables para determinar a sada dos servios.. no artigo mostra como fazer... quanto dividir pela metade os servios smtp, pop, etc.. nunca fiz.. mas acredito que com Controle de Banda ou iptables possa fazer.. Abrao. Kleberdexter - 09-10-2009 10:50 Ol cara tudo bem? Cara s queria tirar uma duvida.... como vou usar squid no posso fazer nat completo como vc fez (# Ativa o compartilhamento iptables -t nat -A POSTROUTING -o $ETH -s $LAN -j MASQUERADE) Assim ao invs disso s usar um multiport pras demais portas n(110,25,21...etc) , mrnosd para 80 ...valew brother! veriton - 13-02-2010 14:34 Mano boa tarde. aki no meu Provedor possuo 3 links.. sendo eles.. 1 Embratel de 2 mb 2 velox de 5 mb eu queria saber se ah possibilidades de colocar os 2 velox para Download e o Embratel so para Navegaao.. ou se vc tem alguma outra dica mais viavel para atender com esses link uns 150 usuarios sem fica lento em hora nenhuma do dia.. abrao.. A Lusvarghi - 15-03-2010 16:47 Artigo muito bom! Parabns! germanomm - 19-06-2010 08:13 Muito interessante mesmo... achei massa... No conhecia esta funo: # Tempo mximo que o kernel espera at tentar uma nova rota quando perceber que a atua est morta.

http://under-linux.org/blogs/info24hs/balanceamento-e-redundancia-2-links-209/

28/2/2012

Balanceamento e Redundancia (2 Links)

Page 7 of 9

echo "10" > /proc/sys/net/ipv4/route/gc_timeout Nome do Usu Senha Conectar Registre-se No implementei, mas parabns pelo post. hugo.andrade - 09-09-2010 17:14 Cara, Otimo esse seu artigo... Justamente o que eu estava precisando no momento. so que me pintou uma duvida aqui. no meu caso eu ja tenho o iptables configurado com um link. como ficaria e meu script do iptables? olha ai como ele esta hj. #!/bin/sh internet="eth1 " redelocal="eth0" echo "####################ATIVA NDO IPTABLES###################### #" iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -F POSTROUTING -t nat iptables -F PREROUTING -t nat iptables -F -t nat echo "Limpando as regras .............................. ....[ OK ]" iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT echo "Politica Default das Cadeias ........................[ OK ]" echo echo echo echo echo echo "0" > /proc/sys/net/ipv4/ip_forward "1" > /proc/sys/net/ipv4/conf/all/rp_filter 0 > /proc/sys/net/ipv4/conf/all/accept_redirects 0 > /proc/sys/net/ipv4/conf/all/accept_source_route 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_respon ses 1 > /proc/sys/net/ipv4/tcp_syncookies

/sbin/modprobe iptable_nat /sbin/modprobe ip_conntrack /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp /sbin/modprobe ipt_LOG /sbin/modprobe ipt_REJECT /sbin/modprobe ipt_MASQUERADE /sbin/modprobe ip_nat_pptp echo "Carregando os modulos .............................. .[ OK ]" # Conectividade Social iptables -t nat -A PREROUTING -s 131.195.2.21 -d 0.0.0.0/0 -j ACCEPT #CONTABIL4 iptables -t nat -A PREROUTING -s 131.195.2.24 -d 0.0.0.0/0 -j ACCEPT #PESSOAL1 iptables -t nat -A PREROUTING -s 131.195.2.11 -d 0.0.0.0/0 -j ACCEPT #CPD-NOTEBOOK iptables -t nat -A PREROUTING -i eth0 -p tcp -d ! 200.201.174.0/24 --dport 80 -j REDIRECT to-port 3128 echo "Regras DP e Contabilidade ...........................[ OK ]" # PORTA 3128 - ACEITA PARA A REDE LOCAL iptables -A FORWARD -i $redelocal -p tcp --dport 3128 -j ACCEPT

http://under-linux.org/blogs/info24hs/balanceamento-e-redundancia-2-links-209/

28/2/2012

Balanceamento e Redundancia (2 Links)

Page 8 of 9

iptables -AUsu FORWARD -i $redelocal --dport 80 -j ACCEPT Nome do Senha Conectar -p tcp Registre-se # Redireciona porta 80 para 3128 (squid) iptables -t nat -A PREROUTING -i $redelocal -p tcp --dport 80 -j REDIRECT --to-port 3128 iptables -A FORWARD -i $redelocal -p tcp --dport 53 -j ACCEPT iptables -A FORWARD -i $redelocal -p udp --dport 53 -j ACCEPT iptables -A FORWARD -i $redelocal -p tcp --dport 110 -j ACCEPT iptables -A FORWARD -i $redelocal -p udp --dport 110 -j ACCEPT iptables -A FORWARD -i $redelocal -p tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -p udp --dport 443 -j ACCEPT iptables -A FORWARD -i $redelocal -p tcp --dport 443 -j ACCEPT iptables -A FORWARD -p tcp --dport 20 -j ACCEPT iptables -A INPUT -p tcp --syn --dport 22 -m recent --name sshattack --set iptables -A INPUT -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 hitcount 3 -j LOG --log-prefix 'SSH REJECT: ' iptables -A INPUT -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 hitcount 3 -j REJECT --reject-with tcp-reset iptables -A FORWARD -p tcp --syn --dport 22 -m recent --name sshattack --set iptables -A FORWARD -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j LOG --log-prefix 'SSH REJECT: ' iptables -A FORWARD -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j REJECT --reject-with tcp-reset iptables -A FORWARD -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A FORWARD -p tcp --dport 22 -j ACCEPT iptables -A FORWARD -p tcp --dport 3456 -j ACCEPT #RECEITANET iptables -A FORWARD -p tcp --dport 5006 -j ACCEPT #SICOOB iptables -A FORWARD -p tcp --dport 8080 -j ACCEPT #SICOOB iptables -A FORWARD -p tcp --dport 6330 -j ACCEPT #CHECKLINE iptables -A INPUT -i $internet -m state --state ! ESTABLISHED,RELATED -j DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT echo "Cadeia de Entrada .............................. .....[ OK ]" iptables -t nat -F POSTROUTING iptables -t nat -A POSTROUTING -o $internet -j MASQUERADE echo "Ativando o mascaramento .............................[ OK ]" iptables -A FORWARD -i $internet -j ACCEPT iptables -A FORWARD -o $internet -m state --state ESTABLISHED,RELATED -j ACCEPT echo "Ativando o acesso ftp.. .............................[ OK ]" #iptables -A INPUT -p all -j DROP #iptables -A FORWARD -p all -j DROP echo "Rejeitando saida e entrada ..........................[ OK ]" iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT echo "Quais sockets sao validos ...........................[ OK ]" # Prote contra tronjans iptables -A INPUT -p TCP -i iptables -A INPUT -p TCP -i iptables -A INPUT -p TCP -i iptables -A INPUT -p TCP -i iptables -A INPUT -p TCP -i iptables -A INPUT -p TCP -i iptables -A INPUT -p TCP -i iptables -A INPUT -p TCP -i iptables -A INPUT -p TCP -i iptables -A INPUT -p TCP -i $internet $internet $internet $internet $internet $internet $internet $internet $internet $internet --dport --dport --dport --dport --dport --dport --dport --dport --dport --dport 666 -j DROP 4000 -j DROP 6000 -j DROP 6006 -j DROP 16660 -j DROP 27444 -j DROP 27665 -j DROP 31335 -j DROP 34555 -j DROP 35555 -j DROP

http://under-linux.org/blogs/info24hs/balanceamento-e-redundancia-2-links-209/

28/2/2012

Balanceamento e Redundancia (2 Links)

Page 9 of 9

iptables -AUsu INPUT -p TCP -i Conectar $internet --dport 3128 -j DROP Nome do Senha Registre-se iptables -A INPUT -p TCP -i $internet --dport 8080 -j DROP iptables -A INPUT -p TCP -i $internet --dport telnet -j DROP iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP #iptables -A INPUT -i $internet -m unclean -j DROP iptables -A FORWARD -p tcp --dport 135 -i $internet -j REJECT iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT iptables -A FORWARD -o $internet -i $redelocal -j ACCEPT echo "Caregado tabela filter ............................. [ OK ]" echo "1" > /proc/sys/net/ipv4/ip_forward echo "##################FIM DE REGRAS IPTABLES####################" exit 0

Trackbacks
Total de Trackbacks 0 Nenhum outro blog faz referncia a este post de blog URL do Trackback: http://under-linux.org/blog_callback.php?b=209

http://under-linux.org/blogs/info24hs/balanceamento-e-redundancia-2-links-209/

28/2/2012

Vous aimerez peut-être aussi