Instalar e configurar Batman-adv

Fonte: wirelesspt.net

O objetivo de uma WMN é proporcionar aos utilizadores finais acesso à internet de alta velocidade, entre outros serviços que podem ser disponibilizados localmente. Para se atingir este objetivo, a arquitetura da rede deve ser pensada cuidadosamente. É preciso proporcionar Quality of Service (QoS) aos utilizadores finais, assim como um bom desempenho de toda a rede. Planear uma WMN pressupõe determinar o número de gateways, otimizar a localização dessas gateways, determinar o uso da largura de banda e minimizar os custos de implementação. Existem, tipicamente, dois tipos de implementação. A implementação numa nova área, onde tudo pode ser pensado de raiz, podendo-se pensar melhor na topologia, o que permite retirar todo o proveito e capacidade da rede WMN, por outro lado existe a implementação numa área já existente, ou seja, a WMN será implantada usando-se já as estruturas existentes. Neste caso, o arquiteto da rede terá as opções da topologia a usar, mais limitadas. Até se chegar à rede mesh final, é necessário resolver uma série de questões e tomar algumas decisões.

Para a implementação da rede mesh utilizada neste trabalho foi necessário:

Criar o firmware com incorporação do protocolo batman-adv. Instalar o firmware criado nos routers. Proceder à configuração dos parâmetros dos routers. Solucionar a questão do posicionamento dos nós. Assegurar a segurança da rede.

Os equipamentos colocados à disposição, por parte do Instituto Superior de Engenharia do Porto (ISEP), para a realização deste trabalho foram routers linksys wrt54GL. Contudo e uma vez que esses equipamentos durante o ano letivo foram necessários para a docência no estabelecimento de ensino, foi necessário proceder à sua devolução com o firmware original instalado, sendo que estariam disponíveis ao fim de algum tempo novamente. Em virtude desta limitação, foi decidido adquirir cinco routers, de maneira a evitar que o trabalho fosse interrompido, e uma vez que já se tinha iniciado o trabalho naqueles equipamentos, optou-se por adquirir equipamentos semelhantes de maneira a potenciar o trabalho já desenvolvido.

Ao realizarem-se testes, por lapso danificou-se um dos routers do ISEP, o que reforçou ainda mais a decisão da aquisição dos routers, já que foi necessário por várias vezes soldar pinos nas portas série e JTAG, para proceder ao desbloquemento dos routers, que estando sujeito à experimentação de imagens de firmware, acabaria inevitavelmente por bloquear, não permitindo a sua recuperação através dos botões de reset. A abertura e soldadura dos equipamentos do ISEP, assim como a instalação de outros firmwares, provocaria a perda da garantia oferecida pelos fabricantes, o que tornou inviável o prosseguimento da utilização dos equipamentos disponibilizados pelo ISEP.

Na realização do trabalho aqui apresentado, os equipamentos utilizados para a instalação do firmware, foram routers linksys wrt54GS, equipados com chipsets Broadcom, com velocidades de cpu superiores a 200 MHz, com 8 MB de flash e com 32 ou 64 MB de Random Access Memory (ram). Foram configuradas quatro unidades, que constituíram uma pequena rede mesh. O firmware escolhido para a prossecução deste trabalho foi o firmware OpenWRT. Foi necessário abordar a questão do hardware indicado para a utilização do firmware, assim como foi necessário explorar e descrever todo o processo inerente à criação do firmware, desde as opções que podem ser feitas até à sua instalação e configuração.

Foi necessário criar doze versões de firmware, até chegar à versão final estável e funcional, que está instalada nos equipamentos, versão essa usada para fazer os testes da rede batman-adv, apresentados neste documento.

Firmware OpenWRT

OpenWRT é uma distribuição linux para sistemas embebidos (principalmente routers). O projeto OpenWRT começou quando a empresa Cisco publicou debaixo de General Public License (GPL) o firmware do seu router sem fios linksys wrt54G. Uma comunidade de criadores/programadores usaram este código para criar versões derivadas. Inicialmente, o suporte era limitado às séries wrt54G, mas com o tempo, foi estendida a muitos outros chipsets e arquiteturas. Foi um acontecimento importante para as redes de comunicação sem fios com fins não comerciais porque estas distribuições oferecem muitas funções que não são encontradas nos routers comuns.

