Discuta este tópico no fórum

Se este conteúdo te ajudou, deixe um presente!

sexta-feira, 30 de março de 2012

OpenWRT: Balanceamento entre múltiplas conexões com a Internet

Mais um artigo da série sobre o OpenWRT. Neste artigo trato do uso de múltiplas conexões com a internet.

A internet é cada vez mais um recurso indispensável para o nosso dia a dia. Hoje, o computador muito mais um "terminal de acesso" do que um equipamento para executar programas locais. Tudo muito bom, tudo muito bem, até que, um belo dia, alguém chuta um cabo, pisa na fibra, cava um buraco... Uma das formas de mitigar os problemas de conexão com a internet é a utilização de múltiplas conexões com a internet, preferencialmente com infraestrutura e provedores independentes.

O uso de múltiplas conexões com a Internet (WAN) ainda não é muito comum em residências (exceto por alguns maníacos por download que conheço). Contudo, quando o número de clientes aumenta um pouco, o custo de ficar sem internet se torna muito maior do que o custo da contratação de uma conexão sobressalente com a internet. Principalmente em ambientes corporativos e internet em condomínios, a redundância já é a regra.

Existe soluções de mercado para implementar a redundância, algumas até com um custo bem interessante. Porém, ao invés de comprar um produto próprio, porque não utilizar o mesmo roteador que já roda o OpenWRT? Vale lembrar que não é muito recomendado usar um roteador de uso residencial para uma grande empresa. Nada contra o OpenWRT, que aguentaria a carga. O problema é a própria especificação do equipamento. Então, nada de colocar 1000 usuários no roteador de R$100, com alguns usuários de torrent. Provavelmente não vai ter memória suficiente.

O gerenciamento de múltiplas conexões é feito pelo programa no pacote multiwan. Existe também a opção do módulo da interface web para facilitar a configuração no pacote luci-app-multiwan que já instala como dependência o pacote anterior. Só instalar como é feito com qualquer outro pacote.

Um dos primeiros problemas para implementar o MultiWAN é o número de interfaces. Caso o roteador possua uma USB, pode-se utilizar um modem 3g para a segunda conexão. Normalmente, os roteadores possuem 3 interfaces: 1 porta de WAN, múltiplas portas para LAN e a rede sem fio. Como, em geral, é necessário conectar um cabo diretamente ao equipamento, o número de interfaces é insuficiente. Mas, como já escrevi anteriormente, se o roteador suportar, podemos dividir as portas LAN em redes isoladas e aproveitar cada uma das portas para a conexão com um provedor diferente.
Nota: Em alguns roteadores o recurso de VLAN é usado, por padrão, para separar as LAN das WAN. Um exemplo seria o TL- WR1043ND, onde a porta WAN e as LAN estão fisicamente em um mesmo "switch" e a separação é feita utilizando o recurso de VLAN.
Para balancear entre duas conexões com a internet e ainda manter o uso das demais portas locais é necessário separar uma das portas da LAN e configurá-la como uma nova interface. O mais comum, neste caso, é usar o nome WAN2 para esta nova interface (usar este nome vai facilitar mais adiante). Conecte o cabo e configure a nova interface WAN2, assim como também é feito para a WAN "original". Lembre-se de definir a zona do firewall para esta interface, em geral, zona wan.

No módulo de configuração da MultiWAN em "Rede/Multi-WAN", deve existir uma entrada para cada interface WAN. Se você manteve o padrão WAN e WAN2, ele já virá pre-configurado. Caso contrário, remova as configurações que não casam com o nomes de interface WAN e adicione novas configurações correspondentes.

Um ponto importante é definir qual método será utilizado para decidir que uma conexão está inoperante. O mais comum é "pingar" um servidor DNS externo, como o DNS do google (8.8.8.8 e 8.8.4.4). Alternativamente, pode ser testado a conectividade com o roteador da WAN que, na teoria, ficaria dentro da infraestrutura do provedor. Porém, este último não notaria uma falha mais sistêmica do provedor onde, apesar de não perder conexão na última milha com usuário, a saída deles para a internet está inoperante.

Existe dois métodos de distribuição da carga: Fast Balancer (melhor distribuição) e Load Balancer (melhor compatibilidade). Teste cada método para verificar o que se enquadra melhor para o seu caso. O primeiro utiliza recursos do firewall enquanto o segundo regras de roteamento.

