Liberte seu roteador com sistemas WRT

liberte-seu-roteador-com-sistemas-wrt

Hoje em dia, raros são os lares que não possuem um roteador wireless e alguns até contam com equipamentos cedidos pela operadora de internet. Mas há quem prefira adquirir um roteador com características mais avançadas: maior alcance, possibilidade de criar rede de visitantes, estética, etc.

Nestes casos, sistemas WRT são opções de firmware que expandem as funcionalidades do seu roteador. Nesta série de artigos exploraremos desde a história destas firmwares baseadas no kernel Linux, até as opções de configuração mais avançadas que podemos alcançar com estes sistemas, e as diferenças existentes entre estas.

Introdução: Conceitos básicos

Antes de prosseguir, faremos uma revisão de algumas palavras-chave deste universo que são as firmwares alternativas para roteadores. Listaremos aqui palavras bastante utilizadas, que muitos leitores conhecem mas é bom sempre reforçar. Vamos lá:

  • Firmware: Um programa que interage diretamente com o hardware. É um conceito aberto e muitas coisas podem ser uma firmware: A BIOS é uma espécie de firmware, a firmware que está gravado sua placa de rede e pode ser atualizado através de comandos, o arquivo de firmware da placa wifi dentro do GNU/Linux, uma ROM customizada do Android, o sistema de uma calculadora científica, o arquivo intel-ucode para processadores de gerações mais modernas da fabricante Intel, e claro, alguns Linux que são customizados para rodar em roteadores. Quase todo equipamento eletrônico no mundo possui firmwares.
  • SSID: Nome de uma rede sem fio podendo conter até 32 caracteres.
  • GPL: General GNU Public License(Licença Pública Geral GNU) é uma licença de software que garante que, com os programas, os seus códigos-fonte sejam distribuídos, permitindo ao usuário que modifique, aprimore e até mesmo redistribua estas alterações para outros. No conceito de Software Livre, a GNU GPL é a licença utilizada.
  • SoC: System on-a-Chip. Também é um conceito bastante amplo. No universo dos roteadores e celulares, trata-se dos circuitos integrados que compõem um dispositivo e estão embarcados no mesmo hardware, contendo CPU, Ram, Interfaces de Rede, Modens 3G/4G. Veremos mais adiante o quão importante é saber e pesquisar qual o SoC de um determinado equipamento para a aplicação de uma firmware WRT.
  • Versão de Hardware: Apesar dos roteadores terem um modelo como os carros, o mesmo modelo do mesmo fabricante pode ter diferenças de hardware(similar ao ano do carro). Isto pode acontecer porque uma determinada peça não é mais produzida e o fabricante do roteador precisa adaptar com alternativas, ou o fabricante de roteadores deseja que sua firmware não seja modificada e adiciona hardware que é mais difícil de ter a firmware alterada, ou até mesmo por limitações impostas pela regulamentação de um país. Estes e outros fatores podem gerar versões novas de hardware para um modelo de roteador. Veremos mais pra frente como saber a versão de hardware pode ser importante para a aplicação de outras firmwares no seu roteador.
  • Código-fonte: Conjunto de palavras ou símbolos que após alguns processos são transformados em software. Similar a receita de uma comida, e seu produto final após o processo. A GPL(acima) é uma licença que contempla a forma como códigos-fonte são obrigados a serem distribuidos ou disponibilizados.
Os termos “firmware alternativa”, “firmware de terceiros” ou “software alternativo” poderão ser utilizados alternadamente nesta série de artigos para significar a mesma coisa: Firmwares desenvolvidas pela comunidade que sobrepõem o software padrão dos roteadores. Da mesma forma, “firmware padrão”, “firmware de fábrica” e “software do fabricante” poderão ser utilizados para denotar a firmware que vem embarcada no equipamento e suas atualizações.

Um Pouco de História do WRT

Quase todas as firmwares alternativas para roteadores, possuem a sigla WRT. Isto acontece pelo fato do primeiro roteador a ter uma firmware alternativa se chamar WRT54G do fabricante Linksys:

Linksys WRT54G – Fonte:Wikipedia

Em meados de 2003, alguns hackers do kernel Linux conseguiram provar que este roteador utilizava o Linux 2.4.5 e outros projetos de código aberto embarcados como o BusyBox. Após várias tentativas frustradas de contato com esta empresa, ações legais obrigaram que os fontes fossem disponibilizados para download no site do fabricante. A discussão completa que culminou na liberação dos códigos-fonte ocorreu na lista do kernel Linux LKML e pode ser encontrada aqui: Linksys WRT54G and the GPL(em inglês).