Algumas das suas mais importantes características são: Sistema de ficheiros gravável, que permite aos utilizadores adicionar, remover ou modificar qualquer ficheiro. Um sistema de gestão de pacotes “opkg”, similar ao “dpkg” ou “pacman” para sistemas operativos linux. Um repositório de pacotes de instalação com cerca de 2000 pacotes. Um sistema de atualização – Sysupgrade, que preserva as configurações quando se fazem atualizações do firmware. Uma ferramenta que visa simplificar a configuração de todo o sistema – Unified Configuration Interface (UCI). A possibilidade de configurar a rede em Virtual Local Area Networks (VLANs). A capacidade de filtrar, manipular, atrasar e rearranjar pacotes de rede, através de métodos customizáveis. Uma interface web Asynchronous Javascript and XML (AJAX), graças as projeto LuCI. A possibilidade de configuração dos botões de hardware.

Atualizações e reparações de patches (patch – excerto de código criado para reparar/solucionar problemas detetados posteriormente), mesmo em aparelhos que já não são suportados pelos seus fabricantes. Suporte para dispositivos de 3rd Generation (3G), impressão, partilha de ficheiros, áudio/vídeo, webcam, etc.

A decisão de usar OpenWRT, como base do sistema operativo da rede mesh criada neste trabalho em detrimento de outras opções, foi devido à existência de vários fatores a favor. É o sistema que a maioria das comunidades wireless utiliza. É o sistema operativo mais difundido neste tipo de ambientes, o que faz com que exista um grande número de pessoas que o mantém, reportando falhas e adicionando novas funções ao firmware. Como consequência o repositório de pacotes está constantemente a ser atualizado.

Também o Software Development Kit (SDK) fornecido pelo OpenWRT, permite compilar fontes para diferentes arquitecturas como por exemplo x86, Microprocessor without Interlocked Pipeline Stages (MIPS) ou Acorn RISC Machine, posteriormente Advanced RISC Machine (ARM), o que é uma mais valia, uma vez que a maior parte dos routers usam um variado tipo de arquiteturas, que não a arquitetura x86. De maneira a funcionar bem nesses sistemas de baixo desempenho, o sistema é muito otimizado. Os binários são normalmente muito pequenos porque são compilados através da livraria uClibc, sendo libertados de funções desnecessárias, assim como as aplicações são cuidadosamente selecionadas e algumas aplicações são modificadas para serem mais pequenas. Por fim, o suporte de wireless drivers é provavelmente o melhor de todas as distribuições que têm como base o Linux. Como exemplo, no ano de 2011 foi o primeiro sistema que suportou Independent Basic Service Set (IBSS), vulgo modo Wifi adhoc, em 802.11n e em HT40 (MIMO com canais 2x20 MHz) para dispositivos equipados com o framework mac80211, que são normalmente os mais comuns (mac80211 é o responsável no sistema linux pela implementação funcional de hardware/firmware no que toca à norma 802.11).

Existem outras opções ao firmware OpenWRT para a implementação de uma rede mesh. Muitas dessas opções são derivações do próprio OpenWRT. Algumas são especificamente concebidas para serem utilizadas em redes mesh, associadas a projetos que visam a implementação e gestão de redes mesh, como por exemplo Freifunk, já referido anteriormente como sendo um projeto de comunidades mesh na Alemanha. Outros exemplos de derivação de OpenWRT são tomato, Gargoyle ou Routing Olsr.

Batman INside (ROBIN), que no âmbito deste trabalho aqui apresentado, terá uma forte influência quanto à plataforma de gestão da rede criada, conforme será descrito mais adiante. Uma distribuição de firmware que originalmente surgiu como uma alternativa ao firmware que trazia o wrt54G é ddwrt. O firmware ddwrt é uma distribuição concebida para utilizadores finais. Permite o uso em modo adhoc, e pode ser utilizado em redes mesh, mas só utiliza o protocolo olsr.

Escolha de hardware

Existe um grande número de dispositivos que podem ser convertidos num router mesh. Por outro lado, o processo de converter o firmware OpenWRT para um firmware mesh através do sistema de gestão de pacotes tornou-se menos transparente, uma vez que acontecem mais erros de compilação.

