7
60 www.linuxmagazine.com.br Servidor de 1 watt A TP-Link [1] fabrica rotea- dores em várias classes de desempenho. O TL-MR3020 (figura 1) é comercializado pelo fabricante como um roteador móvel, porque é pequeno e leve. No entanto, ele não suporta 3G (quadro 1), embora seja possível atualizá-lo através da porta USB. Assim, o roteador é destinado a pessoas que não precisam de 3G ou possuem um dispositivo de conexão UMTS e, portanto, não desejam investir em um roteador móvel UMTS caro. No entanto, o uso “normal” do roteador não é o foco deste artigo; em vez disso, descreveremos como convertê- lo em um mini servidor. Para fazer isso, substituiremos o firmware existente pelo OpenWrt [2], uma distribuição Linux especial para microdispositivos. O OpenWrt contempla um sistema de geren- ciamento de pacotes que não é de forma alguma inferior ao das dis- tribuições clássicas; assim, apenas as limitações do hardware poderão conter a criatividade do usuário. O equipamento O TL-MR3020 é bastante adequa- do para este fim, por duas razões: por um lado, custa 30 euros (ou 40 dólares americanos) – o que não é muito, se acontecer do usuário “bri- car” (danificar permanentemente o sistema) do aparelho. Por outro lado, o fabricante não impõe obstáculos na instala- ção de firmware de terceiros. Para começar, baixe a versão correta do OpenWrt [3] e siga as breves (porém suficientes) instruções que vêm com o roteador para conectar-se à interface web do dispositivo. Quando chegar lá, faça o upload do novo firmware para o TL-MR3020, selecionando Upgrade no formulário web (figura 2). Fazer o upload do firmware é o úni- co passo realmente crítico de todo o processo. Assim, antes de carregar a imagem, é essencial verificar as pos- tagens na wiki do OpenWrt [3] e se- guir as instruções adequadas. De- pois de instalá-lo, o próximo passo é a configuração básica, particular- mente para a rede. Em seguida será neces- sário configurar uma série de pacotes de software que atualizam o suporte USB para meios de dados (do tipo pendrives ou discos rígidos). Esta etapa permite fazer o boot do roteador a partir de um disco ex- terno. No sistema de arquivos raiz, agora estendido, o usuário adiciona mais pacotes de software do reposi- tório OpenWrt para o aplicativo real. Tutorial Neste artigo, mostraremos como usar o OpenWrt para liberar o roteador TL-MR3020 do firmware proprietário e convertê-lo em um servidor conjunto para uma rede doméstica. por Bernhard Bablok Figura 1 O TL-MR3020 da TP-Link (à esquerda) não é maior do que a palma da mão do usuário. O mini hub USB de Pearl (direita) atua como um expansor.

Tutorial Servidor de 1 watt - linuxnewmedia.com.br · TP-Link [1] fabrica rotea- ... '192.168.3.100' 12 option netmask ... atribuir um endereço IP ao próprio computador manualmente

Embed Size (px)

Citation preview

Page 1: Tutorial Servidor de 1 watt - linuxnewmedia.com.br · TP-Link [1] fabrica rotea- ... '192.168.3.100' 12 option netmask ... atribuir um endereço IP ao próprio computador manualmente

60 www.linuxmagazine.com.br

Servidor de1 watt

A TP-Link [1] fabrica rotea-dores em várias classes de desempenho. O TL-MR3020

(figura 1) é comercializado pelo fabricante como um roteador móvel, porque é pequeno e leve. No entanto, ele não suporta 3G (quadro 1), embora seja possível atualizá-lo através da porta USB. Assim, o roteador é destinado a pessoas que não precisam de 3G ou possuem um dispositivo de conexão UMTS e, portanto, não desejam investir em um roteador móvel UMTS caro. No entanto, o uso “normal” do roteador não é o foco deste artigo; em vez disso, descreveremos como convertê- lo em um mini servidor.