Mas nem tudo são flores. Algumas páginas, principalmente de bancos, páginas com cookies, SSL, e-commerce são sensíveis a troca do endereço IP do cliente. Nestes casos, é bom criar exceções (no final da página de configuração da MultiWAN) definindo um outro algoritmo de balanceamento ou mesmo fixando a saída por uma interface. Enviar todo o HTTPS para um canal também pode ser útil.

Explore um pouco os parâmetros disponíveis para fazer o ajuste fino de suas configurações. Depois disto, basta ativar, salvar e aplicar.

Se for partir para o "modo texto", recomendo as páginas sobre o MultiWAN presentes na wiki do projeto.

Se quiser testar o MultiWAN mas não tem o privilégio de ter duas conexões WAN, pode similar as duas conexões usando um segundo roteador. Este segundo roteador pode fornecer conectividade internet por duas redes como, por exemplo, (192.168.1.0/24) e  (192.168.2.0/24) e o seu roteador de teste usar ambas como saída para a internet. Ele nem vai notar que são duas redes falsas.

Abraço pessoal,

52 comentários:

  1. Boa tarde, ótimo artigo, parabéns, gostaria de tirar uma dúvida, por acaso você conseguiu configurar o router com um modem 3g e utilizar o slot do microSD para extender a partição principal, e ainda continuar a utilizar a função do modem 3g?

    Obrigado!

    ResponderExcluir
    Respostas
    1. Nunca tentei esta configuração. Sei que se funciona em Linux, muito provavelmente irá funcionar no OpenWRT. O problema é que eu encontrei relatos de pessoas tentando e não conseguindo usar os dois modos no Linux:

      http://wiki.openwrt.org/doc/recipes/3gdongle
      http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=836

      Pelo que eu li por cima, o protocolo do modem, usado para acessar as funções de modem concomitante ao leitor SD, é proprietário. Eu testaria em um Linux para desktop. Se funcionar, basta instalar os módulos necessários.

      Excluir
  2. Otimos post!
    Por acaso vc viu o novo scrip mwan3?
    Poderia testar com esse novo e ver se tem alguma diferença notavel?
    Estou querendo instalar em meu wr1043nd, se vc fizer outro tutorial com o novo mwan3 seria excelente!
    Abraços...

    https://forum.openwrt.org/viewtopic.php?id=39052

    ResponderExcluir
    Respostas
    1. Vou testar quando chegar meu novo roteador. Aguarde!

      Excluir
    2. Henrique,

      Fiz o post sobre wman3.
      http://luizluca.blogspot.com.br/2014/12/openwrt-balanceamento-e-redundancia-da

      Abs

      Excluir
  3. Olá Luiz, primeiro quero parabenizar pelo blog. Excelentes tópicos..
    Cara que queria fazer balancemento utilizando mais de um modem 3g. Utilizando um hub usb, vc acha que consigo utilizar 2 ou 3 modens 3g? :D

    Obrigado.

    ResponderExcluir
    Respostas
    1. Sim, inclusive eu usei 4 modems 3g. Também era conhecida carinhosamente como como Hidra. O maior problema é a falta de energia. Você provavelmente precisará de um HUB com alimentação ou seus modems falharão bastante. Também a proximidade entre os modems pode não ajudar muito. Eu usei uma extensão USB para cada modem.

      Excluir
    2. Obrigado pela resposta Luca,
      então, eu queria por pelo menos uns 2 para usar no sítio do meu pai. Lá só com antena externa. Vou tentar fazer uma de parabólica. :) E a velocidade? Só aumenta com multiplas conexões neh? Ou será que é possivel fazer igual no windows com internets discadas, que dá pra dividir a informação e dobrar realmente a velocidade, até para conexões simples?

      obrigado.

      Excluir
    3. Julio,

      Em geral, "3g lento" é resultado de baixa qualidade do sinal de celular. A pŕopria camada de enlace possui retentativa de transmissão. Então, com a qualidade ruim, é comum obter uns pings com latência de 10s (10000ms). Dois modems não ajudariam. Pelo contrário, acho que poderiam atrapalhar. Com perda de pacote por link ruim (testado, em geral, com o ping), os links serão frequentemente marcados como desconectados.

      Uma antena externa, parabólica, etc pode ajudar mais. Primeiro você precisa de uma conexão confiável, com latência aceitável para depois pensar em duas conexões.

      Quanto a velocidade, o balanceamento rotaciona as conexões entre os links. Então, para cada conexão, você terá no máximo a velocidade de 1 link. Só se seu "download" fosse picado (como em um torrent) para usar os dois links. Para acesso pelo navegador a uma página, em geral, é usada somente uma conexão. Ainda, a rotação, em geral, não considera a carga no link (tenho q ver como está a atual política de balanceamento nos scripts mwan). Por isto, a cada nova conexão, ele escolhe um link diferente. Então, se um dos links estiver argolado, metade das tentativas de conexão serão ruins.

      Resumindo, melhore seu sinal que você terá melhores resultados.

      Abs

      Excluir
    4. Olá Luca, muito obrigado pela resposta.
      Vou tentar usar o 3g somente com um modem então, e depois vejo se compensa utilizar dois.

      Abraço e sucesso no blog!
      até.

      Excluir
  4. Olá, Luiz! Tenho um TP-Link WR703N que conta apenas com uma porta Wireless e uma porta ethernet. Eu gostaria de usar a interface wireless como uma Wan e a porta ethernet como outra WAN. A minha pergunta é: nessa configuração eu ficaria se meios de acessar as configurações do roteador ou poderia gerenciar o openwrt através das portas wan?

    ResponderExcluir
    Respostas
    1. Sim, poderia. Só liberar os acessos no firewall. Claro, você terá que conhecer o IP da WAN, que em geral é fornecido por DHCP e é um endereço IP da internet.

      Uma dúvida: se ambas forem WAN, quem seria a LAN? Uma outra rede pela Wireless? Você também pode gerenciar pela Wireless.

      Excluir
  5. Então, o que pretendo é colocar as duas wan's em Load Balance para o servidor de torrent que vai rodar no WR703N. Não teria Lan. O arranjo ficaria o seguinte:

    WR703N+HD = Torrent server
    Wireless (WAN1) ---> Conectado a rede de um vizinho (Rede que não tenho acesso direto, não gerencio)
    Ethernet (WAN2) ---> Conetado ao meu roteador, que gerencia a minha rede.


    No caso, eu poderia fazer um redirecionamento de porta no roteador da minha rede e criar um "IP fixo" através de um serviço como Dyndns para poder acessar o servidor torrent via internet?

    ResponderExcluir
    Respostas
    1. No OpenWRt, LAN/WAN são somente padronizações de nomes com configurações iniciais que atendem a maioria dos casos. A WAN é protegida por firewall, a LAN não, e o roteamento da LAN para WAN é permitido e fazendo NAT. WAN normalmente é conf por DHCP e LAN por ip fixo. E, em geral, existe um DHCP na rede LAN.

      WAN faz sentido quando você opera como um roteador, principalmente com NAT. No seu caso, recomendo criar duas redes LAN separadas. Uma delas LAN-vizinho, você irá usar a wireless em modo cliente e conectada no ap alheio, IP por DHCP (provavelmente). Na outra LAN, você configura para usar somente a interface cabeada e IP a vontade (fixo ou DHCP). Só lembre de ignorar o servidor DHCP para todas as redes neste roteador.

      Poderia também usar a rede do vizinho como WAN? Sim, sem problemas. Só seria bom desativar o encaminhamento de pacotes (roteamento), mascaramento de endereços (NAT) e, talvez, o firewall. Porém, desta forma, você terá apenas uma outra LAN com o nome de WAN.

      Creio que não seja a intenção proteger por firewall qualquer uma das redes. Na configuração o MWAN, lembre-se de trocar o nome da rede wan e wan2 para o nome destas duas redes.

      Excluir
    2. Agora entendi a diferença entre a Lan/wan. No caso, você ta dizendo para eu efetuar configuração do modo que eu havia dito anteriormente, desativando o nat e o firewall, certo? Por enquanto só estou analisando as possibilidades, ainda não cheguei a esse ponto, então o meu conhecimento ainda é meio superficial. Estou seguindo os seus tutoriais e ainda estou trabalhando o servidor Torrent. Mudando de assunto... Estendi o root para um pendriver. Inicialmente criei uma partição de 1gb e fiz todo o processo e funcionou beleza. Agora tentei criar o Swap usando o mesmo pendriver, criando uma segunda partição de 512mb formatada como Linux Swap, mas, quando eu conecto o pendriver, o roteador reinicia, e o sistema fica inacessível. Só volta a funcionar com o Pendriver conectado, se eu apagar a partição Swap, ou sem o pendriver. O que poderia ser isso? Muito obrigado pela atenção!

      Excluir
    3. Desativar a NAT, encaminhamento e firewall é mais para desligar algo que você não precisa. Se simplesmente colocasse as interfaces wan e wan2 na "zona lan" do firewall seria como se elas fossem transformadas em LAN. Por isto que eu falei em criar duas LANs e não duas WANs. Não faz diferença como você chama elas. É só que você não precisa se proteger por um firewall e nem vai rotear pacotes. O que realmente é necessário é o firewall, desativar o servidor dhcp, configuração IP das duas e, claro, o balanceamento com mwan.

      Quando a swap, tente desativar as opções em autoswap. Pode ser isto. Eu uso esta configuração:

      config global automount
      option from_fstab 0
      option anon_mount 0

      config global autoswap
      option from_fstab 0
      option anon_swap 0

      config mount
      option target /mnt/usb-dados
      option label "usb-dados"
      option fstype ext4
      option options rw,sync
      option enabled 1
      option enabled_fsck 0

      config swap
      option label "usb-swap"
      option enabled 1

      config mount
      option target /overlay
      option label "openwrt-extroot"
      option fstype ext3
      option options rw,sync
      option enabled 1
      option enabled_fsck 0

      São 3 partições: uma para dados, uma para swap e outra para aumentar o disco interno.

      Se configurar um servidor syslog remoto, você também pode ter alguma dica do que está acontecendo.

      Excluir
  6. Excelente artigo amigo. Poderia me dar uma orientação?
    Sou professor de uma escola estadual e queremos colocar o sinal wi-fi em todo prédio. Trata-se de uma construção antiga de muitas paredes grossas e maciças, de 3 andares, onde temos 6 salas por andar num terreno de aproximadamente 70m x 120m. Poderia sugerir algum equipamento, lembrando que o orçamento escolar não é muito largo? rsrs

    Ha, não sei se é possivel mas um professor sugeriu que procurasse-mos uma maneira de cada um ter seu proprio login para a rede, como se fosse num sistema de lan house... da pra fazer isso?

    Abraço e desde ja, obrigado.

    Att, Prof. Márcio

    ResponderExcluir
    Respostas
    1. Me esqueci de dizer que a rede já é roteada e que precisamos monitorar os acessos para ver e restringir os conteudos visualizados pelos alunos...

      Excluir
    2. Márcio,

      O ideal é ter a mesma configuração de segurança em todos os roteadores. Assim alguém poderia passear pelo prédio sem perder conexão. O ideal, por ter muitos usuários, é usar autenticação por usuário/senha (WPA-enterprise) e não somente por senha. Neste caso você precisaria de um servidor radius.

      A restrição do conteúdo do acesso deve ser feita no roteador da internet e não nos equipamentos wireless. Pelo que eu entendi, provavelmente você precisa usar os equipamentos em modo AP e não como roteadores wireless.

      Quanto a modelos, se for usar openwrt, você poderia dar uma olhada nos tp-links. Caso contrário, o mercado é bem vasto. O ideal seria pegar emprestado no mercado alguns equipamentos e testar, para aquele modelo, quantos e onde devem ser instalados. Não existe fórmula mágica.

      Excluir
  7. Bom dia meu nome é Aguinaldo gostaria de pedir uma ajuda. Tenho uma lanHouse pequena no interior de São Paulo e aqui sofremos muito com internet de baixa qualidade. Agora tenho duas internet: uma speedy 1 mb e via radio 5 mb comprei um (Tp-Link TL-R470T+) e eu mesmo que configurei com muito sacrifício pois não tenho muito conhecimento, mas estou tendo muitos problemas, por exemplo, quando a via radio que é a principal fica muito lenta ninguém consegue navegar e não entra a outra, só entra quando a via radio cai ou vice-versa, gostaria de deixar se possível as duas ao mesmo tempo pra não perder a conexão e tb se der limitar em 50% a taxa de download nas maquinas e deixar só a minha do caixa liberada pra fazer download no valor total será que da pra fazer isso você poderia me ajudar. se puder manda um passo a passo pro meu e-mail: pz45@hotmail.com muito obrigado pela atenção

    ResponderExcluir
    Respostas
    1. Olá Aguinaldo.

      Acredito que você não está usando o OpenWRT pois não vi seu roteador na lista dos suportados. Este post é focado no balancemento de carga para sistemas com o OpenWRT. Pouco irá se aplicar ao seu caso. Como dica, se está lento para entrar nas páginas mas o download está rápido, pode ser que o DNS está sempre saindo por um dos links.

      Para as velocidades citadas, qualquer roteador simples, mas com openwrt, resolveria, a exemplo dos tl-wr1043nd. Mas acho que você precisaria de um auxílio de alguém para facilitar as coisas. Quanto a reserva de banda, sim, é possível (ao menos com OpenWRT. Porém para os requisitos que você apontou vai dar um bom trabalho de ajustes. Para você ter uma ideia: http://wiki.openwrt.org/doc/howto/packet.scheduler/packet.scheduler

      Excluir
  8. Não deu certo aqui. Tenho um modem adsl(interface WAN) e um 3g (interface CLARO), porém somente a ultima interface conectada é que funciona.

    ResponderExcluir
  9. Isto é sintoma que não funcionou o balanceamento. Faz tempo q não uso este tipo de conexão mas, pelo que lembro, existe nos logs do sistema informando a situação.

    Outra coisa: não espere ter a velocidade somada. O balanceamento é por conexão. Um download simples somente vai usar uma conexão. Múltiplos downloads podem usar as duas conexões.

    ResponderExcluir
  10. Eu tenho um internet de 10 Mbps, porém meu irmão e meu pai utilizam bastante o Netflix e a internet fica bastante lenta. Queria usar o balanceamento somente para o meu ip e para os outros equipamentos usaria apenas o sinal da wan.

    Não estou conseguindo identificar os logs desse problema. Vou refazer o procedimento aqui, devo ter feito alguma coisa errado.

    ResponderExcluir
    Respostas
    1. No seu caso, usar o balanceamento ainda deixará metade das suas conexões lentas.
      A solução é QoS. A interface do Luci deve ser suficiente para o seu caso. Se eu não me engano, luci-app-qos.

      Lembre-se de configurar a velocidade do link corretamente ou ligeiramente abaixo dela. Para funcionar, tem q ser a velocidade real e não a "fantasia". Ele vai limitar sua conexão a esta velocidade, mas quando alcançada (gargalo), vai priorizar o que VC configurar.

      Excluir
    2. Eu não expliquei bem.

      Eu coloquei meu pc com ip fixo. Iria configurar no MultiWan para que o trafego de dados para o meu ip seja load balancer e para os demais somente da interface wan (velox).

      Mas o QoS vai me atender bem, mas não quero compartilhar minha franquia da claro com ninguém...rsrs.

      Estou testando denovo o Multiwan, percebi que ele funciona uns 50 segundos depois falha. A interface WAN não funciona mais, apesar de estar conectado, e tenho que reconectar a WAN.

      No Status do Multiwan fica assim:

      wan (pppoe-wan) : KO - wan2 (3g-wan2) : OK

      Apr 4 00:47:43 OpenWrt user.notice multiwan: wan has recovered and is back online!
      Apr 4 00:48:13 OpenWrt daemon.info dnsmasq[21534]: reading /tmp/resolv.conf.auto
      Apr 4 00:48:13 OpenWrt daemon.info dnsmasq[21534]: using nameserver 208.67.220.220#53
      Apr 4 00:48:13 OpenWrt daemon.info dnsmasq[21534]: using nameserver 208.67.222.222#53
      Apr 4 00:48:13 OpenWrt daemon.info dnsmasq[21534]: using nameserver 200.222.123.102#53
      Apr 4 00:48:13 OpenWrt daemon.info dnsmasq[21534]: using nameserver 200.165.132.148#53
      Apr 4 00:48:13 OpenWrt daemon.info dnsmasq[21534]: using local addresses only for domain lan
      Apr 4 00:48:36 OpenWrt user.notice multiwan: wan has failed and is currently offline.

      Excluir
    3. Talvez seja o fato de VC usar pppoe, que é uma conexão PPP sobre ethernet. Talvez o multiwan não está preparado para esta situação e acaba modificando o sistema de uma forma a impedir a pppoe. Vai ser difícil debugar um problema destes...

      Para VC usar exclusivamente a claro do seu PC, o mais fácil seria criar uma segunda LAN e fazer encaminhamento apenas de/para wan2, nos moldes de LAN/wan atual. Se conectar na LAN 1, usará veloz, se conectar na lan2, claro. Daria para fazer o mesmo com roteamento pela origem, mas é bem mais complicado.

      Novamente, multiwan não deixará sua conexão 100% rápida se um dos links estiver lento. Metade dos pedidos de conexão ainda tentarão sair pelo link lento.

      Excluir
    4. Não tinha pensado em criar mais uma lan, vai me atender bem.

      Eu estava empolgado, porque durante o pouco tempo q o multiwan funciona eu consegui 1.7MB de transferencia no torrent.

      Estou utilizando um modem da technicolor td 5130 em modo bridge. Quando eu estava autenticando o velox pelo modem o torrent não funcionava :(.

      Excluir
  11. Luiz boa tarde,
    Gostaria de saber se tem como colocar uma das wans para liberação de portas, eu estou usando uma internet da oi e outra via rádio, e quero fazer o balanceamento, mas quando ligo as duas ele fecha as portas, será que tem jeito?
    desde já agradeço.

    ResponderExcluir
    Respostas
    1. "wans para liberação de portas"? Não entendi muito bem o que você quer dizer. Se for para criar um encaminhamento de porta para uma máquina interna, teoricamente deveria funcionar da mesma forma que o redirecionamento quando vc tem apenas 1 wan. Caso contrário, deve ser bug.

      Faça inicialmente um teste com apenas 1 wan para garantir que as confs estão ok. Se estiver funcionando, ative o balanceamento e teste novamente. Você pode também tentar criar duas regras: uma para cada wan.

      Nunca usei o trace do iptables no openwrt mas deve funcionar se estiver com o pacote instalado.
      http://backreference.org/2010/06/11/iptables-debugging/
      Ele pode dizer onde o pacote parou.

      Tenho um ambiente com encaminhamento de porta e balanceamento de carga pronto. Só estou esperando uma janela de oportunidade para poder testar. Acho que no máximo em duas semanas vou poder testar. Se for um problema genérico, eu também serei afetado.

      PS: uma consulta rápida mostrou que realmente existe o problema.
      https://www.google.com.br/search?q=openwrt+multi+wan+port+forwarding
      Aparentemente vai funcionar apenas para 1 das interfaces. Você pode arrumar isto manualmente com regras do iptables:
      https://forum.openwrt.org/viewtopic.php?pid=165525#p165525

      Ou tentar usar o mwan3
      http://wiki.openwrt.org/doc/howto/mwan3

      Excluir
  12. Obrigado pela resposta, seu blog e show.
    Então eu sou novato no mundo linux, vou ter que pesquisar um pouco sobre iptables, se não conseguir resolver ate o final de semana tentarei o mwan3 que me parece ser um pouco mais complexo pra instalar, mas lendo se chega la.
    obrigado novamente, se souber de mais algo para me ajudar fico muito grato.

    ResponderExcluir
    Respostas
    1. Boa noite, Instalei o mwan3 e está perfeito, balanceamento e regras de redirecionamento rodando liso.
      muito obrigado pelo seu retorno.
      Se precisar de mais algo pergunto rsrsrs.
      Abraços.

      Excluir
    2. Blz :-)

      Infelizmente o mwan3 ainda não está no repo principal. De qualquer forma, é bom saber que ele está funcionando bem.

      Excluir
  13. Boa tarde Luiz. Seria possível fazer o load balancing utilizando um modem 4G e a conexão via cabo?

    ResponderExcluir
    Respostas
    1. Sim. Só não sei se a diferença de latência entre as duas terá uma boa experiência. Exemplo: no primeiro clique no site, a resposta é rápida (via cabo), no segundo lento (via 4g). As pessoas normalmente sentem mais a diferença que a lentidão como um todo.

      Mas se a sua 4g é tão boa como a cabeada, pode fazer sem medo.

      Excluir
  14. Existe alguma forma de somar 2 links de internet de empresas diferentes? Mesmo que eu precise comprar algum equipamento.

    ResponderExcluir
    Respostas
    1. Marcelo,

      O interesse da configuração apresentada neste artigo é justamente juntar a conexão de duas empresas para aumentar a disponibilidade e a taxa de transmissão média. Usar a mesma empresa normalmente não é vantagem dois dois planos menores normalmente custam mais do que um maior com o dobro da velocidade.

      Quanto a equipamento, depende do seu tamanho. Para poucos clientes, um roteador comum resolveria. Para coisa como 1000 usuários, você irá precisar de um roteador de respeito ou usar um pc (inclusive VM). Tenho um ambiente para 1000 usuários, com duas conexões 40/40 balanceada sem problemas com o OpenWRT rodando como VM em ambiente XEN.

      Excluir
  15. Ola Luiz, recentemente instalei o openwrt em uma empresa com dois links. O wan e o LAN funcionam corretamente, mas o segundo link, em qualquer porfa que eu espete o cabo, não reconhece, mesmo criando uma VLAN específica praquela porta. Existe algum macete?

    ResponderExcluir
    Respostas
    1. Primeiro faça a segunda internet funcionar sem a primeira. Esse é o primeiro macete. Se ligar as duas, inicialmente só uma será usada para a saída de tráfego.

      Não tem mistério: cria uma nova vlan 3, coloca como untagged em uma das antigas portas LAN, como tagged na CPU. Cria uma nova interface wan2 usando o dispositivo eth0.3. Coloca a wan2 na zona do firewall wan.

      Excluir
  16. Excelente artigo. Coloquei o OpenWrt em um roteador Tp link wr741nd. Tudo funcionando, exceto por um problema: via wifi no meu celular (zenfone 2) as vezes da o erro dns_probe_finished_no_internet e sou obrigado a desligar e ligar novamente o wifi do celular. Aí volta funcionar. Via cabo e no notebook funciona sem problemas, inclusive com redundância e balanceamento de carga.
    Já tentei de tudo, mas nada resolveu. Tentei IP fixo no celular, colocar DNS alternativo no openwrt e nada. Já viu algo parecido?

    ResponderExcluir
    Respostas
    1. Estou usando a versão 14.07 com mwan3, com duas wans, uma no wifi outra no cabo e um rede WiFi na lan. Já tentei outras versões usando multiwan tb. Liberei todas as portas do firewall. O negócio só da problema no wifi.

      Excluir
    2. Alex Kidd (clássico!), o uso para duas redes simultâneamente pode ser a causa. Se desligar o mwan3 e deixar somente a wifi, talvez você ainda tenha o mesmo problema. Tente verificar o estado da conexão com a internet do celular usando um terminal. Verifique o dns e conectividade (ping 8.8.8.8).

      Teste cada uma das redes wan isoladamente. Talvez a wan wifi tem sinal fraco e está perdendo conectividade frequentemente. O wan3 não é adequado para quedas rápidas e frequentes pois ele testa a conexão com uma certa tolerância. Assim, a wifi wan cai e volta sem o mwan3 notar, gerando instabilidade nos clientes

      Excluir
    3. Fala Luiz. Clássico dos clássicos!! Bem, quando desligo o mwan3 tudo funciona perfeitamente, mas sem balanceamento. Consigo pingar o 8.8.8.8 tanto na wan quanto na wan2. Quando ligo o mwan3, a rede lan via cabo funciona perfeitamente, balanceando a conexão.
      O que acontece: quando ligo meu celular no wifi, as vezes a conexão para, sendo que nem o router eu consigo acessar. Aí sou obrigado a ligar e desligar o wifi, mesmo estando ao lado do roteador. Mas enquanto não para, o balanceamento funciona perfeitamente. Não sei o que acontece, pois isso o problema aparece apenas no meu celular. No meu notebook, tudo funciona perfeitamente, balanceamento e conexão não param.
      Não sei se fui muito claro...

      Excluir
    4. Ah, as duas wans estão com sinais fortes.

      Excluir
    5. Bem, sugiro que tente diagnosticar o que funciona ou não no celular durante a situação de falha. Veja se ele pinga o roteador, se resolve um nome, se pinga a internet.

      Como as duas redes wan2 e wlan compartilham a wifi, o tráfego de uma congestiona a outra pois você só tem um rádio. Por isto a dúvida se ocorre usando as wifi e sem o mwan.

      dns_probe_finished_no_internet não quer dizer muito além de "eu tentei resolver um nome, esperei um tempo e não tive resposta. Possivelmente você está sem internet".

      Excluir
    6. Resolvi. Tirei a stock ROM com Lollipop 5.0 do Zenfone 2 e instalei o Cyanogenmod com o Android 6.0.1. A rede WiFi não trava mais, ficou perfeito. Valeu Luiz, abraço.

      Excluir
  17. Caro Luiz,

    Preciso fazer uma transmissão ao vivo para o YouTube (usando Open Broadcaster Studio - http://obsproject.com) em um local cuja conexão ADSL é sabidamente limitada (instável e com upload lento).

    Pensei em usar meu modem 4G para load balance, mas ao ler seu post e a documentação do OpenWRT fiquei na dúvida sobre a efetividade dessa configuração. Afinal, o que preciso é que a sessão de streaming funcione de forma estável ao longo de algumas horas. O script multiwan escolheria uma das duas conexões para a minha sessão e usaria somente ela, correto? Ou os pacotes podem ser divididos entre ambas?

    Existe alguma outra solução usando OpenWRT para esse caso? Meu roteador de casa é um TL-WDR4300, pretendo utilizá-lo ligado à LAN do local por cabo Ethernet.

    Desde já muito obrigado pela atenção e pelo excelente blog!!

    ResponderExcluir
    Respostas
    1. Chicão,

      Sim, para uma conexão, só usaria uma saída. E se precisar trocar de saída, vai exigir uma reconexão.
      Não é limitação do OpenWRT mas da sua internet. Para ter redundância ou mesmo balanceamento sem interrupção, só tendo uma faixa de endereço IP sua e divulgá-la por protocolo de roteamento. Mas isso só para empresas.

      Excluir
  18. Luiz Angelo, você poderia ajudar (consultoria) a respeito do balanceamento de carga em uma rede com dois links e uma RB750Gen3 com Openwrt na última compilação estável. Estou apanhando para criar essa rede. Sou leigo nessa área.

    ResponderExcluir
    Respostas
    1. Olá Luiz Fernando, não sei se é excesso de modéstia ou realmente você está fora da sua área. Configurar um roteador com links redundantes no OpenWrt é normalmente algo simples para quem tem alguma base de redes. Se não for seu caso, talvez seja melhor procurar um apoio local. Não costumo fazer consultorias neste porte pois o custo normalmente está fora das expectativas de ao menos um dos lados. A ideia desses conteúdos é do tipo "faça você mesmo". Se estiver com uma dúvida específica eu posso tentar ajudar.

      Excluir
    2. Luiz, boa noite. Consegui fazer o balanceamento de carga sem muita dificuldade em IPV4. No entanto não consigo fazer multhoming em ipv6. Você já teve algum sucesso nessa área. Detalhe... separei os quatro links, dois ipv4 e dois ipv6. Mas o ipv6 funciona até a RB, mas não delega para os hosts como sendo um prefixo válido ou gerenciavel.

      Excluir
    3. É mais complicado para IPv6. A solução limpa é passar ambos os prefixos e deixar o cliente resolver com TCP multipath. Porém, acho que leva uns 10 anos para as tecnologias amadurecerem.

      O trabalho do mwan3 é escolher o caminho e isso e faz tanto IPv4 como IPv6. No IPv4, normalmente já temos uma NAT para mascarar o endereço falso para o endereço do provedor e tudo funciona bem. No IPv6 nunca temos uma NAT funcionando e você terá que configurar no firewall por fora do mwan3. Você precisa fazer a troca do endereço quando o prefixo de origem da rede interna não corresponder o link escolhido pelo mwan3.

      Primeiro divulgue prefixos reais para a rede local (um ou todos). Usar só ULA é dor de cabeça pois na maioria dos clientes darão prioridade ao IPv4. Depois configure o mwan3 como no IPv4. Por fim, crie regras no iptables para trocar o prefixo (NETMAP) ou mascarar com o endereço do roteador (MASQ) para utilizar endereços relativos ao link escolhido. Não use NPT pois quebra o firewall por causa do conntrack. Neste ponto é bom cuidar da rotas default pois nas configurações dinâmicas ela vem com um filtro de origem (default from...) No meu caso eu tenho rotas estáticas e não vejo esse tipo de problema.

      Como regra geral, abuse do tcpdump+Wireshark e do trace do iptables.

      Excluir