Pesquisar neste blog

sexta-feira, 13 de janeiro de 2012

Quer trocar o sistema do seu Roteador Wireless por um Novo e melhor??

Quer trocar o sistema do seu Roteador Wireless por um Novo e melhor??  E ainda entender melhor como as coisas funcionam dentro do seu roteador?

É o que se propõem o projeto OpenWRT. Segue abaixo um artigo publicado pela Revista LinuxMagazine, escrito por: Martin Loschwitz.

 Roteadores WLAN com o OpenWrt. Roteador de cara nova.

O firmware de código aberto OpenWrt permite que você estenda os recursos de diversos roteadores e pontos de acesso sem fio.



Os entusiastas do Linux gostam de executar seu sistema operacional favorito em cada dispositivo ou aparelho que utilizam, incluindo até mesmo torradeiras e máquinas de café. Nos últimos 15 anos, o Linux começou a fazer parte de uma quantidade muito grande de categorias de aparelhos. O Dbox2 [1] é um caso famoso no  exterior, mas desconhecido por aqui. Há, até mesmo, Linux em iPods. A chegada do Android é outro ponto significativo:


Já existe no mercado uma grande quantidade de pontos de acesso sem fio baseadas em firmwares para Linux. E como você poderia esperar, alguns desenvolvedores voltaram seus esforços para estender a gama de firmwares existentes para esses aparelhos. Esse esforço deu origem ao projeto OpenWrt, que oferece uma alternativa de firmware para diversos equipamentos WLAN. De acordo com o site do projeto [2], a  ferramenta oferece um sistema de arquivos completamente editável com gerenciamento de pacotes. Agora todo mundo pode levar o Linux para onde bem entender.


Desta forma, você evitaria a seleção de aplicativos e configurações oferecidas pelo fabricante, permitindo ao usuário personalizar o dispositivo por meio do uso de pacotes que se enquadram em qualquer aplicativo. Para o desenvolvedor, o OpenWrt é um framework para a criação de um aplicativo sem se lançar a uma tarefa demasiadamente complexa de desenvolvimento de uma estrutura. Para o usuário, é a possibilidade de
personalização, para usar o dispositivo de formas jamais imaginadas. O nome OpenWrt pode ser explicado
por uma questão ocorrida há 8 anos: a Linksys, que ainda não era de propriedade da Cisco, vendia o roteador WLAN WRT54G com um firmware Linux, mas não oferecia seu respectivo código fonte, uma  infração óbvia da licença GPL. Quando alguns desenvolvedores descobriram isso, lançaram um apelo público para a empresa e seus desejos foram atendidos. A companhia publicou o código fonte para o firmware do Roteador e ainda criou uma fundação para seu trabalho de desenvolvimento. O projeto é oficial desde 2004  e o firmware já passou por diversas transformações em termos de recursos e qualidade. O título “OpenWrt” é apenas parcialmente apropriado, uma vez que ele pode ser instalado em muitos outros dispositivos, de diversas marcas. Muitos roteadores e pontos de acesso sem fio usam os mesmos componentes embaixo da  carcaça. Os dispositivos da Cisco e da Asus, por exemplo, têm visuais complemente diferentes, mas têm a mesma tecnologia por dentro. Para descobrir se o OpenWrt é compatível com seu dispositivo, uma boa ideia é visitar o site do projeto [2]. Quando chegar lá, você encontrará uma lista gigantesca de dispositivos, junto com outras informações de suporte. Se você procura comprar um roteador ou ponto de acesso suportado
pelo OpenWrt, outra opção é acessar à loja pela Internet com o seu smartphone, por exemplo, para comparar preços e recursos. Algumas precauções são aconselháveis: O Linksys WRT54G (e modelos WRT54GS relacionados) teve mais de vinte e quatro revisões de hardware e algumas delas não funcionam