Para fazer isso, substituiremos o firmware existente pelo OpenWrt [2], uma distribuição Linux especial para microdispositivos. O OpenWrt contempla um sistema de geren-ciamento de pacotes que não é de forma alguma inferior ao das dis-tribuições clássicas; assim, apenas as limitações do hardware poderão conter a criatividade do usuário.

O equipamentoO TL-MR3020 é bastante adequa-do para este fim, por duas razões: por um lado, custa 30 euros (ou 40 dólares americanos) – o que não é muito, se acontecer do usuário “bri-car” (danificar permanentemente

o sistema) do aparelho. Por outro lado, o fabricante não impõe obstáculos na instala-ção de firmware de terceiros. Para começar, baixe a versão correta do OpenWrt [3] e siga as breves (porém suficientes) instruções que vêm com o roteador para conectar-se à interface web do dispositivo. Quando chegar lá, faça o upload do novo firmware para o TL-MR3020, selecionando Upgrade no formulário web (figura 2).

Fazer o upload do firmware é o úni-co passo realmente crítico de todo o processo. Assim, antes de carregar a imagem, é essencial verificar as pos-tagens na wiki do OpenWrt [3] e se-

guir as instruções adequadas. De-pois de instalá-lo, o próximo passo é a configuração básica, particular-

mente para a rede. Em seguida será neces-

sário configurar uma série de pacotes de software que atualizam o suporte USB para meios de dados (do tipo pendrives ou discos rígidos).

Esta etapa permite fazer o boot do roteador a partir de um disco ex-terno. No sistema de arquivos raiz, agora estendido, o usuário adiciona mais pacotes de software do reposi-tório OpenWrt para o aplicativo real.

Tutorial

Neste artigo, mostraremos como usar o OpenWrt para liberar o roteador TL-MR3020 do firmware proprietárioe convertê-lo em um servidor conjunto para uma rede doméstica.por Bernhard Bablok

Figura 1 O TL-MR3020 da TP-Link (à esquerda) não é maior do que a palma da mão do usuário. O mini hub USB de Pearl (direita) atua como um expansor.

Page 2: Tutorial Servidor de 1 watt - linuxnewmedia.com.br · TP-Link [1] fabrica rotea- ... '192.168.3.100' 12 option netmask ... atribuir um endereço IP ao próprio computador manualmente

61Linux Magazine #106 | Setembro de 2013

Primeiro contatoApós a atualização do firmware e reboot do dispositivo, podemos co-nectar o PC ou laptop ao roteador

com o uso de um cabo. Configure a rede (normalmente podemos usar o gerenciador de rede para isso) e faça o login via Telnet em 192.168.1.1

(figura 3). O roteador executa um ser-vidor DHCP que fornece um ende-reço adequado para o PC ou laptop.

Neste ponto, devemos definir uma senha para o root. O OpenWrt, então, desliga o servidor Telnet por razões de segurança e inicia o servidor SSH. Em seguida, ajuste a configuração de rede para que o roteador esteja na rede doméstica; siga em frente e adicione mais soft-ware. Para mais informações sobre o sistema de configuração OpenWrt, veja o quadro 2.

Para usar o roteador como um servidor na rede doméstica, a con-figuração de rede deve se parecer com a listagem 1 (/etc/config/network) e listagem 2 (/etc/config/wireless). As linhas 9-15 na listagem 1 configuram a interface WLAN. Na listagem 2, a linha 19 garante que o servidor esteja integrado à rede como um cliente de WLAN e não como um ponto de acesso ou roteador.

Após o reboot, o dispositivo deve ser encontrado no endereço de rede configurado. Se não, o modo de emergência pode ajudar: durante o processo de boot, pressione o botão WPS tão logo comece a piscar. Se o LED piscar rapidamente, ligue-o no-vamente. Agora o dispositivo estará