Alguns fabricantes de routers Wi-Fi apresentam os dispositivos já com OpenWRT, como sendo o firmware de fábrica, como por exemplo Mesh-Potato, Dragino MS-12 ou Allnet 0305. Por exemplo o Mesh-Potato é um dispositivo de baixo consumo de energia para ambientes exteriores concebido para redes mesh com uma porta Foreign eXchange Subscriber (FXS) (telefone analógico), de maneira a que se possa ligar um telefone analógico e fazer chamadas telefónicas, via rede mesh. O Mesh-Potato usa o protocolo BATMAND (L3). Um segundo firmware chamado de SECN (Small Enterprise / Campus Network) também está disponível para o firmware Mesh-Potato, que utiliza o protocolo batman-adv (L2), mas estes não são os únicos dispositivos que se devem considerar para redes mesh. O OpenWRT suporta uma grande variedade de routers wireless. Substituir o firmware que o router traz de fábrica pelo OpenWRT, poderá não ser fácil. Poderão ocorrer erros e os routers ficarem bloqueados. A lista de routers disponíveis é grande e não existe um método único para se fazer o upgrade de firmware que funcione para todos os dispositivos. A tabela de hardware suportada pelo OpenWRT é extensa e continua a expandir. Este sítio deverá servir como base de consulta, antes de se adquirir qualquer router para instalação do OpenWRT. De salientar que os fabricantes de hardware podem mudar os chips dos dispositivos sem o declararem explicitamente. Não é garantido que novas versões de hardware funcionem, sem que alguém as tenha testado e reportado na wiki OpenWRT.

A questão da escolha dos routers que vão fazer parte da rede mesh é uma questão delicada. Em primeiro lugar, deve-se definir se se pretende uma rede 802.11 b/g ou 802.11n. A primeira permite velocidades até 54 Mbit/s e a segunda permite velocidades até 300 Mbit/s. Após esta escolha deve-se ter em conta que a memória flash, ou seja a memória onde vai ser guardado o firmware, nunca deve ser menor que 2 MB, de preferência deve ser sempre acima de 4 MB, isto porque poucos firmware cabem em 2 MB, e com menos de 4 MB poucos pacotes de software adicional podem ser instalados. Uma memória flash de 8 MB é uma mais valia e se for superior é excelente. No entanto, é possível aumentar tanto as memórias flash como as memórias ram, desde que se encontrem chips compatíveis, as ferramentas necessárias e aptidão para substituí-las. No caso de se proceder à alteração de memórias, é necessário alterar os parâmetros do Common Firmware Environment (CFE), que se trata do bootloader que faz arrancar o sistema operativo do router. Relativamente aos chips, existem vários no mercado, no entanto dois dos mais relevantes são Atheros, já referido anteriormente e Broadcom. Ambos têm suporte OpenWRT. Relativamente a este tema, as opiniões dividem-se. Por um lado, os utilizadores das placas Atheros são unânimes ao considerarem os chips rádio mais potentes que Broadcom, no entanto para chips Broadcom o suporte linux é muito sólido e é garantida a estabilidade na implementação.

A memória ram no mínimo deve ser de 16 MB. 32 MB é bom e acima de 64 MB é excelente. Quanto ao cpu, a frequência mínima do relógio deve ser de 200 MHz, acima de 240 MHz é bom e acima de 400 MHz é excelente. Após estas considerações é que se deve proceder à escolha do router. Por razões económicas e técnicas, uma opção poderá ser o linksys wrt54G com chip Broadcom e 4 MB de flash. Outras boas soluções poderão pertencer às marcas Asus e Buffalo. Um router linksys wrt54GL em Portugal poderá custar € 45 (euros) e um Buffalo WHR-HP-G300N poderá custar € 55 (euros). O wrt54GL tem chip Broadcom, 4 MB de memória flash, 16 MB de memória ram e 200 MHz no cpu, enquanto que o Buffalo WHR-HP-G300N (que já traz instalado o firmware ddwrt, o que facilita a mudança para o firmware OpenWRT) tem chip Atheros, 4 MB de memória flash, 32 MB de memória ram e 400 MHz no cpu. Estas considerações são determinantes quando se pretende construir uma rede mesh, de maneira a calcular o custo dos equipamentos que farão parte dessa rede. A escolha é vasta e estes exemplos devem ser tidos em consideração no sentido do raciocínio a fazer na aquisição de routers para equipar uma rede mesh.

Criar o firmware OpenWRT