com o OpenWrt. A dica é: leia a etiqueta na caixa para conferir se o modelo e revisão são adequados para o firmware. Neste artigo, vou mostrar como configurar um Asus WL500G com o OpenWrt. O dispositivo tem  portas LAN e duas portas USB que ficarão ainda mais úteis com o firmware.


Instalação do OpenWrt


Caso você decida dar uma chance ao OpenWrt, primeiro é necessário escolher sua versão. A versão atual
é a 10.03, também conhecida como Backfire, mas os desenvolvedores recomendam fortemente que se utilize
a próxima versão RC 10.03.1. A área de download no site do OpenWrt oferece aos usuários duas variações: uma com o nome brmc-2.4 e a outra brmc47xx. A maior diferença é que a brmc-2.4 utiliza a versão 2.4 do kernel Linux enquanto a segunda utiliza a versão 2.6. Uma visita rápida à página wiki do dispositivo [3] revela que os desenvolvedores recomendam a versão com o kernel 2.4 para os WL500GP com versão de hardware v2. Para os aparelhos com revisão v1, é recomendada a versão com o kernel mais recente. A maneira mais fácil de descobrir o firmware mais adequado para seu  dispositivo é visitar o wiki do OpenWrt e conferir a página de dispositivo. Os desenvolvedores geralmente dão recomendações corretas  sobre a melhor versão, embora as páginas de dispositivos tenham somente o link para a versão estável.
Se você quiser utilizar a versão RC, será necessário de um pequeno truque para encontrar o arquivo correto


Primeiro, você precisa de um link para a versão estável presente na wiki do seu próprio dispositivo. O link para o WL500GP é o:

http://downloads.openwrt.org/
backfire/10.03/brcm47xx/
openwrt-brcm47xx-squashfs.trx

depois, visite o site de download do Backfire [4] para visualizar todas as versões existentes para o OpenWrt.
Finalmente, você precisa encontrar a versão atual do 10.03.1 – que era 10.03.1-rc5 em outubro de 2010. No link da versão estável, simplesmente substitua o número da versão, que é 10.03, para o novo número, que seria 10.03.1-rc5. O link completo para o equipamento Asus WL500GP ficaria assim:

http://downloads.openwrt.org/
backfire/10.03.1-rc5/brcm47xx/
openwrt-brcm47xx-squashfs.trx

Após identificar a versão correta do firmware e fazer o download do arquivo correspondente – o firmware
utiliza um sufixo .trx – você pode continuar com a instalação. Novamente, algumas diferenças existem entre roteadores de diferentes fornecedores. Você pode se considerar sortudo se instalar o OpenWrt da forma mais fácil – usando a função de atualização na interface web fornecida pelo fabricante. Esta abordagem costuma funcionar melhor com aparelhos mais antigos. Por outro lado, os modelos mais novos ou roteadores com o firmware mais recente do fornecedor, não são fáceis. Os desenvolvedores de hardware tendem a equipar seus aparelhos com um firmware que evita a troca por uma versão “incorreta”. Já aconteceu de  usuários colocarem imagens em dispositivos que eram de outros aparelhos, fazendo o dispositivo ficar  bricado” (termo que vem do inglês bricked e é usado pela comunidade de desenvolvedores para definir um aparelho eletrônico caro que se tornou inutilizável). Para evitar o desgosto da “bricagem”, os fabricantes modificaram suas atualizações, o que acaba, infelizmente, bloqueando o OpenWrt.

Método TFTP



