Discuta este tópico no fórum

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

Mostrando postagens com marcador MultiLAN. Mostrar todas as postagens
Mostrando postagens com marcador MultiLAN. Mostrar todas as postagens

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,

quarta-feira, 1 de fevereiro de 2012

OpenWRT: Multiplique suas redes: MultiLAN com VLAN

Mais um artigo da série sobre o OpenWRT.

No artigo anterior, comentei sobre o uso de múltiplas redes wireless. Hoje, vou falar sobre múltiplas redes LAN.

Em geral, os roteadores possuem duas interface de rede cabeadas: LAN e WAN. A primeira representa as portas da rede local, normalmente umas 4 ou 5 delas. A segunda é utilizada para a conexão ao enlace superior, o que normalmente é a sua conexão com a Internet. Na figura abaixo, a porta azul é a WAN, enquanto as amarelas são para a conexão LAN.


Neste roteador com OpenWRT, a eth0 "representa" o acesso as várias portas da rede local (as amarelas). Fazendo uma analogia com um computador, o que existe "dentro da caixa" é um switch de 4 portas externas e uma interna (chamada CPU), sendo esta interna conectada à interface eth0.  A eth0, por padrão, é agregada com a interface wireless, wlan0, para que as duas redes troquem pacotes. Tudo isto já comentei anteriormente. A figura seguinte ilustra aproximadamente esta "rede interna".


Este arranjo também muda de equipamento para equipamento. Tem casos onde a porta WAN está neste switch e eth1 não existe, outros a wireless é eth1 e assim por diante.

Como qualquer interface de rede no OpenWRT, a sua finalidade pode ser reajustada de acordo com a necessidade do administrador. Caso não fosse necessário a conexão com a Internet, como no caso de um access-point, a interface eth1 poderia ser anexada junto na interface LAN, operando como uma quinta porta local. Porém, o mais interessante não é juntar as interfaces mas sim, dividi-las.

Se seu roteador suportar o recurso de VLAN (olhe a coluna VLAN no site do OpenWRT), você poderá dividir estas portas em redes isoladas. VLAN é uma tecnologia de Virtualização de Redes Locais. Ela foi criada para que o isolamento entre duas redes pudesse ocorrer dentro de um switch e não exigir toda uma estrutura em paralelo. Assim, parte das portas de um switch podem pertencem a uma rede enquanto outras pertencem a uma segunda rede, sem comunicação entre elas. A troca de pacotes entre as redes é intermediada por um roteador, que pode controlar quem troca que pacotes com quem.
Dica: recomendo que as configurações do switch interno sejam feitas pela rede wireless, uma vez que esta não participa do switch. Assim, será mais difícil que uma mudança de configuração resulte em falta de conectividade.
Para configurar, vá para a configuração de rede, switch. Se não estiver habilitado, habilite o recurso de vlan. Você notará que já existe uma vlan 1 com todas as portas marcados como "não etiquetadas/not tagged". O que é esta etiqueta? Vou tentar explicar em poucas linhas.

VLAN são identificadas por um número único na rede local, chamado de VLAN ID. A VLAN padrão nos diversos equipamentos de rede no mercado é a de número 1. As outras, 2, 3, etc, são criadas de acordo com a necessidade do administrador.

As portas do switch podem estar em 2 estados básicos: pertencer a uma VLAN (estado "não etiquetado") ou não pertencer a uma VLAN (estado "desligado"). O primeiro, "não etiquetado", faz com que a porta envie e receba pacotes da VLAN correspondente. Cada porta pode estar presente em apenas uma VLAN para não misturar os tráfegos. Se selecionar para uma mesma porta duas VLANs como "não etiquetadas", a configuração não irá salvar e você receberá uma bela mensagem de erro. O outro estado, como o nome sugere, informa que esta porta está "desligada" da VLAN.

E quanto a esta "etiqueta"? A limitação de uma VLAN por porta não resolve todos os problemas. Porém, as VLANs não podem se "misturar" em uma mesma porta. Para resolver este problema, foi criada as etiquetas (tags) do protocolo 802.1Q. As etiquetas, nada mais são que um envelope envolvendo o pacote IP e informando de qual VLAN aquele pacote pertence. Assim, os pacotes da VLAN marcada como "etiquetado" recebem uma camada extra com o ID da VLAN de destino enquanto os "não etiquetado", onde a VLAN é chamada de VLAN nativa, são enviados normalmente pela rede.

Temos então 3 opções:
  • "desligado" significa porta não está naquela VLAN;
  • "não etiquetado" significa porta está naquela VLAN e somente nesta;
  • "etiquetado" significa porta está naquela VLAN mas todos os pacotes vindo desta ou destinados para ela serão envolvidos em um envelope.
Este "envelope" faz com que os sistemas operacionais e demais equipamentos de rede não reconheçam-no como um pacote IP normal. Contudo, tantos os switches e roteadores como os sistemas operacionais tem suporte, quando configurado, para interpretar estas etiquetas. 

Vamos então a um exemplo simples onde 2 das quatro portas serão configuradas para uma outra rede. Ainda em rede, switch, crie uma nova VLAN. O número não importa muito, desde que seja único na rede. Nesta nova VLAN, marque a porta CPU como "etiquetado/tagged", e as portas 3 e 4 como "não etiquetado/not tagged". Como somente uma VLAN pode ter a porta como "não etiquetado", configure as portas 3 e 4 na VLAN 1 como "desligado". Aplique as configurações. Isto irá criar uma nova interface, eth0.2, onde 2 é o ID da VLAN. Ela pode ainda estar abaixada mas já vamos resolver isto. E a porta 5? Todas as configurações que eu fiz nela foram inócuas. Pela pesquisa que eu fiz, é uma porta de gerenciamento.

Agora precisamos criar uma nova interface para esta rede. Vá para "Rede" e "Interfaces" e adicione uma nova interface. Você irá notar que existe uma nova interface chamada de "Interface VLAN: "eth0.2"". Selecione ela e configure a sua nova interface como desejar. Só não esqueça de utilizar uma faixa de endereços independente das demais interfaces. Ajuste o firewall "a gosto".

Agora que já passamos pelo MultiWLAN e MultiLAN, no próximo artigo vou comentar como criar uma MultiWAN, com balancemento de carga e redundância entre diversas conexões com a Internet.

Até mais.