Ícone do site CooperaTI

Instalando programas no roteador TL-WR1043ND com DD-WRT


 
Bem, continuando a série de posts sobre o DD-WRT no roteador TP-Link TL-WR1043ND, já colocamos o novo firmware para funcionar e temos muito mais funções disponíveis, desde melhor configuração de segurança até a possibilidade de criar um hot-spot. Lembrando que qualquer procedemento de alteração de sistema original invalida garantias e não me responsabilizo por nada que venha acontecer ao seu roteador, apenas ao meu. 😉
Neste artigo estou utilizando uma versão beta que está em ftp://dd-wrt.com/others/eko/BrainSlayer-V24-preSP , baixe a versão mais nova para o que você precisa a versão factory-to-ddwrt para instalação do zero ou a versão tl-1043nd para atualização de outra versão do dd-wrt. Como símbolo do prompt de administrador (root) usarei o # no início da linha de comando e como comentário dentro de arquivos.
Mas a grande vantagem desse equipamento é a capacidade de uso de um disco USB para compartilhamento de arquivos via SMB (Samba) ou FTP, mas no nosso caso iremos usar o disco USB para montar um diretório e instalar os programas nele, então não usaremos o espaço da ROM e conseguiremos instalar quase todo tipo de programa para Linux. Vejamos como.

Primeiro entremos nas configurações do nosso roteador pelo browser em http://192.168.1.1. Na tela de configuração do DD-WRT vamos primeiro habilitar o acesso remoto através do protocolo SSH. Clique na aba Services → Services e habilite o SSH como na imagem abaixo:
 

 
Na aba Services → USB habilite o suporte a USB Core, USB Printer(se você precisar disso), USB Storage e selecione o Automount, como na figura abaixo para o diretório /mnt.