Figura 2 O OpenWrt é carregado como uma atualização de firmware através da interface web original no TL-MR3020.

Figura 3 Feito: O primeiro login no OpenWrt.

Listagem 1: /etc/config/network01 # /etc/config/network ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑02 03 config interface 'loopback' 04 option ifname 'lo' 05 option proto 'static' 06 option ipaddr '127.0.0.1' 07 option netmask '255.0.0.0' 08 09 config interface 'wifi' 10 option proto 'static' 11 option ipaddr '192.168.3.100' 12 option netmask '255.255.255.0' 13 option gateway '192.168.3.1' 14 list dns '192.168.3.1' 15 list dns '8.8.8.8'

Page 3: Tutorial Servidor de 1 watt - linuxnewmedia.com.br · TP-Link [1] fabrica rotea- ... '192.168.3.100' 12 option netmask ... atribuir um endereço IP ao próprio computador manualmente

62 www.linuxmagazine.com.br

no modo Failsafe com o endereço padrão 192.168.1.1 e executando o daemon Telnet. Podemos nos co-nectar ao Telnet e fazer as correções necessárias. No entanto, nenhum servidor DHCP está disponível no roteador neste modo. Devemos atribuir um endereço IP ao próprio computador manualmente.

Mais softwareA imagem do firmware original não contém todos os componentes ne-cessários para o funcionamento do sistema de arquivos raiz em um

pendrive USB, assim, teremos que adicioná-los agora. Após concluir com sucesso a configuração de rede, o mini roteador pode acessar a Internet e usar o sistema de gerenciamento de pacotes conveniente para instalar software adicional retroativamente.

O ponto crucial é o comando opkg, que precisamos executar como root. Para fazer isso, primeiro chame opkg update para atualizar a lista de pacotes. Em seguida, instale os pacotes especi-ficados usando o seguinte comando:

# opkg install <pacote>

Se o usuário estiver procurando por um pacote específico, o subco-mando list gera uma lista de pa-cotes com descrições breves. Para a instalação USB, precisamos basi-camente de um conjunto de paco-tes do kernel (listagem 3). É melhor particionar e formatar o pendrive USB (/dev/sdb na listagem – pode ser necessário ajustar isso) no PC. Além da partição raiz, é desejável manter uma partição home e, acima de tudo, espaço de swap.

Depois, podemos simplesmente conectar o pendrive no roteador e

Figura 4 Usando a interface web no OpenWrt para recuperar o estado do sistema.

Quadro 1: HardwareO TL-MR3020 é uma pequena caixa de plástico branca (figura 1) medindo 7,4 x 6,7 x 2,2 centímetros e pesando apenas 60 gramas. Um conector USB mini é usado para a fonte de alimentação e o adaptador AC oferecido fornece 1 watt. Além disso, o roteador também funciona sem problemas em uma porta USB. Além dis-so, o TL-MR3020 inclui uma porta USB 2.0 e uma porta Ethernet RJ45 (100Mbps). A TP-Link fornece um curto cabo de extensão para esta última. No lado sem fio, o pequeno roteador suporta IEEE 802.11b/g/n em até 150Mbps.

O TL-MR3020 utiliza cinco LEDs para indicar o status, quatro dos quais podem ser programados. Há também um botão para a configuração sem fio via WPS e um desbloqueador com três posições (3G/WISP/AP). Por dentro, o roteador possui uma CPU ARM de 400MHz e 32MB de RAM. O sistema operacional reside em um chip de memória flash de 4 MB. A porta USB é usada com o firmware original para conectar um dispositivo de conexão UMTS para operação como um roteador 3G móvel. Sem um pendrive, o dispositivo funciona como um ponto de acesso sem fio.

Como uma adição útil ao TL-MR3020, recomendamos um hub USB mini Pearl (figura 1). Este dispositivo integra um leitor de micro-SDHC e, portanto, fornece o sistema de arquivos raiz avançado descrito neste artigo em um cartão de me-mória, sem bloquear a porta USB.