O firmware OpenWRT pode ser construído conforme as necessidades de quem o vai utilizar. Embora sejam disponibilizadas imagens padrão do firmware já construídas para várias arquiteturas e modelos de routers, este pode ser personalizado. Para isso é disponibilizado o OpenWRT Buildroot que se trata de um conjunto de makefiles e patches que permitem gerar uma ferramenta de compilação integrada com um sistema de ficheiros de raiz para routers sem fios.

Atualmente é possível compilar a versão estável Backfire 10.03.2, ou a versão trunk - Attitude Adjustment 12.09-beta, que se trata da versão em testes experimentais. O primeiro passo consiste em fazer o download de uma cópia de uma das derivações das fontes do OpenWRT, através do seu repositório Subversion, muitas vezes abreviado SVN.

Para a compilação do OpenWRT é utilizado um sistema onde se pode selecionar qual a coleção de pacotes a integrar essa mesma compilação. Chama-se feeds system e está localizado num local comum (utiliza um servidor remoto ou um sistema de ficheiros local). Para gerir esses pacotes de instalação, o SDK providencia uma utilidade localizada em scripts/feeds que permite instalar, remover ou atualizar todos os pacotes de instalação.

Na Figura 22, apresenta-se o ecrã de abertura de compilação da versão experimental do OpenWRT Attitude Adjustment na sua versão atual, onde se podem observar os menus principais de configuração disponibilizados. Estes menus crescem ou decrescem conforme os pacotes solicitados no feeds system, referido anteriormente.

Conforme se pode observar é possível escolher a arquitetura do chip do router, onde a imagem vai funcionar, é possível determinar que formato de imagem se pretende compilar, assim como os pacotes de utilitários a incorporar e os pacotes que fazem parte do sistema base, também se podem incluir utilitários para IPv6, assim como a interface gráfica LuCI.

Entre aplicações de criptografia, módulos de gestão de Light Emitting Diodes (LEDs), suporte Universal Serial Bus (usb), vídeo ou VoIP, é na opção referente a Kernel modules que se encontra o suporte para o protocolo batman-adv. Em Administration é possível incluir aplicações de administração de redes como zabbix ou nagios. Opções para tratamento de email, também são disponibilizadas, assim como uma panóplia de ferramentas para routing. Em Network encontram-se as opções para suporte dos protocolos BABEL, BATMAND (L3), BMX6 ou olsr. Ainda é possível incluir interpretadores de linguagens de programação como por exemplo Erlang, JAVA, Lua, PHP, Perl, Python, Ruby, etc. Todo o tipo de utilitários podem ser incluídos na imagem a compilar, com o consequente aumento de tamanho e também com a consequente degradação do desempenho do router. A escolha deve ser ponderada e devem ser pensados os custos/benefícios na inclusão de pacotes para compilação.

Na Figura 23 apresenta-se o ecrã, onde é possível selecionar vários componentes de protocolos mesh e na secção compilar firmware OpenWRT é descrito o processo de criação de imagem do firmware OpenWRT, pormenorizadamente.

Interface gráfico OpenWRT

Tanto o OpenWRT Backfire 10.03.2, como Attitude Adjustment 12.09-beta, dispõem de uma interface gráfica de nome LuCI. A interface gráfica LuCI trata-se de uma Application Programming Interface (API) escrita na linguagem de programação Lua. Esta interface permite configurar a rede e disponibiliza o uso de algumas ferramentas como traceroute ou ping, assim como gráficos de tráfego ou de carga em tempo real. A Figura 24 apresenta um ecrã deste interface gráfico. Para administração do protocolo batman-adv, esta interface não disponibiliza qualquer ferramenta. Assim a administração tem de ser feita através de uma shell, usando para isso a aplicação terminal/consola existente nos sistemas operativos, através do protocolo de rede telnet ou Secure SHell (SSH), conforme se pode observar na figura 25.

Instalar o firmware OpenWRT