➤ Conheça nosso programa de assinatura: https://cursos.bernardes.com.br/bexpert-cooperati


 

 
Na aba Administração → Gerenciamento, desabilite o uso de JFFS2

 
Sempre que fizer essas alterações não se esqueça de mandar Aplicar.
Se tudo estiver correto basta plugar o disco USB, já particionado em EXT2 ou EXT3, e reiniciar o roteador para fazermos a montarmos o disco e fazermos as configurações necessárias.
Vamos acessar o dispositivo pelo SSH para configurarmos pelo prompt de comandos:
# ssh root@192.168.1.1

 
Utilize a senha de administrador utilizada na configuração do roteador.
Vamos montar o disco USB que deve ser seu sda1, para verificar digite:
# cat /proc/partitions
Fora os mtdblocks que são os discos de ROM, os sd* são as partições do USB.
Monte com o seguinte comando:
# mount -t ext3 -o noatime /dev/discs/disc0/part1 /mnt
Veja:

 
Depois de montado vamos criar a estrutura de diretórios necessários para que os pacotes instalados possam funcionar corretamente.
# cd /mnt
# mkdir etc opt root
# touch optware.enable
# chmod 755 etc opt root
# mkdir opt/lib
#chmod 755 opt/lib
#cp -a /etc/* /mnt/etc/
#mount -o bind /mnt/etc /etc
# mount -o bind /mnt/opt /jffs

 
Baixe o arquivo lib.tar nesse endereço http://www.box.net/shared/gsosdajvzm , essas bibliotecas servirão para o uso do programa opkg para instalar pacotes e suas dependências. Assim criaremos uma área de programas no disco USB. Baixe na sua máquina de depois copie para o Roteador, quem não tem SSH nem SCP pode utilizar o Putty e o WinSCP.
Após baixar utilize o SCP para copiar o arquivo para o roteador, entre em outro terminal e estando no diretório onde o arquivo foi baixado digite:
# scp lib.tar root@192.168.1.1:/mnt
Após copiar o arquivo vá para o teminal onde está com ssh no roteador e descompacte o arquivo no diretório /jffs/lib e altere as permissões dos arquivos:
# tar xvf lib.tar -C /jffs/lib
# chmod a+x /jffs/lib/*
Assim as bibliotecas estarão no diretório correto com a permissão correta.
Feito isso vamos baixar e instalar o opkg para podermos instalar pacotes via internet, façamos o seguinte:
# cd /tmp
# wget http://downloads.openwrt.org/backfire/10.03/ar71xx/packages/opkg_513-2_ar71xx.ipk
# ipkg install /tmp/opkg_513-2_ar71xx.ipk
Após baixar e instalar vamos criar o arquivo de configuração do OPKG para que ele saiba de onde baixar os pacotes e onde fazer a instalação dos mesmos com o seguinte conteúdo:
# vi /etc/opkg.conf
src/gz snapshots http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/
dest root /opt
dest ram /tmp
lists_dir ext /tmp/var/opkg-lists
ou faça copiando as linhas abaixo e colando terminal:
cat > /etc/opkg.conf << EOF
src/gz snapshots http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/
dest root /opt
dest ram /tmp
lists_dir ext /tmp/var/opkg-lists
EOF
Para garantir que a máquina irá montar a partição do disco externo no local certo iremos na aba Administração → Diagnósticos (em inglês Administration → Commands) e colocar o seguinte script na caixa de texto para carregar o mesmo na inicialização, basta colar na caixa de texto e depois clicar em “Salvar inicialização” (Save startup):
#!/bin/sh
sleep 5
mount -t ext3 -o noatime /dev/discs/disc0/part1 /mnt
sleep 2
if [ -f /mnt/optware.enable ]; then
mount -o bind /mnt/etc /etc
mount -o bind /mnt/root /tmp/root
mount -o bind /mnt/opt /opt
else
exit
fi
if [ -d /opt/usr ]; then
export LD_LIBRARY_PATH=’/opt/lib:/opt/usr/lib:/lib:/usr/lib’
export PATH=’/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/sbin:/usr/sbin:/usr/bin’
else
exit
fi

 
Pode aplicar as alterações e com o disco USB plugado pode, pelo modo texto mandar reiniciar
# reboot
Após iniciar o roteador iremos nos conectar e executar alguns comandos para instalar uns pacotes básicos:
# ssh root@192.168.1.1
Após conectarmos iremos atualizar algumas variáveis de ambiente e o opkg:
# export LD_LIBRARY_PATH=’/opt/lib:/opt/usr/lib:/lib:/usr/lib’
# export PATH=’/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/sbin:/usr/sbin:/usr/bin’
# opkg update
# opkg install libc
# opkg install libgcc
# opkg install uclibcxx
# opkg install libncurses
# opkg install busybox
Agora vamos instalar nosso cliente de bittorrent chamado transmission, para que nunca mais você deixe sua máquina ligada fazendo os seus downloads, eles são feitos a partir de seu roteador e gravados no seu disco USB para você poder copiar via ftp ou via scp posteriormente:
# opkg install transmission-web
Depois de instalado executemos o daemon do transmission para que ele crie os diretórios do programa:
# transmission-daemon
Após alguns segundos finalize o processo:
# killall transmission-daemon
Pronto agora podemos criar seu arquivo de configuração com os dados do programa e o diretório onde ele deve gravar os arquivos. Com o vi crie o arquivo /mnt/root/.config/transmission-daemon/settings.json com o seguinte conteúdo:
# vi /mnt/root/.config/transmission-daemon/settings.json
{
“blocklist-enabled”: 1,
“download-dir”: “/mnt/share/torrents”,
“download-limit”: 100,
“download-limit-enabled”: 1,
“encryption”: 2,
“max-peers-global”: 35,
“peer-port”: 25000,
“pex-enabled”: 1,
“port-forwarding-enabled”: 1,
“rpc-authentication-required”: 0,
“rpc-password”: “”,
“rpc-port”: 9091,
“rpc-username”: “”,
“rpc-whitelist”: “192.168.1.*”,
“upload-limit”: 200,
“upload-limit-enabled”: 1
}
Crie o diretório dos torrents:
# mkdir -m 777 /mnt/share/torrents
Com o editor de texto, adicione ao final do arquivo /mnt/root/.profile esta linha export TRANSMISSION_WEB_HOME=’/opt/usr/share/transmission/web/’
# vi /mnt/root/.profile
export LD_LIBRARY_PATH=’/opt/lib:/opt/usr/lib:/lib:/usr/lib:/opt/usr/local/lib’
export PATH=’/sbin:/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/usr/bin:/usr/sbin:/opt/usr/local/bin’
export PS1='[33[01;31m]u@h [33[01;34m]W $ [33[00m]’
export TERMINFO=’/opt/usr/share/terminfo’
export TRANSMISSION_WEB_HOME=’/opt/usr/share/transmission/web/’
Vamos agora apagar o conteúdo do script de inicialização e colocar os comandos necessários para o serviço inicar com as nossas configurações.
# > /opt/etc/init.d/transmission
# vi /opt/etc/init.d/transmission
source /mnt/root/.profile
killall transmission-daemon
sleep 2
transmission-daemon -g /mnt/root/.config/transmission-daemon/
Basta agora mudar a permissão do arquivo e fazer o link simbólico para a inicialização:
# chmod +x /opt/etc/init.d/transmission
# ln -s /opt/etc/init.d/transmission /opt/etc/init.d/S60transmission
Agora execute o script manualmente:
# /opt/etc/init.d/transmission
Basta acessar seu roteador pela interface web para adicionar seus arquivos de torrent. No browser digite http://192.168.1.1:9091/

 
Em próximos posts irei mostrar como instalar e configurar um servidor FTP, um Servidor Samba e um proxy com Squid, aguardem.
Espero tenham gostado do artigo e não se esqueçam de assinar e divulgar o nosso Portal, para continuarmos a fazer o bom trabalho que gostamos de fazer.

Sair da versão mobile