Tendo o código-fonte em mãos, diversos programadores descobriram como interagir com o hardware, expandindo as funcionalidades já existentes, adicionando novas opções de configuração e até melhorando a estabilidade de operação destes roteadores.

O fato jurídico do WRT54G foi o estopim para a criação de vários projetos de firmwares baseadas no kernel Linux, deixando o legado do WRT no nome de vários deles(DD-WRT, OpenWRT, TomatoWRT, FreeWRT, DebianWRT, HyperWRT, etc). Alguns destes projetos foram descontinuados, mas os maiores ainda existem e suportam uma grande quantidade de equipamentos.

Sabido então dos fatos que começaram este movimento de alteração das firmwares dos roteadores, vamos abordar os motivos que podem levar você a libertar seu roteador do software que ele possui de fábrica.

Razões para trocar ou manter a firmware do seu roteador

Temos uma lista resumida dos motivos que podem te levar a trocar a firmware do seu roteador, e pontos de precaução que podem fazer com que você queira permanecer com a disponibilizada pelo fabricante, ou aguardar até que uma nova versão saia.

Porque optar por uma firmware alternativa:

  • Mais funcionalidades que o software padrão do equipamento;
  • Em boa parte dos casos, maior estabilidade que a firmware de fábrica;
  • Serviços de VPN cliente e servidor;
  • Opções mais avançadas de QoS para garantir banda para dispositivos ou protocolos específicos;
  • Opções mais avançadas de Port Forwarding(encaminhamento de portas) pra quem joga online;
  • Ajuste de potência de antenas;
  • Criação de múltiplas redes wifi e redes visitantes;
  • Melhores relatórios de utilização dos recursos do roteador;
  • Suporte a hardware maior como impressoras e modens USB 3G/4G;
  • Suporte a múltiplos links de Internet;
  • Instalação de pacotes como uma distribuição GNU/Linux de desktop e servidores(se o tamanho do disco permitir);
  • Mais serviços disponíveis: Impressão, sistema de arquivos, VoIP, UPnP, Cache de DNS, são alguns exemplos;
  • Possibilidade de acesso SSH para tirar onda de hacker com os amigos(brincadeira… mas o SSH está liberado sim);
  • Correção de problemas de segurança que o fabricante não fará em modelos descontinuados e pode negligenciar em modelos que ainda estão no mercado;
  • Criação de Scripts e customização de itens que não estão na interface web. Aqui o céu é o limite e você pode conectar um painel de fotografias digitais no seu roteador para exibir a senha da rede visitantes, e randomizá-la através de um script. Exemplo disponível aqui;

Porque manter a firmware original de um roteador:

É triste, mas nem sempre podemos alterar a firmware de um roteador. Abaixo, há um compilado das maiores causa da firmware de fábrica ser mantida em um equipamento:

  • Garantia é finalizada ao trocar a firmware do roteador;
  • Funcionalidades da firmware padrão já são boas o bastante para o uso diário;
  • Seu roteador é concedido pelo provedor de internet, que controla as atualizações do equipamento com mão de ferro;
  • Falta de performance relatada pelos usuários da firmware alternativa em seu modelo de roteador;
  • Ausência de suporte em alguma característica(sem rede 5Ghz, sem rede padrão AC, sem USB…);
  • Firmware alternativa é beta. Nestes casos uma atualização da versão beta pode danificar para sempre(brickar) seu roteador;
  • Procedimento de aplicação da firmware pode ser muito complexo e suscetível a erros. Veremos mais adiante que alguns modelos de roteador requerem procedimentos específicos pelo menos na primeira aplicação de uma firmware alternativa;
  • Firmware proprietária tem alguma funcionalidade/perfumaria interessante ao usuário(rede visitantes com check-in em rede social);
  • Hardware é bloqueado para não receber firmware sem a assinatura do fabricante;
  • A firmware alternativa exige um conhecimento que envolve baixar os códigos-fonte e fazer o processo de compilação(transformação em software propriamente dito);

Note que alguns dos critérios acima são subjetivos, passando pela preferência de cada um, enquanto outros transcendem a escolha do leitor(como o último item) e apenas um planejamento antes da aquisição do equipamento pode neutralizá-lo. Se você não deseja alterar a firmware padrão do seu roteador, aguarde o próximo artigo para mesmo assim aprender mais sobre as alternativas existentes no mercado.

