Já fazia algum tempo que vinha querendo implementar está solução em minha casa, tenho um filho de 6 anos e acho necessário bloquear algumas coisas indevidas, tudo na internet hoje está fácil demais 🙁
Então vamos lá, o cenário é bastante simples, segue uma imagem do mesmo:
Vamos a explicação 😀
O Roteador NET é um modelo da cisco que permite trabalhar em bridge, dessa forma o Roteador TP-LINK recebe diretamente o IP real da internet, o notebook e o smartphone usam a rede sem fio e o desktop usa a rede cabeada.
O firmware do Roteador TP-LINK foi substituido pelo sistema OpenWRT, que é um linux para dispositivos embarcados, para saber mais sobre o mesmo acesso o link:
Eu também fiz um post anterior ensinando como instalar o OpenWRT usando o VMware Workstation, dessa forma você pode realizar diversos testes, antes de aplicar as configurações diretamente no roteador, segue o link:
http://rodrigolira.eti.br/instalando-o-openwrt-no-vmware-workstation/
Então, vamos as configurações:
1 – Como falei anteriormente coloque o roteador da operadora em modo bridge, caso seu roteador não tenha suporte a esta operação, coloque o seu roteador atrás do roteador da operadora e no roteador da operadora configure a DMZ apontando para o IP do seu roteador, dessa forma toda solicitração que chegar na WAN do roteador da operadora será encaminhado ao seu roteador “OpenWRT”.
2 – Substitua o firmware original do roteador, no link abaixo você vai encontrar uma lista de compatibilidade com diversos roteadores:
http://wiki.openwrt.org/toh/start
Por padrão o OpenWRT recebe IP via DHCP na porta WAN e coloca todas as outras interfaces (cabeada e sem fio) em uma bridge, e ativa o DHCP Server, oferecendo IPs na faixa 192.168.1.1/24, ou seja, após a instalação o seu equipamento já deverá estar pronto para uso, dependendo do caso.
3 – Agora vamos instalar o TinyProxy e o DDNS. Acesse o roteador através do IP 192.168.1.1, o mesmo vem sem senha e o login é root e navegue até:
System > Software
Clique em Update list para ele poder atualizar o repositório:
Ou caso deseje fazer isso via linha de comando bata digitar:
# opkg update
Agora selecione a aba “Available packages” digite “luci-app-tinyproxy” e clique em “find package”, depois clique em install e confirme:
Caso deseje instalar via console o comando é o seguintes:
# opkg install luci-app-tinyproxy
Porque não instalei o Squid? Meu equipamento não tem espaço o suficiente, simples assim 🙁
Faça o mesmo procedimento com o pacote “luci-app-ddns”:
Via console:
# opkg install luci-app-ddns
Depois dos pacotes instalados irá aparecer uma nova aba no menu com o nome “Services”, como mostra a imagem abaixo:
4 – Vamos configurar o firewall, você tanto pode configurar via interface gráfica, quanto pode ser via console, eu aconselho via console, pois já vou deixar os confs abaixo 😀
Via interface gráfica você vai em:
Network > Firewall
Via console você vai editar o arquivo:
/etc/config/firewall
E adicione o seguinte conteúdo:
config redirect option _name 'proxy' option src 'lan' option proto 'tcp' option src_dport '80' option dest_port '8888' option src_dip '!192.168.1.1' option dest_ip '192.168.1.1'
Após isso basta reiniciar o serviço:
# /etc/init.d/firewall restart
6 – Agora vamos configurar o TinyProxy, a configuração dele é bem simples, acesse:
Services > Tinyproxy
Ele pode ser configurado totalmente via interface gráfica, ou via console, segue abaixo o meu arquivo de configuração:
config tinyproxy option User 'nobody' option Group 'nogroup' option Port '8888' option Timeout '600' option DefaultErrorFile '/usr/share/tinyproxy/default.html' option StatFile '/usr/share/tinyproxy/stats.html' option MaxClients '100' option MinSpareServers '5' option MaxSpareServers '20' option StartServers '10' option MaxRequestsPerChild '0' option ViaProxyName 'tinyproxy' list ConnectPort '443' list ConnectPort '563' option enabled '1' option FilterExtended '1' option Filter '/lib/uci/upload/cbid.tinyproxy.cfg02822b.Filter' option FilterURLs '1' option LogLevel 'Connect' option Syslog '1' option enable '1' option Allow '192.168.1.0/24'
Após a substituição das configurações basta reiniciar o serviço:
# /etc/init.d/tinyproxy restart
A partir de agora as solicitações de páginas já devem estar sendo filtradas pelo Tinyproxy, para configurar as páginas que devem ser bloqueadas, crie um arquivo .txt e coloque o que deseja bloquear, depois disso navegue até:
Services > Tinyproxy > Filtering and ACLs
Clique no botão escolher aquivos, depois disso basta escolher o arquivo txt que você criou.
Pronto proxy já está bloqueando os domínios 😀
7- Agora vamos configurar o DDNS, acesse:
Service > Dynamic DNS
Configure de acordo com o serviço que você usa, no meu caso uso o noip.com, segue abaixo as configurações:
Você também pode configurar via console, edite o arquivo:
#/etc/config/ddns
Segue o meu arquivo de configuração:
config service 'myddns' option interface 'wan' option use_syslog '1' option use_https '0' option force_interval '72' option force_unit 'hours' option check_interval '10' option check_unit 'minutes' option retry_interval '60' option retry_unit 'seconds' option service_name 'noip.com' option domain 'SEU_DOMINIO' option username 'SEU_USUARIO' option password 'SUA_SENHA' option ip_source 'interface' option ip_interface 'wlan0' option enabled '1'
Depois basta reiniciar o serviço:
#/etc/init.d/ddns restart
Bem é isso ai pessoal, espero que vocês tenham gostado, assim que foram surgindo novas configurações vou postando aqui no blog.
Até a próxima 😀
Opa, acho que não entendi bem como aplicar as configurações via interface web, e para criar o .txt; Sera que poderia dar uma dica?
vlw
Você cria um arquivo .txt qualquer, exemplo: “sites-bloqueados.txt”
Depois acesse, Services > Tinyproxy > Filtering and ACLs
E faça upload do arquivo 😀
Olá colega, eu também estou com problema. Eu apliquei toda configuração citada e faço o UPLOAD do arquivo e nada. Ele não bloqueia nada. Por exemplo que bloquear o youtube. coloco a regra e nada. Tem mais alguma configuração ?
O youtube usa https por padrão, com as configurações do tutorial você não consegui bloquear sites https pelo proxy, você pode fazer esse bloqueio direto no firewall.
man , vou fazer um tcc relacionado a seguranca wifi, tanto pra quem possue um router e não quer ser invadido , tanto pra quem tem um e pode usar para espionagem..
com esse tutorial eu consigo pegar exatamente os sites que os usuarios que se conectarem a minha rede wifi estão acessando.?
abraço, fico no aguardo
Sim amigo, porém os mesmo você só conseguirá ver isso via console.
Bom dia
Tenho Tplink 841ND DD WRT. Como faço pra instalar esse proxy pra consultar os sites visitados.
Obrigado
Rodrigo poderia fazer um tutorial totalmente via interface gráfica ?
A configuração é a mesma, basta preencher os dados 😀
Muito bacana, instalei num TL-WDR3600 e funcionou perfeitamente!!
Agora, se puder me ajudar onde fica o log de acesso das paginas que estão sendo acessadas?
Obrigado!!
Cara, não me lembro exatamente qual o caminho, mas deve ficar dentro do /var/log/alguma_coisa 😀
Boa noite,
Segui suas configurações mas ele não consegue bloquear os https, por exemplo o facebook. Teria alguma solução para filtrar esses caras?
Obrigado por postar
Para sites HTTPS você terá que usar outra solução.
Como é que a gente acessa o console eu não entendi?
Via cliente SSH, por exemplo o putty 😀
cara estou com problema ao acessar via console me da essa msg, o que deve ser
root@OpenWrt:~# /etc/config/firewall
-ash: /etc/config/firewall: Permission denied
Rodrigo Lira.
Tudo bem ?Tenho uma aplicação usando OpenWrt e gostaria de fazer uma copia das requisições de sites feitas pelos clientes dessa rede ao qual estou criando.Pois quero analisar data, hora e requisição feita por eles. Esta aplicação esta sendo feita usando uma Raspberry Pi3 como roteador, de tal forma que o OpenWrt já está instalado nele como fimrware e tenho como aplicação o Squid. Porém estou tendo problemas para configura-lo, ou seja firmware e onde será armazenado os dados coletados, eu segui alguns tutoriais mas não obtive muito sucesso. Se caso você tenha já feito aplicações iguais a essas, seria possível compartilhar a metodologia?
desde já agradeço.
Não entendi bem, me chama no skype para entender melhor e vermos uma solução.
Skype: eurodrigolira
Você poderia me mostrar os passos de como cadastrar equipamentos específicos através do iMAC, no Open WRT. O objetivo é evitar o roubo do sinal da internet pelos aparelhos não cadastrados. Obrigado
Amigo, infelizmente não tenho um iMac para simular essa situação.
Amigo, como faço para deixar o roteador com o open wrt em bridge e saindo somente pela WAN … lan1, lan2, entrar um outro roteador que vai discar pppoe que ambos terao como uplink a Wan para saida.
Essas configurações você vai fazer mexer nas configurações do switche, network e firewall.
Boa noite você poderia me ajudar a liberar o acesso de configuraçao do openwrt via navegador, pois vi que tem que habilitar o luci, mas está dando erro. o comando opkg update até funciona, mas o opkg install luci dá erro e não consigo acessar via browser só via ssh
Qual o seu roteador, dependendo do modelo e do tamanho da flash a versão do OpenWrt vai sem interface gráfica por falta de espaço.
root@OpenWrt:~# /etc/config/firewall
-ash: /etc/config/firewall: Permission denied
me ajuda por favor, não consigo passar desta parte ja passei dois dias procurando na internet
Você está executando com o usuário root?
como ativa acesso remoto a ele?
Olá Gustavo, caso esteja tentando acessa a interface web através da wan é preciso criar uma regra no firewall para permitir o acesso, boa sorte!