A placa do roteador contém portas adicionais, mas o TP-Link não faz o roteamento delas. Se o usuário usar um ferro de solda poderá anexar outros componentes, como um console serial, uma interface I2C ou uma antena externa. A wiki do OpenWrt apresenta algumas fotos e links para instruções relevantes sobre o TL-MR3020 [3].

Listagem 2: /etc/config/wireless01 # /etc/config/wireless ‑‑‑‑‑‑‑‑‑‑02 03 config wifi‑device radio0 04 option type mac80211 05 option channel 11 06 option macaddr 90:f6:52:e6:d7:b2 07 option hwmode 11ng 08 option htmode HT20 09 list ht_capab SHORT‑GI‑20 10 list ht_capab SHORT‑GI‑40 11 list ht_capab RX‑STBC1 12 list ht_capab DSSS_CCK‑40 13 # REMOVE THIS LINE TO ENABLE WIFI: 14 # option disabled 1 15 16 config wifi‑iface 17 option device radio0 18 option network wifi 19 option mode sta 20 option ssid 'my‑ssid' 21 option encryption psk2 22 option key 'secret'

Page 4: Tutorial Servidor de 1 watt - linuxnewmedia.com.br · TP-Link [1] fabrica rotea- ... '192.168.3.100' 12 option netmask ... atribuir um endereço IP ao próprio computador manualmente

63Linux Magazine #106 | Setembro de 2013

alterar a configuração dos pontos de montagem no arquivo /etc/config/fstab. As linhas 10-16 na listagem 4 são importantes. A última linha da listagem 3 copia todo o sistema de arquivos raiz para o pendrive. Criar um backup agora é aconselhável. O sistema ainda fará o boot, mesmo sem o pendrive inserido: neste caso, ele simplesmente ignora os dispo-sitivos não existentes.

Depois de um reboot com um pendrive, finalmente teremos mais espaço em disco. Quaisquer pa-cotes adicionados agora poderão ser armazenados lá. Isto posto, ter o sistema de arquivos raiz em um dispositivo USB é muito útil. Pode-mos modificar a configuração com os editores habituais em um PC e facilmente copiar os dados entre os locais (por exemplo, para backups).

Neste ponto, a configuração básica está concluída, exceto por algumas coisas, como o hostname. O restante do procedimento depende de como será utilizado o roteador, sendo pos-sível usar o gerenciador de pacotes para recuperar e configurar o soft-ware necessário. O procedimento

no OpenWrt não é diferente do de qualquer outro tipo de distribuição.

Botões e LEDsPor meio da interface web ou SSH, podemos controlar completamente o TL-MR3020 como um mini servidor. No entanto, é mais fácil utilizar os bo-tões existentes. O botão WPS original é adequado para desencadear ações individuais, e o interruptor (slide switch) na lateral (com três posições) faz a co-mutação entre as diferentes condições de operação (mais sobre isso depois).

Os LEDs servem como uma espécie de dispositivo de saída. Três estados diferentes são possíveis: ligado, des-ligado ou piscando. Em combinação com os botões, podemos compilar alguns recursos interessantes. Do pon-to de vista técnico, é preciso controlar os LEDs nos arquivos abaixo de /sys/class/leds (por exemplo, para o WPS LED, este é o diretório /sys/class/leds/tp‑link:green:wps). Os fabricantes do OpenWrt escondem a complexidade,

Quadro 2: Como configurar o OpenWRTO sistema de configuração OpenWrt continua a ser muito consistente em todos os pacotes relacionados ao sistema. Todos os arquivos de configu-ração estão localizados em /etc/config e são estruturados apenas arqui-vos de texto simples que são mais facilmente alterados em um editor.Para a operação de produção do roteador posteriormente, a interface web é a alternativa preferida do editor: aqui, pode-se facilmente mo-dificar os parâmetros de configuração individuais e consultar o estado do sistema (figura 4). Outra alternativa é uma interface para a linha de comando. O comando:

$ uci get system.slider.handler

lê o valor da opção handler na seção slider do arquivo /etc/config/sys‑tem. Para scripts, a biblioteca /lib/functions.sh oferece alguns utilitários que facilitam significativamente a definição das configurações.

Listagem 3: Preparação do pendrive USB01 # Set up the root filesystem on a USB stick 02 # Basic USB support (USB 1.1 and USB 2) 03 opkg update 04 opkg install kmod‑usb‑uhci kmod‑usb‑ohci kmod‑usb2 05 insmod uhci 06 insmod usb‑ohci 07 insmod usbcore 08 insmod ehci‑hcd 09 10 # USB Storage (FAT requires additional modules 11 # that you can upgrade later, however) 12 opkg in stall kmod‑usb‑storage‑mount block kmod‑fs‑ext4‑core kmod‑scsci 13 14 # Prepare USB stick (on the PC) 15 # ‑> Partition with three partitions (root, home, swap) 16 # fdisk /dev/sdb etc. 17 # ‑> Format partitions with ext4 or swap 18 # mkfs.ext4 /dev/sdb1 19 # mkfs.ext4 /dev/sdb2 20 # mkswap /dev/sdb3 21 22 # Prepare root on USB (copies old root file system) 23 mkdir ‑p /mnt/usb 24 mount /dev/sda1 /mnt/usb 25 tar ‑cvf ‑ ‑C /overlay . | tar ‑xf ‑ ‑C /mnt/usb 26 umount /mnt/usb

Listagem 4: Configure os pontos de montagem01 # Configure mountpoints 02 config global automount 03 option from_fstab 1 04 option anon_mount 1 05 06 config global autoswap 07 option from_fstab 1 08 option anon_swap 0 09 10 config mount 11 option target /overlay 12 option device /dev/sda1 13 option fstype ext4 14 option options rw,sync 15 option enabled 1 16 option enabled_fsck 0 17 18 config mount 19 option target /home 20 option device /dev/sda2 21 option fstype ext4 22 option options rw,sync 23 option enabled 1 24 option enabled_fsck 1 25 26 config swap 27 option device /dev/sda3 28 option enabled 1

Page 5: Tutorial Servidor de 1 watt - linuxnewmedia.com.br · TP-Link [1] fabrica rotea- ... '192.168.3.100' 12 option netmask ... atribuir um endereço IP ao próprio computador manualmente

64 www.linuxmagazine.com.br

e o usuário normalmente só precisa editar a configuração no arquivo /etc/config/system (listagem 5, linhas 13-35).

Normalmente, o OpenWRT con-templa um conjunto de LEDs que identifica os estados de funciona-

mento de componentes individuais, tais como a rede ou interface USB. No entanto, podemos ajustar os pa-drões para atender às necessidades de cada usuário. Configurar o switch também é fácil. Precisamos configurar os eventos do sistema do kernel, para que ele acione (triggers) os botões de evento apropriados. Para fazer isso, edite o arquivo /etc/hotplug2.rules e remova o cursor antes da string ^Buttons. Como esta é uma lista de exceções, habilitamos os eventos para os botões removendo o sinal de comentário. A partir de agora, o

sistema executa todos os scripts no diretório /etc/hotplug/button para cada evento do botão. As variáveis BUTTON e ACTION estão definidas.

Um exemplo que demonstra a interação com os LEDs é exibido na listagem 6. Este script é apenas para o botão WPS (linha 22), e faz com que o WPS LED pisque por três segundos (linhas 6-8 e 10) e, em seguida, apague por mais três segundos. Quando sol-tamos o botão, o script aciona o LED novamente (linha 19). Em vez de arma-zenar cada script individualmente no diretório Button e consultar o status do switch lá, como na listagem 5, faz sentido fazer o download de um script de botão genérico do OpenWrt [4]. Depois, podemos configurar o switch de forma semelhante a dos LEDs em /etc/config/system.