Agora, se você já vê vantagens em alterar seu roteador para torná-lo um equipamento mais completo, no próximo artigo falaremos sobre os maiores projetos desta área, as diferenças entre eles, os hardwares que suportam e dicas para escolher um equipamento mais apto a receber firmwares alternativas.

O que começou em 2004 com a vontade de aprender como os equipamentos funcionavam, acabou tornando-se o movimento de firmwares alternativas para roteadores, os sistemas WRT. Nesta segunda parte da série “Liberte Seu Roteador Com Sistemas WRT” falaremos um pouco mais sobre as opções existentes, e dividirei a experiência de quem já aplicou estas firmwares em modelos distintos.

Um pouco mais de história do WRT

Esta parte do artigo contém detalhes talvez enfadonhos de história e pode ser irrelevante para você que quer apenas melhorar seu roteador. Pode pular, se você acha que não precisa saber sobre o assunto, ou acha que já há intrigas demais na internet.

alguns hackers do Linux começaram a mexer nos códigos-fonte da Linksys, obrigada juridicamente a revelá-los por descumprimento das cláusulas da licença GPL. Isto gerou uma das primeiras ondas de firmwares alternativas para o famigerado WRT54G: OpenWRTDD-RTHyperWRT(descontinuado) e Tomato.

Houve uma ovelha negra nesta descendência: Sveasoft. Esta empresa utilizava os códigos fontes do OpenWRT e lançava apenas o arquivo de firmware, ou fazia lançamentos onde os códigos-fonte não correspondiam com a firmware lançada, quebrando assim as exigências da licença GPL de distribuição dos binários(programa) juntamente com seus códigos-fonte. Faziam um procedimento similar ao que a fabricante Linksys já fazia.

Em 2006, o projeto OpenWRT acusou publicamente a Sveasoft e proibiu que utilizasse códigos dele,  a não ser que as partes licenciadas na GPL fossem devidamente distribuídas com seus códigos-fonte. Como na época o OpenWRT possuía um foco no usuário avançado, o desenvolvedor Sebastian Gottschall (apelido “brainslayer”) criou o DD-WRT, com o intuito de popularizar e facilitar o acesso a estas firmwares alternativas para o WRT54G. O Sveasoft acabou caindo no esquecimento e irrelevância.

O DD-WRT também sofre de alguns resquícios de comportamentos da Sveasoft, tendo um processo muito complicado para customizações por parte do usuário e imponto travas que dificultam alterações de perfumaria(logos, cor, marca…) na interface web do roteador. Brainslayer considera justificáveis tais “travas” pela necessidade que possui de ganhar dinheiro desenvolvendo o DD-WRT e proteger sua marca, já que este hobby se tornou seu emprego. 

Outro detalhe importante é que os desenvolvedores do DD-WRT não se importam em embutir drivers proprietários(que não possuem licença aberta e distribuição dos códigos-fonte) nos roteadores, como é mostrado neste exemplo do fórum onde o desenvolvedor “Kong” explica como funciona inserção do driver da antena wifi no roteador da marca Netgear. Apesar de tudo, esta firmware continua sendo utilizada e se expande para suportar novos roteadores diariamente. Alguns fabricantes como a Buffalo até utilizam o DD-WRT de fábrica.

O projeto OpenWRT também teve problemas recentemente apesar de seu alto grau de transparência com licenças e grande nível técnico de seus membros. Desenvolvedores insatisfeitos com a morosidade na implementação de funções novas nesta firmware alternativa, e descontentes com a burocracia na escolha de novos membros, resolveram fundar o LEDE(Linux Embedded Development Environment).

Os líderes de ambos projetos começaram a se falar recentemente, resolvendo as diferenças em uma manobra que começou em maio de 2017, unificando a marca OpenWRT novamente, mas tendo que ceder a algumas exigências de desenvolvedores reentrantes do LEDE. Há males que vem para bem! O processo foi finalizado em janeiro de 2018. Após histórias dignas de novela mexicana, os projetos DD-WRT e OpenWRT se mostraram os mais aptos a continuar nos fornecendo firmwares alternativas para nossos roteadores.

A utilização do termo “hacker” nesta série denota pessoas de criatividade e com sede de aprendizado(intuito original da palavra). “Hackers do Linux” são os empolgados que fazem esta tecnologia crescer diariamente por meio de programação, palestras, workshops, matérias, divulgação, etc.