Tendo sido criada a imagem a instalar no router, é preciso proceder à substituição do firmware que o router possui. Qualquer firmware estará apto para que se possa fazer uma atualização (upgrade). Para isso, por norma, encontra-se disponível uma página que normalmente pode ser acedida através de um navegador (web navegador), onde essa operação estará disponível. Se ao tentar-se atualizar o firmware de origem para o firmware OpenWRT for apresentada alguma mensagem a indicar essa impossibilidade ou a indicar que a extensão do ficheiro não é compatível, poderá ser necessário fazer o upgrade para um firmware “intermédio” e então depois, a partir desse firmware, fazer o upgrade final para o firmware OpenWRT. Um firmware que funciona muito bem para ser utilizado nesse passo intermédio é o firmware ddwrt, que se trata de um firmware baseado no OpenWRT, mas que permite uma mais fácil instalação, quando se trata de uma primeira alteração do firmware de origem..

Se este método não resultar então poderá ser necessário fazer a atualização do firmware, usando uma ferramenta de transferência de ficheiros para o router. Uma ferramenta disponível para os sistemas operativos linux e Microsoft Windows, chama-se Trivial File Transfer Protocol (TFTP). Quando o router é ligado, normalmente fica à “escuta”, ou seja, à espera de receber ficheiros. É uma opção que é definida em função do tempo, e quando esse tempo passa, se o router não receber dados, então procede ao arranque normal do seu próprio sistema instalado. Essa opção de tempo de espera existente nos routers, antes que arranquem o seu sistema operativo, pode ser alterada. É possível aumentar o tempo de espera, mas por omissão o tempo é suficiente para se enviar a imagem do firmware OpenWRT. Para o envio da imagem é utilizado TFTP. Convém assegurar que se possui uma cópia da imagem original do router que vai ser atualizado, de modo a poder-se recuperar o router, se o upgrade falhar. As empresas que comercializam os routers costumam disponibilizar nos seus sítios na internet, as imagens do firmware instalado nos seus produtos.

Mais cedo ou mais tarde, bloquear-se-á um router com testes de firmware ou com atualizações de firmware. Na maior parte dos casos é possível recuperar o router e retomar o desenvolvimento/testes. Para tal são necessárias determinadas ferramentas e técnicas. Existem várias formas de desbloquear ou aceder a um router, no entanto quando tudo o resto falha e não se consegue aceder ao router a partir da consola do computador resta-nos a porta série ou JTAG. Nem todos os routers possuem estas portas, alguns possuem só uma delas e outros equipamentos não possuem nenhuma. Foi necessário desbloquear routers várias vezes, devido a variadas instalações de firmware, até se chegar à solução final apresentada neste trabalho.

Na secção sobre como instalar firmware OpenWRT é descrito o processo de upgrade de imagem do firmware OpenWRT, utilizando TFTP.

Configurar o OpenWRT

Existem vários parâmetros a configurar de maneira a criar uma rede mesh. As configurações podem ser variadas. Numa primeira fase foi necessário proceder à configuração e instalação das chaves de autenticação, de maneira que sempre que se solicite uma conexão com qualquer um dos nós, usando SSH, não seja necessário introduzir a password/senha. Os ficheiros a configurar encontram-se no sistema de ficheiros do OpenWRT, mais precisamente em /ect/config/. Nesta diretoria será necessário configurar um conjunto de ficheiros, nomeadamente os ficheiros batman-adv, dhcp, network, wireless e system.

Existem nós servidores/gateways e nós clientes. As configurações dos nós são diferentes em função da sua natureza.

Foram definidas as seguintes configurações do protocolo batman-adv: A agregação de OGMs. O isolamento de APs. O modo de alternância de interfaces (bonding). O modo de fragmentação de pacotes. A largura de banda. O valor do intervalo de omissão de OGMs. O modo de visualização de gráficos. A habilitação do mecanismo para evitar voltas de pacotes desnecessárias (bridge loop avoidance). A configuração da rede é feita no ficheiro network, onde é definido o IP de cada nó e criada a interface batman-adv. No ficheiro dhcp é definido a atribuição de IPs, no caso dos nós servidores. No ficheiro de configuração wireless, são definidos: O canal da rede mesh.

As configurações da interface rádio quanto a definição de Service Set IDentifier (SSID) e Basic Service Set IDentification (BSSID). O modo de operação da rede e de encriptação. Por fim foi configurado o ficheiro system de forma a habilitar o Network Time Protocol (NTP), permitindo que todo os nós sincronizem data e hora.

Na secção sobre como configurar e instalar chaves ssh no firmware é descrito o procedimento de configuração de chaves de autenticação em como configurar firmware OpenWRT é descrito o procedimento pormenorizado de configuração do firmware OpenWRT.

