Post on 27-Dec-2015
1
UNIVERSIDADE FEDERAL DE ITAJUBÁ
Campus Avançado de Itabira
ECO021 – REDES DE
COMPUTADORES
Aplicações DD-WRT em roteadores
Alunos:
Gustavo Franzolin
RA:16620
Luiz Henrique Dias Rodrigues
RA: 16680
Luiz Otávio Nunes Moura da Rosa
RA: 16635
Marcus André Dias Rodrigues
RA: 16684
Prof. Paulo Alvarenga
Itabira, Minas Gerais
29 de novembro de 2013
2
Sumário
1 INTRODUÇÃO .................................................................................................................... 3
2 OBJETIVOS ........................................................................................................................ 4
3 MATERIAIS UTILIZADOS ............................................................................................... 4
4 PRIMEIROS PASSOS - INSTALAÇÃO ............................................................................ 5
5 DEFININDO PRIORIDADES NA REDE (QoS) ................................................................ 8
5.1 Configurações de velocidade ........................................................................................... 8
5.2 Determinando prioridades de serviços QoS ...................................................................... 9
5.3 Determinando prioridades por endereço MAC ............................................................... 11
6 AUMENTADO SINAL WIRELESS DO ROTEADOR ................................................... 11
7 ACESSO REMOTO VPN .................................................................................................. 13
8 SERVIDOR TORRENT .................................................................................................... 15
9 MONITORAMENTO DE PACOTES UTILIZANDO TCPDUMP NETCAT E
WIRESHARK ....................................................................................................................... 17
10 CONCLUSÃO .................................................................................................................. 18
3
1 INTRODUÇÃO
Alguns roteadores não utilizam todo o seu potencial simplesmente
porque sua firmware limita algumas funcionalidades. Essas restrições em
parte são feitas pelos próprios fabricantes, mas graças a um projeto de
código aberto chamado DD-WRT, isso pode ser alterado.
O DD-WRT é um firmware baseado em Linux OpenSource para uma
grande variedade de roteadores WLAN e sistemas incorporados. A ênfase
principal reside em fornecer o tratamento mais fácil possível, enquanto ao
mesmo tempo, apoiar um grande número de funcionalidades no âmbito da
respectiva plataforma de hardware utilizado. É desenvolvido por uma
equipe de programadores independentes liderada pelo Brian Slayer.
Instalando o DD-WRT, por outro lado, ele passa a oferecer funções
muito mais completas, oferecendo desde um servidor DHCP com
possibilidade de definir endereços estáticos para os clientes, até funções
avançadas de controle de banda. Ele passa também a poder ser configurado
como um repetidor, bridge ou cliente wireless universal, capaz de
conversar com produtos de diferentes fabricantes.
É possível encontrar outros firmwares como OpenWRT ou o Tomato
que também auxiliam na liberação de potencial oculto dos roteadores
domésticos.
Tanto o DD-WRT quanto o OpenWRT são sistemas Linux
descendentes do firmware open-source do Netgear WRT54G, que foi
liberado em 2003 sob a GPL (o OpenWRT surgiu quase que imediatamente
depois que o código foi liberado, enquanto o DD-WRT surgiu como um
fork do Sveasoft, um firmware comercial). Em ambos os casos, o objetivo
inicial era oferecer suporte apenas aos derivados do WRT54G, mas com o
tempo eles passaram a oferecer suporte a um número cada vez maior de
modelos e a incluírem nova funções.
O Tomato por sua vez é um firmware mais simples, com foco na
facilidade de uso. Ele também oferece suporte a QoS, controle de acesso e
WDS, além de oferecer gráficos de uso de banda, permitir aumentar o
número de conexões simultâneas (útil ao baixar torrents) e assim por
diante. A grande limitação é que ele é compatível apenas com um pequeno
número de modelos baseados em chipsets Broadcom, como o as variantes
do WRT54G (G, GL, GS, TM, com exceção dos G e GS de fabricação
recente, que possuem apenas 2 MB de Flash), Buffalo WHR-G54 e o Asus
WL500GE, o que faz com que o uso seja muito mais restrito.
4
Apesar das origens em comum, o DD-WRT e o OpenWRT se
diferenciam em diversos aspectos. De uma forma geral, o DD-WRT é mais
amigável, com uma interface web mais consistente, uma base de
dispositivos suportados fácil de pesquisar e um bom suporte através dos
fóruns. O OpenWRT é desenvolvido sob uma filosofia mais "power-user",
com uma ênfase maior na configuração através da linha de comando e
melhor acesso aos arquivos de configuração e às entranhas do sistema,
complementando as funções disponíveis na interface web. Ambos suportam
a instalação de pacotes adicionais, mas o OpenWRT leva vantagem em
relação à variedade de pacotes disponíveis. Por outro lado, o DD-WRT (na
versão "micro") oferece compatibilidade com muitos APs low-end, com
apenas 2 MB de memória Flash que são incompatíveis com o OpenWRT.
Neste trabalho será abordado o controle de redes com auxílio do
firmware DD-WRT.
2 OBJETIVOS
Gerenciar tráfego de rede;
Aumentar potência do sinal;
Ativar QoS para prevenir sobrecarga da rede;
Acessar remoto via VPN;
Monitorar pacotes que trafegam no roteador;
Transmissão de torrents 24/7;
3 MATERIAIS UTILIZADOS
Inicialmente pretendia-se utilizar um roteador Belkin N600 Dual
Band, porém ainda não existe firmware para o modelo F9K1102V3. Então
foi escolhido o roteador D-Link Dir-601. Este roteador possui 32 MB de
memória RAM e 4 MB de memória flash.
5
Figura 1- Roteador D-Link DIR-601.
4 PRIMEIROS PASSOS - INSTALAÇÃO
Primeiramente acessou-se o banco de dados do site (dd-wrt.com).
Como pode-se observar na imagem abaixo o roteador possui um firmware
dd-wrt.
Figura 2 – Banco de dados de roteadores.
Figura 3 – Firmware dd-wrt.
6
Foi feito o download do firmware. Para sua instalação alguns
cuidados foram tomados. Inicialmente um cabo Ethernet foi conectado na
interface LAN do roteador. Em seguida foi realizado um hard-reset no
roteador. Pressionou-se o botão de reset por 30 segundos. Após o roteador
voltar ao seu estado original os seguintes passos foram seguidos:
1 - Acessou-se a interface da placa de rede do computador. Nas
configurações de IPv4 foi atribuído um IP estático para a placa de rede,
como mostra a imagem abaixo.
Figura 4 – Atribuindo IP estático a interface de rede.
2 - Ao acessar a interface do roteador (192.168.0.1) foi realizada a
atualização do firmware.
Figura 5 – Atualizando firmware.
7
3 – Após 3 minutos o upload foi realizado com sucesso. Logo as
configurações de IP do computador foram alteradas para automático
novamente.
Figura 6 – Atualizando configurações de IPv4.
4 - Após a instalação foi configurado o username e o password da
aplicação.
Figura 7 – Configuração de login.
A aplicação dd-wrt foi instalada com sucesso.
8
Figura 8 – Firmware DD-WRT instalado.
5 DEFININDO PRIORIDADES NA REDE (QoS)
A maioria dos roteadores oferece gerenciamento de qualidade básica de
serviço (QoS), mas o DD-WRT permite operações mais sofisticas, como a
priorização de protocolos, determinar uma largura máxima de banda por
máscara de rede ou endereço MAC e otimização para processos específicos
como jogos. Essas opções são valiosas para um administrador de rede
tentar manter a integridade de serviços específicos ou fazer uma avaliação
crítica do sistema.
5.1 Configurações de velocidade
O primeiro passo para configurar o QoS é estabelecer limites gerais para o
uso da banda. Isso permite que o QoS tenha espaço para respirar, ficando
sempre com uma percentagem do link livre para uso imediato.
9
Na aba NAT/QoS -> QoS é possível controlar a maioria das
funcionalidades encontradas no DD-WRT. A primeira funcionalidade
permite configurar a qualidade do serviço (QoS) de acordo com a taxa de
uplink e downlink fornecidas pelo provedor ISP (Figura 9). Após realizar
um teste de performance para determinar as taxas de uplink e downlink
(www.speedtest.net foi utilizado neste relatório) pode-se decidir as taxas
totais que se deseja atribuir a um serviço com prioridade. Neste relatório foi
utilizado cerca de 80% do total disponível para as configurações de QoS no
uplink e downlink respectivamente. O provedor ISP utilizado fornece 10
megabits para download e upload, porém no momento do teste os
resultados encontrados foram os seguintes:
Figura 9 – Teste de velocidade.
Portanto pode-se determinar as taxas de downlink e uplink da seguinte
forma:
Downlink:
Uplink:
Figura 10 – Prioridade QoS ajustada por uplink e downlink.
5.2 Determinando prioridades de serviços QoS
O ponto crucial nas funcionalidade QoS e possibilidade de fornecer
prioridade máxima para protocolos específicos, endereços MAC ou até
portas Ethernet.
Ao definir prioridades mais baixas para protocolos P2P como o bittorrent e
de protocolos de transferência de arquivos, como FTP, e prioridades altas
para clientes VoIP, jogos multiplayer e requisições DNS, você pode
10
melhorar bastante as condições de acesso em redes congestionadas, sem
precisar realmente bloquear nenhum serviço. Este trabalho focará nessa
ideia.
Primeiramente foi determinada uma prioridade “bulk” para aplicações
bittorrent e similares (gnutella, fasttrack, edonkey). A prioridade “bulk” é a
mais baixa. Caso a rede esteja livre, os aplicativos com tráfego classificado
dentro da regra podem usar até 100 % da banda da rede (valores definidos
no tópico anterior), mas assim que outras aplicações com prioridades
maiores necessitarem da banda, o tráfego bulk será limitado.
Como existem diversas aplicações torrents atualmente, a maneira mais
correta de limitar os serviços P2P é identificando as portas que esses
serviços utilizam e bloquear as mesmas.
Para conexões FTP foi selecionado a prioridade “standard”. Esta regra
garante 10% da banda de rede aos clientes, mas também pode-se utilizar até
100 % caso a rede esteja livre, ou esteja sendo utilizado por tráfego
categorizado com bulk.
Em conexões que utilizam o protocolo http e protocolos de streaming de
vídeo e áudio (sip, rstp) foi selecionada a prioridade premium. Esta é a
categoria máxima, que garante tratamento especial em detrimento de todos
os outros tipos de tráfego. Ela deve ser utilizada apenas para aplicações
onde uma boa latência é essencial e que consomem pouca banda da rede,
como no caso de jogos multiplayer e serviços VoIP. Garante 75 % da
banda da rede. A figura (Figura 11) abaixo mostras as configurações
realizadas até o momento.
11
Figura 11 – Prioridade QoS ajustada por protocolos.
Seleciou-se também uma faixa de portas com a prioridade premium para o
jogo “conter-strike 1.6”.
Figura 12 – Prioridade QoS para o jogo conter-strike.
Além das prioridades descritas anteriormente, existe a prioridade “express”
que reserva 15% da banda para especificadas aplicações e a prioridade
“exempt”. A prioridade “exempt” permite especificar exceções, serviços
que poderão acessar a rede diretamente, usando toda a banda suportada
pelo link, sem se preocupar com os 80% da velocidade setados no
uplink/downlink e outros detalhes.
5.3 Determinando prioridades por endereço MAC
De forma análoga ao tópico anterior é possível especificar as regras de
prioridade de acordo com o endereço MAC da maquina desejada.
Figura 13 – Prioridade QoS por endereço MAC.
6 AUMENTADO SINAL WIRELESS DO ROTEADOR
12
O firmware DD-WRT pode melhorar a potência de transmissão do sinal
wireless, porém deve-se ter cuidado para não aumentar muito a potencia,
pois o roteador pode esquentar demais e danifica-lo.
Primeiramente checou-se a taxa “Tx” para os clientes wireless da rede,
como mostra a imagem abaixo.
Figura 14 – Potencia de transmissão (Tx Rate).
Para aumentar a potencia do sinal é necessário aumentar a taxa de
transmissão, que por padrão esta setada em 20 dbm. Para realizar essa
mudança deve-se seguir os seguintes passos:
1- No painel do DD-WRT, selecionou-se a aba “Wireless”
posteriormente selecionou-se o checklist “Advanced Settings”.
2- Dentro do “Advanced Settings” a opção “Tx Power” foi atualizada
para 71 dbm (o padrão era 20 dbm).
Na figura abaixo pode-se observar um aumento na taxa de transmissão (Tx
Rate) principalmente em dispositivos que estão mais distantes (como o
MAC 88:9B:39:D3:5F:D6).
Figura 15 – Potencia de transmissão (Tx Rate) após alteração.
13
7 ACESSO REMOTO VPN
O acesso remoto é uma tecnologia que permite que um computador consiga
acessar um servidor privado por meio de outro computador que não está
fisicamente conectado a rede. A conexão a distância é feita com segurança
de dados em ambos os lados e pode trazer diversos benefícios.
Basicamente as duas formas de acesso remoto mais utilizadas são VPN
(Virtual private Network) e VNC (Virtual Network Computing). A
conexão VPN consegue estabelecer uma ligação direta entre um
computador e o servidor de destino – criando uma espécie de “túnel
protegido” na internet. Isto significa que o usuário pode acessar
tranquilamente seus documentos, e-mails corporativos e sistemas na
nuvem, via VPN, sem a preocupação de ser interceptado por
administradores de outras redes. VNC é um protocolo que permite acesso
remoto a distancia a um computador, permitindo que o usuário utilize o
computador acessado a distancia, como se estivesse na frente dele.
Como existem diversos softwares para conexão VNC, neste trabalho será
abordado apenas a conexão VPN.
O primeiro passo foi criar uma conta em um site que fornecesse a criação
de domínios gratuita. O site utilizado foi http://no-ip.com. Após a criação
da conta, foi criado o domínio (DNS).
Em seguida foram realizadas as seguintes configurações no firmware (DD-
WRT):
1- No painel DD-WRT foi selecionada a aba “setup” e em seguida
“DDNS”. As configurações dos campos estão demonstradas abaixo.
(Figura 16).
Figura 16 – Configurando DDNS.
14
Nos campos “Username” e “Password” foram inseridos os mesmos
cadastrados no site “no-ip”. O campos “hostname” foi inserido o DNS
criado.
2- O segundo passo realizado foi a configuração VPN no roteador. Para
isso selecionou-se a aba “Services” e “VPN”.
Figura 17 – Configurando VPN.
No campo CHAP – Secrets é inserido o nome do usuário e senha para se
conectar a rede VPN.
Após a realização desses passos as configurações foram salvas. Com a
conexão VPN funcionando corretamente é possível utilizar uma variedade
de métodos como transferências via FTP, conexão via telnet e ate conexão
remota no desktop.
A conexão VPN oferece uma série de vantagens. Entre essas vantagens
pode-se destacar a segurança reforçada que uma rede VPN oferece. A
conexão pela internet é criptografada e segura. A autenticação e a
criptografia são reforçadas pelo servidor VPN. Os dados confidenciais
estão ocultos para os usuários não autorizados, mas estão acessíveis aos
autorizados. Pode-se destacar também a segurança de endereço IP. Como
as informações enviadas por uma VPN são criptografadas, os endereços
especificados são protegidos e a internet apenas verifica o endereço IP
externo. Para organizações com endereços privados, essa é uma vantagem
substancial, porque não há custos administrativos decorrentes da troca de
endereços IP para um acesso remoto através da internet.
15
8 SERVIDOR TORRENT
Com o DD-WRT também é possível criar um servidor para fazer o
download de torrents, 24 horas por dia, 7 dias por semana sem a
necessidade de ter um computador ligado (apenas o roteador). Devido a
limitações do roteador não foi possível implementar este serviço na prática,
porém será explicado abaixo os passos a serem seguidos a fim de criar esse
“servidor” para download dos torrents.
Alguns comandos devem ser realizados via console, portanto será
necessário se conectar ao console do roteador. Os seguintes passos devem
ser seguidos:
1- Abra o terminal e digite o comando telnet seguido do ip-lan do
roteador:
> telnet 192.168.1.1
Será requisitado o username e password, por padrão coloque o
username como “root” e o password será o mesmo configurado na
interface web-GUI do dd-wrt.
2- Formate o HD que será conectado ao roteador e selecione o sistema
de arquivos como “ext3” ou “ntfs”.
3- Acesse a interface web-GUI, clique na aba “Services” -> “USB”. Em
“Disk mount point” selecione “/mnt”. Salve as configurações e
aplique-as .
4- Retornando ao terminal execute os seguintes comandos:
> cd /mnt
> mkdir /mnt/opt
> mkdir –p /mnt/data/torrents
O comando “-p” cria os dois diretórios ao mesmo tempo. A ideia é
fazer com que os arquivos baixados vão para a pasta
“mnt/data/torrents”.
5- No terminal instale os pacotes “optware” com o seguinte comando:
> wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O
/tmp/optware-install.sh
sh /tmp/optware-install.sh
16
6- Ainda no terminal instale a transmissão optware.
> /opt/bin/ipkg-opt -verbose_wget install transmission
> /opt/bin/transmission-daemon -g /mnt/data/torrents/.config/transmission-
daemon
killall transmission-daemon
> /mnt/data/torrents/.config/
/mnt/data/torrents/.config/transmission-daemon
/mnt/data/torrents/.config/transmission-daemon/settings.json #file
/mnt/data/torrents/.config/transmission-daemon/stats.json #file
/mnt/data/torrents/.config/transmission-daemon/blocklists
/mnt/data/torrents/.config/transmission-daemon/resume
/mnt/data/torrents/.config/transmission-daemon/torrents
7- Agora edite o arquivo “settings.json” para o seguinte:
> vi /mnt/data/torrents/.config/transmission-daemon/settings.json
{
"blocklist-enabled": 1,
"download-dir": "\/mnt\/data\/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
}
O arquivo “settings.json” também pode ser baixado via terminal:
> wget http://www.3iii.dk/linux/optware/settings.json -O
17
/mnt/data/torrents/.config/transmission-daemon/settings.json
8- Agora é necessário abrir a porta de escuta WAN.
> /usr/sbin/iptables -I INPUT 1 -p tcp --dport 25000 -j logaccept
9- Reinicie a transmissão.
> /opt/bin/transmission-daemon -g /mnt/data/torrents/.config/transmission-
daemon
Após realizar a configuração prévia pode-se acessar a interface web para
configurar os torrents a serem baixados. Acesse a pagina
http://192.168.1.1:9091 se o ip do roteador for “192.168.1.1”.
Faça o download do “arquivo.torrent” a ser baixado.
No browser acesse http://192.168.1.1:9091
Clique em “open”
Clique no campo de texto (ou o botão “select”)
Selecione o “arquivo.torrent” baixado
Feito isso o download começara em seguida. Os downloads depois de
completos estarão localizados na pasta “/mnt/data/torrents”.
9 MONITORAMENTO DE PACOTES UTILIZANDO
TCPDUMP NETCAT E WIRESHARK
Em roteadores que utilizam as versões de DD-WRT anteriores a v24sp2
com o auxilio do “TCPDump”, “NetCat” e “WireShark” é possível realizar
um monitoramento de todos os pacotes que trafegam pelo roteador. Como
o firmware do roteador utilizado nesse trabalho só possui a versão v24sp2
não foi possível realizar o monitoramento dos pacotes, pois essa versão não
oferece suporte “JFFS2”. O “JFFS2” é um sistema de arquivo para flash.
Os roteadores possuem memória limitada, o que torna o processo de
armazenamento dos pacotes difícil de ser realizado. Mas com auxilio das
ferramentas citadas acima é possível realizar este processo.
Será feita uma breve explicação de como o processo deveria ser feito a fim
de monitorar o roteador.
18
O Wireshark é um sniffer analisador de protocolo que permite a captura e
leitura de pacotes que trafegam na rede. Com ele é possível fazer a leitura
de arquivos tipo “PCAP”. Esses arquivos nada mais são do que o fluxo de
dados de uma interface (ou de todas) salvo em um arquivo, para posterior
processamento.
O TCPDump também é uma ferramenta utilizada para monitorar pacotes
que trafegam na rede, porém sua vantagem é que ele é muito menor que o
Wireshark, tornando possível sua instalação no próprio roteador. O
TCPDump tem a opção de capturar o stream de uma interface (ou de todas)
e salvar em um arquivo PCAP.
Como o roteador não possui espaço suficiente para armazenar o arquivo
gerado, uma possível solução seria utilizar o NetCat para transmitir os
dados do TCPDump para o computador. O NetCat é uma ferramenta usada
para ler e escrever dados em conexões de rede usando o protocolo TCP/IP.
Com ele é possível pegar dados da entrada padrão (stdin) e envia-los para
outra ponta da conexão, que as escreve na saída padrão (stdout).
A estratégia a ser realizada é a seguinte:
1- No computador, executar o netcat em modo servidor e direcionando
sua saída em um arquivo;
2- No roteador, executar o TCPDump com os parâmetros de captura
básicos e enviar sua saída para o netcat rodando em modo cliente,
conectado ao servidor no computador;
3- No Wireshark realizar a leitura dos pacotes;
Partindo dessa ideia é possível fazer um “sniff” de todos os pacotes que
trafegam no roteador.
10 CONCLUSÃO
Infelizmente por questões compatibilidade e hardware não foi possível
cumprir todos os objetivos previamente definidos, porém pode-se constatar
a infinidade de novas funções que esse firmware OpenSource oferece e
inclusive visualizar algumas delas de forma prática.
11 REFERÊNCIAS
19
Rede Wireless DD-WRT. Disponível em: < http://www.slideshare.net/polones/dd-wrt-
guia-pratico>. Acesso em: 26 out. 2013.
DD-WRT Flashing Instructions. Disponível em: <http://dd-
wrt.com/wiki/index.php/DIR-601>. Acesso em: 26 out. 2013.
TechTudo Dicas e Tutoriais. Disponível em: <http://www.techtudo.com.br/dicas-e-
tutoriais/noticia/2013/05/saiba-o-que-pode-ser-feito-em-um-roteador-com-dd-
wrt.html>. Acesso em: 26 out. 2013.
Configurando o DD-WRT. Disponível em:
<http://www.hardware.com.br/tutoriais/configurando-ddwrt/qos-outras-dicas.html>.
Acesso em: 25 nov. 2013.
Definindo prioridades na rede. Disponível em:
<http://www.hardware.com.br/tutoriais/qos/regras-priorizacao.html>. Acesso em: 25
nov. 2013.
Quality of Service. Disponível em: <http://www.dd-
wrt.com/wiki/index.php/Quality_of_Service#Prioritizing_by_Application_.28Skype.2C
_Http.29_or_Port_Range_.28P2P.29>. Acesso em: 25 nov. 2013.
Remote Acess. Disponível em: <http://www.dd-
wrt.com/wiki/index.php/Remote_Access>. Acesso em: 26 nov. 2013.
Setup a VPN with DD-WRT. Disponível em: <http://geekyprojects.com/vpn/remote-
access-your-home-computer-setup-a-vpn-with-dd-wrt/>. Acesso em: 26 nov. 2013.
Conexões de VPN. Disponível em: <http://technet.microsoft.com/pt-
br/library/cc775417(v=ws.10).aspx>. Acesso em: 26 nov. 2013.
NetCat. Disponível em: <http://pontoderedes.blogspot.com.br/2011/08/netcat.html>.
Acesso em: 28 nov. 2013.
Monitorando um Acess-Point DD-WRT. Disponível em:
<http://www.tocadoelfo.com.br/2012/07/monitorando-um-access-point-dd-wrt.html>.
Acesso em: 28 nov. 2013.
Installing TCPDump. Disponível em: <http://emtunc.org/blog/04/2011/installing-
tcpdump-on-dd-wrt-wrt54gl/>. Acesso em: 28 nov. 2013.
Transmission Daemon. Disponível em: <http://www.dd-
wrt.com/wiki/index.php/Transmission_daemon>. Acesso em: 29 nov. 2013.