DD-WRT x OpenWRT. Qual usar?

Eles são nos dias de hoje os principais jogadores neste mundo das firmwares alternativas. Claro que há outras opções se você buscar por “3rd party firmware modelo_do_meu_roteador” no Google, mas estas são claramente as duas opções mais relevantes existentes e com maior documentação disponível na internet. Em uma outra parte desta série abordaremos as firmwares menos famosas de forma mais resumida.

Como devo escolher entre um e outro? Aqui vão algumas dicas no modelo perguntas e respostas:

  1. Qual deles suporta melhor modelos em que o fabricante não libera os drivers(cof, cof, Broadcom)? – DD-WRT sem dúvida. Eles são mais flexíveis ou menos criteriosos na utilização destes drivers. Se você não é um paranoico por achar que algo nestes drivers pode capturar informações sobre você, ou acha que isto é irrelevante pois você já usa drivers deste tipo na sua placa de vídeo, não há o que se preocupar.  Neste item, o OpenWRT acaba embarcando no bonde com drivers desenvolvidos por hackers do Linux, ou aguardando o fabricante abrir seus segredos de indústria e disponibilizar o código-fonte.
  2. Qual deles tem a interface web mais fácil de usar? DD-WRT também ganha esta. Sua interface é bastante fácil, e um utilizador menos avançado na informática pode configurar diversos aspectos sem dificuldades. O OpenWRT tem melhorado bastante, mas o seu forte é a linha de comando.
  3. Qual deles tem o processo de instalação mais fácil? Nenhum. Cada roteador pode ter seu procedimento especial de aplicação da firmware. Para modelos menos “exóticos” o procedimento é quase o mesmo: Acessar o roteador, e nos menus administrativos procurar por “atualização de firmware” e apontar o arquivo do DD-WRT ou OpenWRT.
  4. Qual deles possui sistema de pacotes e maior variedade de software? OpenWRT. Como o foco dele é parecer uma distribuição GNU/Linux, pela linha de comando dá pra instalar quase tudo. Falo sério aqui, e o link com a lista de grupos de pacotes disponíveis prova isto. Neste páreo o DD-WRT fica pra trás, tendo algumas soluções de contorno para instalar pacotes provenientes do OpenWRT, ou exigindo ao usuário que compile sua própria versão do DD-WRT com o software que deseja embutir.
  5. Qual deles possui a melhor documentação? Aqui eu também dá um empate. Os fóruns de ambos os projetos bem como suas wikis são bastante completos(porém em inglês).

Tive experiências boas e ruins com ambas as firmwares. Em um WRT160N hardware V3 da Linksys, o DD-WRT voava, suportando mais carga e sendo mais estável que a firmware de fábrica. Um dia converti para o OpenWRT e me arrependi bastante, pois o sinal da wifi ficou fraquíssimo mesmo com a potência configurada manualmente, e usando apenas redes padrão G(2.4GHz).

Até a interface de configuração era lenta demais conectando pela rede cabeada. Com o DD-WRT cheguei a hospedar um servidor proxy e um servidor de Teamspeak num micro velho em meados de 2009, com acesso somado de 40 pessoas, e o DD-WRT de “controlador de tráfego” para o que vinha da internet. Este roteador foi vendido recentemente e ainda está operando na casa de um amigo.

Já o WDR3600 hardwade v1.4 da TPLink se mostrou ineficiente com o DD-WRT. Sinal wifi ruim, dificuldades em configurar o cliente de OpenVPN, e diversas outras perdas de tempo me fizeram testar o OpenWRT nele. Por possuir um SoC Atheros, fabricante conhecido por ter drivers livres, a transição foi fácil e todo o hardware foi totalmente suportado.

No OpenWRT dá para “fazer chover” neste modelo e consegui atingir os seguintes pontos em um projeto com este hardware: Suporte a múltiplos links de internet, cliente OpenVPN que faz a rediscagem automática na troca de link, cliente zabbix e snmp para monitoramento, suporte a modens 3g/4g nas portas usb, marcação de vlans, e ainda sobra espaço no seu “gigantesco” disco de 8MB.

Por isto, a aplicação destas firmwares bem como a escolha depende de relatos na internet, da leitura de fóruns, experiência pessoal e da pesquisa de roteadores mais compatíveis, caso você ainda irá adquirir um. No próximo artigo, falaremos sobre versão de hardware e iniciaremos as explicações sobre o procedimento de aplicação das duas firmwares.