O que é?

Liberdade para compartilhar e conectar. Com este lema, este projeto se alia a ideia de que “é dando e que se recebe”.

Openwifi BR tem como objetivo formar uma malha de hotspots wifi, onde os seus participantes poderão se conectar a meta rede, a Internet, em quaisquer dos hotspots participantes, utilizando seu login/senha, sem qualquer custo, a qualquer hora e sem limitações, seja a partir de um celular, tablet, notebook, ou qualquer outro dispositivo que possua conectividade wifi.

Tendo como exemplo, o Distrito Federal (DF), seja estando no Plano Piloto, Taguatinga, Ceilândia, Guará, etc., desde que nas imediações onde o mesmo se encontra, tenha um membro (também podemos chamar de nó) da comunidade Openwifi BR. Entretanto, independente da localidade em que um participante estiver no globo, basta que tenha um ponto Openwifi, que ele poderá se conectar normalmente.

O ponto central da ideia, e que qualquer pessoa que tenha acesso próprio à Internet, seja na sua residência ou em sua empresa, compartilhe a mesma usando uma infraestrutura paralela, que inclui basicamente a instalação de um segundo Access Point (AP), o qual deve possibilitar que o sinal wifi do AP possa ser recebido por dispositivos wifi dentro do perímetro da via pública, que obrigatoriamente deverá estar próximo a localidade do nó (rua, avenida, condomínio, alameda, largo, etc).

A Figura 1 demonstra um diagrama clássico de uma infraestrutura de acesso à Internet encontrado nas residências ou empresas, onde temos um modem ADSL, o qual é contectado com concessionária telefônica ou de TV a Cabo (Oi, Telefônica, GVT (Vivo), Net, etc).

Normalmente temos conectado ao modem, um AP para possibilitar a conexão de dispositivos sem fios, como tablets, smartphones, notebook, etc. Há situações em que, no lugar do AP, pode-se ter um switch, que é um equipamento que permite a conexão de dispositivos através de um cabo de rede, possibilitando conectar dispositivos que não possuem interface wifi. Entretanto, os atuais APs, além de permitir conexões wifi, também possui o referido switch, sendo essa, a configuração básica de um acesso à Internet no que tange a equipamentos.

arquitetura
Figura 1: Arquitetura tradicional de conectividade cliente/ISP + Raspberry PI para possibilitar o acesso a Internet por membros da comunidade.

Na Figura 1 também representamos a ideia base de um nó Openwifi, onde temos o popular Raspberry PI (RPi), que um microcomputador de mão, o qual é transformado em um AP especial através da instalação de um dongle USB Wifi que possibilite o uso de antena externa ou uma fixa que tenha maior ganho de sinal, e que será o sinal wifi a ser recebido pelos membros da comunidade Openwifi que ora estiverem dentro perímetro do sinal irradiado pelo nó.

Nessa arquitetura, a interface ethernet do RPi é conectado ao switch do AP, este de uso particular do membro da comunidade, sendo essa a conexão que permitirá que os “membros visitantes” acessem a Internet.

Como existe a necessidade de se efetuar o controle de acesso, permitindo que apenas membros da comunidade possam ter acesso, no RPi são instalados vários produtos de software, como um captive portal (Coova Chilli) para gerenciar o acesso; uma arquitetura cliente/servidor para autenticação dos usuários baseado no FreeRadius; um cache HTTP baseado no Squid e que nos permite otimizar o uso de banda; ainda,  o FreeRadius usa uma base de dados MySQL, a qual é gerenciada pelo daloRADIUS; por fim, o controle ou filtro de pacotes é garantido pelo IPTABLES.

A sugestão de uso inicial do RPi dar-se-a por ser um produto que não exige nenhuma infraestrutura onerosa, como no-breaks ou espaço físico, como também não gera ruídos, consome baixíssima energia elétrica, é relativamente barato, entre outros benefícios.

Há duas arquiteturas, a primeira que utiliza o conjunto de software acima descritos, sendo designado como nó “MESTRE” ou nó autenticador. A segunda, já mais simples e que será utilizada por 99% dos membros, cujos requisitos de software e hardware são mais simples, executará somente o captive portal Coova Chilli e um cliente Radius para prover a autenticação junto a um  nó MESTRE. Esse denominado como nó “CLIENTE”, não provê uma base de usuários local, portanto,  quando um usuário entra com os seus dados relativo a senha/password, o nó CLIENTE  consulta um nó MESTRE de modo a verificar se aquele par usuário/senha é válido ou não. Se válido, o acesso é permitido, senão é negado.

Para o nó MESTRE, em alternativa ao RPi, pode ser utilizado um x86 Unix-like como recurso computacional. Neste momento estamos utilizando o RPi com Rasbian, que além atender bem os requisitos de desempenho e conectividade, possui baixo consumo de energia, ocupa pouco espaço físico, entre outros N benefícios. Mas há outras boa alternativas, como por exemplo o Banana PI BPI-R1 que em nível de hardware agrega algumas facilidades adicionais. Porém há N opções e que podem ser debatidas junto aos fóruns de discussão.

Já para os nós CLIENTEs,  o RPi poderá ser utilizado normalmente, que terá  função de AP, captive portal e cliente Radius. Entretanto, há outras alterativas, isto é, no mercado há inúmeros APs que suportam firmware baseado nos projetos DD-WRT e OpenWRT, os quais possuem os requisitos necessários (captive portal e cliente Radius). Há outras opções, mas que poderão ser explorados no seção de tutoriais e/ou no fórum do projeto.