Configurar pontos de acesso

Para os utilizadores da rede mesh batman-adv se poderem ligar via wireless à rede, não o poderão fazer diretamente através dos nós batman-adv. Para se obter uma ligação à rede é necessário fazer a ligação a um AP, que estará agregado a um nó batman-adv. Cada nó batman-adv poderá ter um AP agregado, mas para o próprio funcionamento da rede mesh isso não será necessário, pois os nós batman-adv constituem a rede, por si só. A colocação de um AP agregado a um nó batman-adv só faz sentido se existir na sua área de influência utilizadores que acedam à rede via wireless. É possível cada nó batman-adv fornecer ligação via Ethernet a cinco utilizadores, usando para isso as cinco portas do router ou até mais utilizadores, através da utilização de um switch. A utilização de um AP não é obrigatória, para se ter acesso à rede. Mesmo em ambientes onde não seja possível passar cabos, o sinal poderá ser transmitido via wireless através dos nós batman-adv e podem localmente ser ligados utilizadores através de cabo.

Na secção sobre como configurar clientes Batman-Adv é descrito o procedimento de configuração de APs, pertencentes à rede batman-adv.

Considerando o posicionamento dos nós

No âmbito deste trabalho foi necessário ponderar a localização dos nós da rede mesh. Seguidamente são apresentadas algumas considerações que determinaram o posicionamento dos nós da rede.

Para se definir o posicionamento dos nós é necessário perceber o alcance dos seus sinais, de maneira a que nenhum nó fique isolado e que o alcance do sinal chegue onde é expectável. Esta perceção é importante em termos de custos e de eficácia. Se uma rede for bem planeada, não serão precisos mais nós do que os estritamente necessários, assim como será garantido o serviço ao utilizador que se encontra fisicamente mais distante do alcance da rede.

Existem vários tipos de software para deteção e análise de redes wireless. Para Microsoft Windows existe o NetStumbler ou VistSlumber. Para linux existe o Kismet ou Gkismet. Para Mac OS X existe KisMAC e iStumbler. O software utilizado na conceção da rede criada neste trabalho foi o inSSIDer, que funciona na plataforma Microsoft Windows. Sabendo que o sinal mínimo, tipicamente, deverá se encontrar entre -75 a -95 dBm, para garantir que um nó batman-adv consegue comunicar com outro nó batman-adv, procedeu-se a implementação da rede mesh. Na Figura 26 pode-se observar que as potências de sinal emitidas pelos nós batman-adv, referenciado com o SSID “PR” e pelo nó AP, referenciado com o SSID “batman-adv-----AP”, encontram-se no limiar do valor considerado aceitável para a receção do sinal. Neste local onde foram registados estes valores, seria necessário colocar outro nó batman-adv, assim como outro AP, se se pretendesse fazer chegar o sinal via wireless, a utilizadores mais afastados desta área.

Em espaços exteriores, terá que se ter em consideração outros fatores. Poderá ser necessário instalar antenas com ganhos de potência maiores. Para isso poderá ser calculado o custo da ligação (em inglês, link budget). Este cálculo terá que ter em consideração as características dos equipamentos e a perda de sinal. As características a ter em conta são: A potência de transmissão que é expressa em mW ou em dBm. O ganho da antena, expresso em dBi. O nível mínimo de sinal recebido – Received Signal Level (RSL), que é expresso em dBm (-dBm). O valor mínimo típico encontra-se entre -75 a -95 dBm, conforme já referido anteriormente.

As perdas nos cabos, dependem dos cabos usados e do seu comprimento. Por exemplo, as perdas nos cabos coaxiais com pouco comprimento, incluindo conectores são bastante baixas, na ordem dos 2 a 3 dB.

Outros fatores a ter em conta são as perdas de sinal no caminho a percorrer (perdas em espaço livre), a atenuação e a dispersão de sinal. A potência do sinal diminui com a propagação geométrica da onda frontal, fenómeno conhecido como “free space lost”. Este fenómeno acontece devido à expansão da energia do sinal erradiado em função da distância ao transmissor. Outro aspeto a ter em conta é a atenuação, que é causada pela absorção de potência quando as ondas passam através de objetos sólidos, como por exemplo árvores, paredes, janelas ou pisos de edifícios. Já a dispersão é um fenómeno que tem origem no desfasamento da receção da energia da rádio frequência no recetor. Isto deve-se ao espalhamento da energia quando esta deixa a antena transmissora, provocando que a energia seja refletida no chão e noutros obstáculos e chegue com um atraso à antena recetora. Este fenómeno pode provocar a dispersão do sinal, ou seja, o sinal pode ser diminuído ou anulado completamente, o que por vezes impossibilita a sua recuperação.