O botão WPS está configurado como um switch desligado aqui: se pressionarmos o botão por pelo me-nos três e no máximo seis segundos e soltarmos em seguida, o sistema será desligado (linhas 37-42 na listagem 5).

Esta etapa também revela o signi-ficado do programa na listagem 6; o botão do LED pisca durante três se-gundos e, em seguida, desliga-se por três segundos – assim não temos que

Listagem 5: Edição do arquivo /etc/config/system01 # Configuring LEDs and buttons 02 config system 03 option hostname 'jupiter. bablokb‑local.de' 04 option timezone 'CET‑1CEST,M3.5.0,M10.5.0/3' 05 06 config timeserver 'ntp' 07 list server '0.openwrt.pool.ntp.org' 08 list server '1.openwrt.pool.ntp.org' 09 list server '2.openwrt.pool.ntp.org' 10 list server '3.openwrt.pool.ntp.org' 11 option enable_server '0' 12 13 config led 'led_usb' 14 option name 'USB' 15 option sysfs 'tp‑link:green:3g' 16 option trigger 'usbdev' 17 option dev '1‑1' 18 option interval '50' 19 20 config led 'led_wlan' 21 option name 'WLAN' 22 option sysfs 'tp‑link:green:wlan' 23 option trigger 'phy0tpt' 24 25 config led 'led_lan' 26 option name 'LAN' 27 option sysfs 'tp‑link:green:lan' 28 option trigger 'netdev' 29 option dev 'eth0' 30 option mode 'link tx rx' 31 32 config led 'led_wps' 33 option name 'wps' 34 option sysfs 'tp‑link:green:wps' 35 option trigger 'default‑on' 36 37 config button 38 option button 'wps' 39 option action 'released' 40 option min '3' 41 option max '6' 42 option handler 'halt' 43 44 config button 45 option button 'wps' 46 option action 'released' 47 option min '0' 48 option max '2' 49 option handler 'logger wps pressed 0‑2s' 50 51 config slider 'slider' 52 option handler '/usr/sbin/handle_ slider'

Listagem 6: Interação com o LED01 #!/bin/sh 02 # Handle button events 03 04 set_led_blink() { 05 # Switch flashing on (1s on / 0.2 sec off) 06 ech o timer > /sys/class/leds/ tp‑link\:green\:wps/trigger 07 ech o 1000 > /sys/class/leds/ tp‑link\:green\:wps/delay_on 08 ech o 200 > /sys/class/leds/ tp‑link\:green\:wps/delay_off 09 # Turn off after three seconds 10 sleep 3 11 echo none > /sys/class/ leds/tp‑link\:green\:wps/ trigger 12 # Turn on after three seconds 13 sleep 3 14 set_led_on 15 } 16 17 set_led_on() { 18 # Turn on LED 19 ech o default‑on > /sys/class/leds/ tp‑link\:green\:wps/trigger 20 } 21 22 if [ "$BUTTON" = "wps" ]; then 23 if [ "$ACTION" = "pressed" ]; then 24 set_led_blink & 25 else 26 set_led_on 27 fi 28 else 29 exit 0 30 fi

Listagem 7: Checando o status do desbloqueador01 #!/bin/sh 02 # Read the slider (aka BTN_0/BTN_1) 03 # rmmod uses underscores, insmod uses strokes! 04 rmmod gpio_button_hotplug # Remove kernel module 05 echo 18 > /sys/class/gpio/ export # export BTN_0 06 echo 20 > /sys/class/gpio/ export # export BTN_1 07 cat /sys/class/gpio/gpio18/ value > /var/run/BTN_0 # Status BTN_0 08 cat /sys/class/gpio/gpio20/ value > /var/run/BTN_1 # Status BTN_1 09 echo 18 > /sys/class/gpio/ unexport # unexport BTN_0 10 echo 20 > /sys/class/gpio/ unexport # unexport BTN_1 11 insmod gpio‑button‑hotplug # Load kernel module