O Asus WL500GP é um exemplo de dispositivo à prova de bricagem. A interface web original de  gerenciamento se recusa a permitir que você instale o firmware OpenWrt. Se você está enfrentando esse problema, não desista: o TFTP proporciona um método seguro para a instalação do OpenWrt. A abordagem básica funciona assim: os pontos de acesso e roteadores têm um modo especial para a instalação de sistemas operacionais conhecido como modo diag. Um dispositivo em modo diag responderá a comandos TFTP  (TFTP – ou Trivial FTP – é um parente simplificado do protocolo FTP comumente usado para fazer o boot
de estações de trabalho sem disco e outros dispositivos simples). Para prosseguir, primeiro você precisa instalar o tftp, o cliente de linha de comando para o TFTP, que você encontrará no pacote tftp. Faz sentido iniciar o programa na pasta onde você armazenou a imagem OpenWrt para o dispositivo. O próximo passo é colocar o roteador ou ponto de acesso para o modo diag, o que envolve etapas diferentes, dependendo do dispositivo. Nesse ponto, vá à página do seu dispositivo no wiki do OpenWrt para obter respostas [5]. Para mudar o WL500GP para o modo diag, você precisa desligar o aparelho da tomada e ligá-lo novamente segurando o botão reiniciar (na parte de trás do dispositivo). Quando o LED que indica que o aparelho está  ligado começar a piscar lentamente, você está no modo diag. Para abrir uma conexão TFTP para o dispositivo, escreva tftp endereço de IP – caso você não tenha mudado o IP do seu roteador, ele será 192.168.1.1. Os comandos binary, trace e put arquivo_de_firwmare lidam com o resto do processo. Substitua arquivo_de_firmware com o nome do seu próprio arquivo de firmware.

Primeiro boot


Não importa qual firmware seu ponto de acesso WLAN utilizava antes que você tenha instalado o novo firmware. Ela agora responderá pelo IP 192.168.1.1. Para configurar o dispositivo, você provavelmente vai
precisar atribuir um endereço IP na rede para seu computador. Após fazer isso, nada poderá impedi-lo de
fazer login no dispositivo. A maior desvantagem surge nesse ponto: o OpenWrt não possui uma interface web, mas imediatamente após a instalação, você pode utilizar o Telnet para logar. A senha para o root não está configurada e você precisa de uma senha para logar por uma interface web. Após logar pela primeira vez usando o Telnet, tendo a certeza de que uma senha para o usuário root foi configurada, e lembrando que somente acesso SSH é permitido para conexões remotas. Mas agora você também terá a interface web  LuCI em suas mãos (figura 1). O Telnet está incluído nas distribuições Linux, mas talvez você precise instalá-lo. O comando telnet 192.168.1.1 abre a conexão e inicia um terminal Shell. Então, você precisa executar o comando passwd para configurar uma nova senha para o usuário root. O OpenWrt desabilita o Telnet e inicia o daemon SSH no lugar para sessões criptografadas. De agora em diante, você poderá acessar a interface web no endereço http:192.168.1.1. Seu nome de usuário é root e a senha é a configurada via Telnet. Após logar, você é levado a uma página de boas vindas.

Interface web


Os desenvolvedores trabalharam muito para criar uma interface web do OpenWrt na versão RC (release candidate) 10.03.1. Dois menus dão acesso a um conjunto de recursos muito importantes. O menu superior descreve as várias categorias de configuração. Logo abaixo, o segundo menu dá acesso aos detalhes. Ao clicar em Network/Interfaces, o usuário abre a configuração de rede (figura 2). Se sua rede não usa o espaço de endereço 192.160.1.0/24, você precisará alterar o endereço IP do dispositivo. Para isso, clique no ícone com um papel e uma caneta e escreva os valores para IPv4 Address, IPv4 Netmask e IPv4 Gateway. Se você deseja que o roteador abra uma conexão para a rede, você ainda precisa configurar a conexão PPoE nessa página. Para tanto, modifique a entrada wan; é uma boa ideia ter as credenciais do seu provedor de acesso à mão nesse ponto. Ao clicar em Save & Apply, tudo fica armazenado e as mudanças tomam efeito.
Se você deseja que o dispositivo OpenWrt aja como um servidor DHCP na sua rede local, você agora
tem que configurar o dhcpd. Para isso, desmarque Disable DHCP for this Interface nas configurações de
rede para a interface lan. O menu Network/Wifi também permite que você configure as propriedades
WLAN para o aparelho. Essas propriedades incluem o nome WLAN (ESSID) e o método de criptografia.
Se você quer usar um canal específico para a conexão sem fio, o menu WiFi é o lugar certo para configurar isso. O menu System permite que você mude o nome do host. Sempre lembre de pressionar Save no canto direito ao fazer mudanças. Após configurar o roteador para corresponder ao seu ambiente local, faça um  novo boot para aplicar as configurações.