Se for montada uma rede mesh que vise cobrir áreas maiores de extensão e ao ar livre, será necessário fazer um estudo mais aprofundado, tendo em conta estas considerações.

Considerando a segurança

No âmbito deste trabalho foram ponderadas questões de segurança da rede mesh. Seguidamente são apresentadas algumas considerações que tiveram de ser analisadas e que determinaram as opções tomadas em relação à rede criada. Existem várias hipóteses de se tentar proteger uma rede wireless de intrusos. No caso apresentado neste trabalho, verificou-se que o firmware OpenWRT (utilizado nos nós batman-adv) permite encriptação wep para redes adhoc. A encriptação wep, embora seja facilmente decifrada, oferece alguma proteção. Contudo, utilizando esta encriptação, não se pode evitar de todo, a intrusão na rede mesh. Replicando a instalação do firmware OpenWRT e associando o MAC address definido para a rede, que pode ser facilmente capturado, pode-se associar um novo nó batman-adv à rede, sem conhecimento do administrador. A solução passa pela alteração da chave de encriptação frequentemente, assim como uma monitorização mais atenta da rede. Quanto à encriptação utilizada no AP, usou-se wpa2, com TKIP+AES, que até à data ainda não foi quebrada, oferecendo segurança quanto à autenticação dos utilizadores da rede.

Existem outras soluções comuns para segurança de redes wireless. Uma delas é a filtragem de MACs. Esta filtragem pode ser utilizada nos APs, ou seja, quando um utilizador tenta aceder à rede, se o seu MAC address não estiver registado, o acesso é negado. Ou pode-se restringir utilizadores, permitindo o acesso a todos os outros, exceto aos utilizadores que tenham o seu MAC registado na filtragem. No entanto, os MACs addresses podem ser forjados, alterando o CFE ou simulados por aplicações de software. A aplicação de filtragem de MACs addresses está disponível no firmware OpenWRT, no entanto essa opção não foi testada nos nós batman-adv. Outra solução possível consiste em esconder o SSID da rede, originando o desconhecimento desta, por parte de quem não sabe da sua existência. Ao inibir-se o SSID, não são enviados “beacons” (sinalização de presença) pelos nós. Isto previne que utilizadores casuais tomem conhecimento da rede. No entanto, a opção de esconder o SSID pode provocar que inconscientemente seja instalada uma rede, precisamente no canal da rede escondida, o que pode provocar interferências em ambas as redes com prejuízo comum a ambas as partes. Também podem ser detetadas pelos programas de deteção e análise de rede, tramas que sejam enviadas do utilizador para o AP, tramas essas que necessariamente contêm o nome da rede, o que pode provocar que seja tentado o acesso à rede por utilizadores estranhos.

Outra solução existente é conhecida como portal de entrada na rede (captive portal). Estes portais servem para a autenticação do utilizador e utilizam um web navegador que oferece a oportunidade de introdução de credenciais de acesso. Ao utilizar um web navegador para autenticação, os captive portals funcionam como qualquer outro sistema de autenticação usado na internet e nos sistemas operativos. Este sistema baseia-se no MAC e IP dos utilizadores, mas conforme já foi dito, estes identificadores podem ser manipulados. Em ambientes públicos ou semi-públicos, as encriptações wep e WPA são desadequadas, uma vez que se torna impossível partilhar chaves a todos os utilizadores, sem comprometer a segurança. Neste contexto a solução captive portal faz sentido, ao fornecer um nível de serviço algures entre um sistema de autenticação completamente aberto e um sistema de autenticação completamente fechado. Estas considerações de segurança, na conceção de uma rede mesh, são pertinentes. Consoante o tipo de rede, seja privada, semi-privada ou pública, poder-se-á optar por alguma solução em particular ou juntar várias soluções de modo a reforçar a sua segurança.

Autoria

Pedro Rodrigues

Editor

--Cmsv (discussão) 16h46min de 23 de Abril de 2013 (GMT)