Page 6: Tutorial Servidor de 1 watt - linuxnewmedia.com.br · TP-Link [1] fabrica rotea- ... '192.168.3.100' 12 option netmask ... atribuir um endereço IP ao próprio computador manualmente

65Linux Magazine #106 | Setembro de 2013

contar para desligar o sistema. Da mes-ma forma, também podemos usar o botão WPS para iniciar outra operação com cliques curtos. A listagem 5 (linhas 44-49) configura uma entrada de log para fins de demonstração.

Deslizar para desbloquearO desbloqueador (slide switch) do TL-MR3020 é um pouco mais com-plicado por dois motivos. Primeiro,

o kernel não o identifica como um botão, mas como dois; mapear os três estados possíveis conta como 2 bits. Cada alteração de estado aciona dois eventos, que atingem o script de processamento sequen-cialmente, mas devem ser avaliados em conjunto. Em segundo lugar, o sistema de eventos só identifica as alterações de estados.

Agora podemos arriscar um pe-queno script que verifica o status do desbloqueador durante o boot, por exemplo, para configurar o ambiente de rede. Esse aspecto, no entanto, é apenas sugestionado na documen-tação disponível na wiki do OpenWrt. A listagem 7 mostra como: o script armazena o status dos dois botões BTN_0 e BTN_1 em arquivos devidamen-te nomeados em /var/run. O script é executado uma vez durante a ini-cialização, a partir de /etc/rc.local.

Em contraste, o script na listagem 8 é executado para cada evento do botão. Ele atualiza o botão de status em /var/run. Além disso, ele inicia um script de processamento. A magia extra nas linhas 10-12 garante que apenas um script de processamento se inicie. O tempo de espera antes do processa-mento (linha 21) garante que todos os eventos relevantes do botão também sejam recebidos e processados. As linhas 16 e 17 recuperam o script de processamento do arquivo de con-figuração em /etc/config/system. O script de processamento, em seguida, começa na linha 22.

Um exemplo do script é exibido na listagem 9. Ele lê o status do des-bloqueador e reconfigura a rede. Os

Quadro 3: Mais exemplos de aplicaçõesA utilidade do TL-MR3020 é resultado do baixo consumo de energia e mobilidade. Ele pode ser utilizado como um servidor de sincronização usando o aplicativo “Rsync for Android” para sincronizar dados entre dispositivos móveis, o servidor e outros computadores. Na estrada, o servidor atua como um roteador e emula uma rede doméstica, sem a necessidade de reconfigurar o “zoo” móvel.

Cenários de aplicação detalhados para o TLMR3020 podem ser encontrados online através de uma simples pesquisa na web. Estes variam de servidores web e gateways VPN a plataformas de rede social simples. Para explorar os limites do computador, também instalamos o ownCloud no TL-MR3020. O aplicativo precisa de um servidor web e uma pilha PHP completa.

Recursos básicos como a visualização e manutenção do calendário também funcionam, porém mais lentamente. Além disso, o TL-MR3020 quebrou a reprodutibilidade ao tentar fazer o upload de várias imagens ao mesmo tempo. Talvez um pouco de ajuste possa ajudar, mas para executar o ownCloud efetivamente, o usuário precisa de algo mais poderoso no lado do hardware.