Conexões VPN


Um recurso realmente prático do OpenWrt é a possibilidade de suportar VPNs diretamente no roteador.
Se você precisa de uma VPN, normalmente poderá configurá-la em sua área de trabalho e abrir uma
conexão entre o servidor de VPN e seu próprio cliente. A desvantagem é que a conexão VPN tem que viajar
por uma rede que utiliza NAT. O NAT pode ser um problema em conexões cliente/cliente, o que é driblado ao se configurar o VPN diretamente no roteador. Um efeito positivo disso é que você pode acessar o servidor VPN com cada máquina de sua rede e não somente um único PC.  O OpenWrt suporta tanto o Open-VPN quanto o IPsec no lado do cliente. No entanto, o OpenVPN é a única opção que pode ser convenientemente configurada na interface web (figura 3). Isso porque a interface não entende IPsec, o que
significa que você precisaria configurar na linha de comando. Se você nunca fez uma configuração manual
de IPsec, o desafio é grande, mas se você estiver disposto a encarar, vá em frente.


OpenVPN e OpenSwan


Os desenvolvedores do OpenWrt oferecem pacotes pré-elaborados para ajudar na configuração do Open-
VPN. Para instalar os componentes necessários, você primeiro precisa fazer login no roteador via SSH. Seu
nome de usuário será root de novo. Já com aceso ao Shell, escreva opkg update (figura 4), seguido por
opkg install openvpn, o que diz ao OpenWrt para instalar os pacotes necessários. Então, proceda com a
instalação do plugin do LuCI para OpenVPN.

O comando

opkg install luci-app-openvpn


faz isso. Nesse ponto, você deve reiniciar o OpenWrt e, após fazer login na interface web, conferir o novo menu de configurações Services/OpenVPN. Você pode configurar um Open-VPN como servidor ou cliente. Dois exemplos, sample_client e sample_server, estão prontos. Clique no ícone com a caneta para ir às configurações do item. Você pode clicar em Switch to advanced configuration para alterar qualquer aspecto da conexão OpenVPN. Feita a configuração, pressione Save. O procedimento para a instalação do OpenSwan, uma implementação de IPSec disponível no OpenWrt é similar. Após fazer login como root, digite:

opkg install openswan


para instalar o pacote com suas dependências. O arquivo de configuração é /etc/ipsec.conf e os arquivos
adicionais de configuração se encontram em /etc/ipsec.d. A configuração é muito parecida com qualquer
configuração de OpenSwan em um PC com Linux.


Solução para falta de espaço




O OpenWrt tem muito mais recursos do que eu poderia descrever nesse artigo, sendo que é muito difícil usar
todos eles em um sistema OpenWrt típico. O roteador médio tem 8MB de memória flash, o que faz com que não haja espaço suficiente para programas como Asterisk, CUPS ou Samba. Se você possui um roteador com uma porta USB, considere-se sortudo: ela permite que você se conecte a uma memória flash, dando  uma solução inteligente para a falta de espaço. O princípio básico é que todo o sistema seja jogado no armazenamento externo; o bootloader que inicia o OpenWrt originalmente utiliza o drive USB como seu principal dispositivo.


Para usar a solução, você primeiro precisa formatar o drive USB nos sistemas de arquivos ext3 ou ext4.
Você pode usar qualquer sistema Linux para fazer essa formatação. Para configurar um drive com uma
partição ext3 única e um nome de dispositivo /dev/sdb, use mfks.ext3 /dev/sdb1 nesse caso. Eu presumo
que você já tenha um drive com um sistema ext3 para os próximos passos. Agora, será necessário preparar
a instalação de OpenWrt. Para tanto, insira o seguinte comando opkg para instalar os programas e
ferramentas requisitados:


opkg update & & opkg install
block-mount block-hotplug
block-extroot kmod-usb-storage
kmod-fs-ext3 tar nano


Em seguida, você precisa montar o disco USB no sistema de arquivos OpenWrt para copiar todo o sistema
para o armazenamento externo. Nesse caso, a partição principal no drive USB é /dev/sda1 – os três comandos mostrados na listagem 1 usam esse ponto de montagem para montar o drive USB e copiar os dados. Para terminar, você precisará configurar o extroot no arquivo / etc/config/fstab. O comando nano
/etc/config/fstab abre o arquivo no editor Nano. A seção com nome config mount é que nos interessa:
mude a entrada na linha option target de /home para /mnt. Então, na linha option device, digite o nome
do dispositivo que você utilizou para a etapa prévia; no nosso exemplo, /dev/sda1. Para a linha option  enabled, mude o valor 0 para 1. No final, adicione a linha:

option is_rootfs 1


Então pressione [Ctrl] + [X] para sair do editor e [Y] para dizer ao Nano para salvar as mudanças. Após emitir um comando reboot, o retorno para o comando df -h (na linha de comando) deve estar parecido
com o da figura 5. A linha com /dev/sda1 é a mais importante: se ela existe, você pode ter a certeza de que o mecanismo extroot está funcionando.

Conclusão


O firmware alternativo OpenWrt estende substancialmente o escopo funcional de muitos roteadores
WLAN. Os recursos adicionais incluem ferramentas para comunicação segura e outros recursos de ponta.
Tudo sem investimento financeiro, com o único custo de tempo e cuidado para se selecionar o firmware
correto e usar cuidadosamente a linha de comando. Os resultados valem o esforço.



Quadro 1: DD-WRT – alternativa ao OpenWrt


Embora esse artigo esteja focado em OpenWrt, outras alternativas estão disponíveis para substituir o firmware original do fabricante em roteadores caseiros. Uma que vem a mente imediatamente é a DD-WRT, um projeto que foca na combinação de diversos recursos em uma interface simples e intuitiva (figura 6). O firmware DD-WRT está disponível no site do projeto relacionado [7]. O DD-WRT se difere do OpenWrt no que diz respeito ao público-alvo. Enquanto o OpenWrt se tornou amigável para usuários não muito técnicos
apenas recentemente, o DD-WRT foi criado para não especialistas. No tocante ao hardware suportado, o DD-WRT não está muito atrás do projeto análogo. Você poderia tê-lo instalado facilmente no WL500GP da
Asus, por exemplo. Apesar disso, maiores mudanças no DD-WRT ainda exigem visitas à linha de comando, como no caso de promover o roteador a servidores de impressão, por exemplo. No final das contas, sua escolha do firmware é só uma questão de preferência pessoal. No entanto, cada um tem seu próprio roadmap de desenvolvimento, então alternar nos experimentos entre os dois pode ser divertido no mundo do código aberto, no qual muitos caminhos levam à Roma.

Mais informações



[1] DBox2: http://en.wikipedia.org/wiki/DBox2
[2] OpenWrt: http://www.openwrt.org/
[3] Wiki do OpenWrt; página do Asus WL500GP: http://wiki.openwrt.org/toh/asus/wl500gp?s
[4] Download do OpenWrt “Backfire”: http://downloads.openwrt.org/backfire/
[5] Página wiki do dispositivo OpenWrt: http://wiki.openwrt.org/toh/start
[6] OpenSwan: http://www.openswan.org/
[7] DD-WRT: http://www.dd-wrt.org/


Gostou do artigo?
Queremos ouvir sua opinião.
Fale conosco em
cartas@linuxmagazine.com.br
Este artigo no nosso site:
http://lnm.com.br/article/6248


Fonte: http://www.linuxmagazine.com.br/images/uploads/pdf_aberto/LM_86_58_63_06_tut_openWRT.pdf

Nenhum comentário: