Projecto activo desde 1 de Janeiro de 2011
Tp-link wr1043nd
O Tp-link wr1043nd é um router extremamente versátil e muito bem suportado por openwrt e mvwrt e este artigo vem descrever como pode ser rentabilizado e utilizado para várias finalidades assim como tirar maior partido de algum do seu potencial.


Algumas destas funcionalidades aqui descritas incluem suporte para disco externo, ftp, nas, ipv6, xbox, usb, swap, samba, radv, tv, etc
Antes de iniciarmos o processo de configuração geral, necessitamos de actualizar a informação existente sobre o repositório de software digitando na linha de comandos:
opkg update
Suporte usb
Antes de se proceder à configuração para suporte usb temos de instalar o software adicional e necessário para tal.
Para suporte de capacidade de armazenamento:
opkg install kmod-usb-storage
Para suporte de systema de ficheiros e embora se possa utilizar fat, fat32 ou ntfs-ng; recomenda-se ext4 devido a ter melhor suporte e maior versatilidade:
opkg install kmod-fs-ext4
Montar o disco
Embora opcional, podemos e recomenda-se montar o disco externo algures no sistema com a ajuda do pacote de software de nome blkid para podemos ver o que se encontra disponível:
opkg install blkid
blkid /dev/sda4: UUID="e3e38a66-7d58-4ffc-b7c3-e75e4ed0d71e" /dev/sda3: UUID="6cfe70bf-fc7a-4e1c-9f6b-e2dbcfd09cff" /dev/sda2: UUID="043b3612-2c10-4ae5-b69f-1a9dfccf5a59" /dev/sda1: UUID="7ddcca2b-31ec-4ce3-9f55-3c4c7776a123"
Para proceder-mos a uma montagem automática pelo sistemas necessitamos de alguns scripts extra:
opkg install block-mount block-hotplug
/etc/init.d/fstab enable
De seguida reconfiguramos o ficheiro fstab de acordo com as nossas necessidades e o armazenamento externo que temos:
vi /etc/config/fstab
config global automount
option from_fstab 1
option anon_mount 0
config global autoswap
option from_fstab 1
option anon_swap 0
config mount
option target /mnt/sda4
option device /dev/sda4
option fstype ext4
option options rw,sync
option enabled 1
option enabled_fsck 0
config swap
option device /dev/sda2
option enabled 0
Suporte swap
Embora este router tenha 32 mb de memória ram; tal por vezes poderá não ser suficiente para determinados usos que ocasionalmente podem necessitar de mais memória ram como por exemplo dlna e existem basicamente 2 formas para aumentar a memória ram de um router.
- Criando ram virtual através de um ficheiro swap que embora mais lento mas também mais fácil.
- Substituindo o chip de ram já existente no router por um com maior capacidade ou adicionando outro se o router assim permitir
Criar swap
dd if=/dev/zero of=/mnt/media/swap count=262144 mkdir /mnt/media mkswap /mnt/media/swap swapon /mnt/media/swap
De seguida recomenda-se a criação de novas contas de utilizador para suporte dos novos serviços a utilizar com novo software a adicionar como por exemplo ftp, samba, ssh/scp. Este exemplo criará 2 novas contas falsas de utilizador para o suporte previamente mencionado.
Criar utilizadores
Editando o ficheiro de armazenamento de senha de utilizador:
vi /etc/passwd
root:$1$GQlIurrv$O99UI9S31H9wC7LWMZjvN0:0:0:root:/root:/bin/ash nobody:*:65534:65534:nobody:/var:/bin/false daemon:*:65534:65534:daemon:/var:/bin/false matilde:*:1000:65534:matilde:/tmp:/bin/ash virgulino:*:1001:65534:virgulino:/tmp:/bin/false
Suporte NAS
Para suporte nas necessitamos de instalar mais software e respectivas dependências como libpthread librt
opkg install samba3
Para permitir acesso às novas conta de utilizador temos de criar senhas de acesso nas mesmas:
smbpasswd matilde *******
De seguida devemos de activar o suporte para a funcionalidade samba para o inicio do sistema:
/etc/init.d/samba enable
Servidor de ftp
Entre os vários pacotes de software existentes para serviço de ftp vamos optar pelo uso do vsftpd procedendo à sua instalação:
opkg install vsftpd
Activamos o seu serviço automático no sistema:
/etc/init.d/vsftpd enable
Servidor dlna
O serviço de [[dlna[[ para suporte xbox e ou tv de leds samsung.
De seguida temos de editar o ficheiro opkg.conf
vi /etc/opkg.conf
E adicionar a seguinte linha por baixo de dest ram /tmp
dest media /mnt/media/dlna
Criar o directório necessário:
mkdir /mnt/media/ mkdir /mnt/media/dlna
Instalar minidlna
opkg install minidlna
E após a instalação temos de proceder à criação de links adicionais para o minidlna poder funcionar.
ln -s /mnt/media/dlna/etc/minidlna.conf /etc ln -s /mnt/media/dlna/etc/init.d/minidlna /etc/init.d ln -s /mnt/media/dlna/usr/bin/minidlna /usr/bin ln -s /mnt/media/dlna/usr/lib/lib* /usr/lib
IPv6 via tunnel SixxS
Para instalar suporte ipv6 necessário:
opkg install kmod-ipv6 kmod-ip6tables ip6tables ip kmod-tun aiccu kmod-sit ntpclient kmod-iptunnel4
Configurando ficheiro
Configurações adicionais devem ser feitas em /etc/config/aiccu
vi/etc/config/aiccu config aiccu option username '*******' option password '*******' option protocol 'tic' option server 'tic.sixxs.net' option interface 'sixxs' option tunnel_id '****** option requiretls '0' option defaultroute '1' option nat '1' option heartbeat '1'
De seguida activamos o serviço aiccu e fazemos um pequeno teste:
/etc/init.d/aiccu enable
/etc/init.d/ping6 sixxs.net
Suporte radv
Necessário para serviço de roteamento da subnet:
opkg install radvd
Editando o ficheiro de configuração:
vi /etc/config/radbd
config interface
option interface 'lan'
option AdvSendAdvert 1
option AdvManagedFlag 0
option AdvOtherConfigFlag 0
option ignore 0
config prefix
option interface 'lan'
# se não especificado, um link não local do interface será usado
option prefix '2001:6a0:143::/64'
option AdvOnLink 1
option AdvAutonomous 1
option AdvRouterAddr 0
option ignore 0
config rdnss
option interface 'lan'
# se não especificado, o link não local do interface será usado
option addr
option ignore 1
Sem esquecer de adicionar o endereço ipv6 ao interface lan em /etc/config/network
vi /etc/config/network
option 'ip6addr' '2001:6a0:143::1/64'
E finalmente activar o serviço radv no sistema:
/etc/init.d/radvd enable
No final para permitir o funcionamento do [roteamento]]; adicionamos ou activamos a seguinte linha em /etc/sysctl.conf
vi /etc/sysctl.conf
net.ipv6.conf.all.forwarding=1