Listagem 8: Atualização do botão de status01 #!/bin/sh 02 # Handle slider events 03 . /lib/functions.sh 04 DELAY=5 05 LOCK=/var/run/slider.lock 06 07 # ‑‑‑ Run Update (asynchronous) ‑‑‑ 08 run_handler() { 09 # Only start if not already active 10 if ! mkdir "$LOCK" 2>/dev/null; then 11 logger "update‑script already running" 12 exit 0 13 fi 14 15 # Read processing script from /etc/config/system 16 config_load system 17 config_get handler slider handler 18 logger "handler‑script: $handler" 19 20 logger "wait $DELAY seconds for all events" 21 sleep $DELAY 22 eval $handler # Execute handler 23 rm ‑fr "$LOCK" 24 } 25 26 # ‑‑‑ Main Program ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 27 logger "Process event '$ACTION' for $BUTTON" 28 29 # Ignore WPS button 30 if [ "$BUTTON" = "wps" ]; then 31 exit 0 32 fi 33 34 # Update button file to match event 35 if [ "$ACTION" = "pressed" ]; then 36 echo "1" > "/var/run/$BUTTON" 37 else 38 echo "0" > "/var/run/$BUTTON" 39 fi 40 # Run asynchronously 41 run_handler & # (do not block event handling)

Page 7: Tutorial Servidor de 1 watt - linuxnewmedia.com.br · TP-Link [1] fabrica rotea- ... '192.168.3.100' 12 option netmask ... atribuir um endereço IP ao próprio computador manualmente

66 www.linuxmagazine.com.br

arquivos de rede atuais são apenas links simbólicos; assim, a reconfigu-ração consiste em apontar os links simbólicos para os novos arquivos de configuração. Por exemplo, /etc/config/network.AP contém a configu-ração de rede quando o cursor de desbloqueio está na posição AP. Faz sentido iniciar o script de processa-mento no momento da inicialização (em /etc/rc.local), após a leitura do status do cursor.

ConclusãoNeste artigo explicamos o hardware, assim o usuário “apenas” precisa com-binar os componentes individuais. Para informações mais detalhadas sobre a obtenção de um dispositivo de conexão UMTS para executar ou implementar cenários de rede espe-cíficos, consulte a wiki do OpenWrt.

O pequeno roteador TL-MR3020 não pode cobrir todas os aplicativos (quadro 3). No entanto, os mecanis-

Listagem 9: Processamento do script01 #!/bin/sh 02 # Processing script for the slider 03 logger "Execute $0" 04 05 # Read status of slider 06 if [ `cat /var/run/BTN_0` = "0" ]; then 07 slider="WISP" 08 elif [ `cat /var/run/BTN_1 ̀= "0" ]; then 09 slider="3G" 10 else 11 slider="AP" 12 fi 13 logger "Status of slider: $slider" 14 15 # Remove old symlinks 16 rm /etc/config/dhcp 17 rm /etc/config/network 18 rm /etc/config/wireless 19 20 # Set new symlinks 21 ln ‑s dhcp.$slider /etc/config/dhcp 22 ln ‑s network.$slider /etc/config/ network 23 ln ‑s wireless.$slider /etc/config/ wireless 24 25 # Restart network and DHCP 26 /etc/init.d/network restart 27 /etc/init.d/dnsmasq restart

mos descritos aqui são pelo menos similares para outros dispositivos, incluindo os de outros fabricantes. Na extremidade superior do espec-tro de potência estão os dispositivos QNAP NAS que vêm munidos com o OpenWrt. No entanto, a gama de serviços pré-configurados torna a personalização mais difícil. n

Mais informações[1] TP-Link: http://www.tp‑link.com.de/

[2] Projeto OpenWrt: ht‑tps://openwrt.org

[3] Detalhes para TL-MR3020: http://wiki.openwrt.org/toh/tp‑link/tl‑mr3020/

[4] Processamento genéri-co de botões de eventos: https://dev.openwrt.org/browser/trunk/target/li‑nux/atheros/base‑files/etc/hotplug.d/button/00‑button/

Disponível no site www.LinuxMagazine.com.br

Principais comandos de configuração de um roteador Cisco

Temas e configurações avançadas

Segurança, dicas, truques e resolução de problemas

Coleção

Academy!