Warda-DNSDocs Warda: do inglês ward — proteger, guardião
v0.9.3

3. Ligar a rede ao Warda

Em resumo

Dê à caixa um endereço fixo (reserva DHCP no router), depois defina-a como servidor DNS no DHCP do router. Para testar, defina o DNS de apenas um dispositivo. Verifique: nslookup doubleclick.net <address> tem de responder o endereço do Warda (a página de bloqueio) ou 0.0.0.0.

Enquanto o router fornecer os seus próprios servidores DNS, os dispositivos não passam pelo Warda.

O router dá aos dispositivos o endereço do Warda: cada nome que procuram passa pelo Warda
O router, o Warda e os dispositivos da rede
  1. Endereço fixo. Na interface do seu router, secção DHCP, reserve um endereço para a caixa Warda (muitas vezes chamado "static lease" ou "reserva").
  2. Testar num dispositivo. Nas definições de rede de apenas um dispositivo (Wi-Fi de um telemóvel, placa de rede de um PC), defina o endereço do Warda como DNS. Navegue durante alguns minutos: os anúncios desaparecem e o dispositivo aparece em Dispositivos.
  3. Toda a rede. Quando tudo estiver bem, defina o endereço do Warda como servidor DNS no DHCP do router. Os dispositivos adotam-no na ligação seguinte (se necessário, desligue e volte a ligar o Wi-Fi).

O assistente reconhece as boxes de internet dos principais operadores da União Europeia, do Reino Unido, da Suíça e da Noruega (Freebox, Livebox, SFR Box, Bbox, Proximus, KPN, Ziggo, Speedport, Vodafone, FRITZ!Box, TIM, Movistar, MEO, Swisscom, BT, Sky, Starlink… 45 modelos), e os routers comprados para casa, sistemas em malha (mesh) incluídos (TP-Link Deco e Archer, Netgear Orbi e Nighthawk, ASUS, Linksys Velop, Google Nest Wifi, eero, UniFi, MikroTik, OpenWrt, pfSense, OPNsense, Synology, FRITZ!Box…). Dá os passos para o seu; encontra-os novamente em Rede → Análise da rede, Como ligar a rede ao Warda?, com os outros routers encontrados na rede.

  • O seu próprio router atrás da box (dois routers um atrás do outro, «duplo NAT»): o Warda funciona assim. A página mostra a box atrás do router e indica onde pôr o Warda como servidor DNS: no router a que os dispositivos se ligam, não na box.
  • Um router que responde ele próprio aos dispositivos (eero, Google Nest Wifi, Netgear Orbi, AmpliFi): a sua definição de DNS só escolhe o servidor que ele consulta. Ponha lá o Warda: a rede fica protegida, mas o Warda vê todos os dispositivos como o router. Para os distinguir, deixe o Warda atribuir os endereços (abaixo).
  • Uma box que não permite alterar o DNS (Livebox em França, SFR Box, Speedport, Vodafone Station na Alemanha, Ziggo, Virgin Media, BT, Sky, Starlink): deixe o Warda atribuir ele próprio os endereços da rede (Deixar o Warda atribuir os endereços da rede (DHCP) no assistente). Ele fixa o seu próprio endereço, você desativa o servidor DHCP da box, e o Warda verifica que nenhum outro responde antes de arrancar o seu.

Se o router também anunciar um servidor DNS por IPv6, o Warda avisa-o: os dispositivos podem contornar o Warda. A solução é a mesma que em IPv4: fazer o router anunciar o Warda como servidor DNS IPv6, em vez do seu. O Warda também se pode anunciar como servidor DNS por IPv6 (Rede → Serviços DNS), mas os dispositivos mantêm então o servidor do router ao lado. Desligar o IPv6 é apenas o último recurso: deixa toda a rede sem IPv6. O método, passo a passo: capítulo 10.

Em Rede → Análise da rede, Analisar a rede lista todas as máquinas da rede e mostra quais já usam Warda (o Warda também analisa a rede todas as noites). Pode atribuí-las a uma pessoa ou a um grupo mesmo antes de usarem o Warda. A mesma página diz se a caixa está ligada a um switch gerido: esse switch anuncia-se (LLDP ou CDP) com a porta da caixa e o seu VLAN; um switch não gerido não diz nada.

Os dispositivos têm um nome local, primeiro os que recebem o seu endereço do Warda, depois as máquinas encontradas na rede, por exemplo tv-sala.casa.lan, e a interface também responde em warda.casa.lan. O domínio é escolhido a partir do idioma na instalação (casa.lan em português, home.lan em inglês) e é alterado em Rede → DNS local. A partir do Warda 0.7.10 escolhe o domínio livremente: qualquer nome de domínio de duas palavras ou mais (casa.lan, home.arpa, lab.internal, minhafamilia.local, um domínio seu). Podem aparecer dois avisos por baixo do campo, e nenhum o impede de continuar:

  • .local é também o domínio do mDNS/Bonjour: os dispositivos Apple, o Avahi (Linux) e alguns serviços do Windows procuram primeiro esses nomes por si próprios na rede, pelo que os nomes deste domínio podem responder devagar, ou não responder, nesses dispositivos;
  • se o domínio existir na Internet, os seus dispositivos deixam de o alcançar lá: o Warda responde ele próprio aos seus nomes, apenas com os nomes da sua rede. Para um nome desse domínio de que precise a partir da Internet (o site da sua empresa), acrescente-o na mesma página, em Registos do DNS local, com o seu endereço público.

Seja qual for o domínio, os nomes que ele contém nunca saem da sua rede. A mesma página aceita nomes seus (um NAS, um lab): um endereço (A, AAAA), outro nome (CNAME) ou um texto (TXT).

Proxy da rede (WPAD), no fundo de DNS local, serve uma rede que gere o seu próprio proxy (filtro de empresa, cache): indique o seu nome ou endereço e a sua porta, e os dispositivos que detetam um proxy automaticamente usam-no (os sites e redes locais continuam diretos; acrescente exceções se for preciso). Está desativado por predefinição e, caso contrário, deve continuar assim: enviar todos os dispositivos para um proxy é uma forma clássica de espiar uma rede. Funciona melhor com o Warda na porta 80 (caso contrário, a página avisa).

DNS cifrado. Em Rede → Serviços DNS, Obter o certificado com um nome fornecido pelo Warda (nada a configurar, gratuito, renovado sozinho): os telemóveis mantêm o seu "DNS privado" e continuam a passar pelo Warda. Android: DNS privado, com o nome apresentado; iPhone e Mac: o perfil a transferir; Windows e os navegadores: o endereço DoH apresentado. A mesma página indica quais resolvedores validam DNSSEC. Só em casa: o Android mantém o DNS privado em todo o lado, e fora de casa um telefone configurado com este nome deixa de resolver qualquer nome; use-o nos dispositivos que ficam em casa, ou volte a pôr o telefone em Automático antes de sair. Para um dispositivo que sai de casa, a proteção fora de casa dá-lhe um endereço próprio que funciona em todo o lado (capítulo 11). Cada dispositivo, passo a passo: capítulo 9.

A interface em HTTPS, por si só (a partir do Warda 0.7.10). Enquanto a caixa não tem nome, http://warda leva a https://warda, com o certificado que o Warda fez para si próprio, a aceitar no navegador. Terminada a instalação e obtido o certificado acima (um que os navegadores reconhecem), http://warda leva a https:// seguido do nome da caixa, sem aviso. Nada a configurar: o Warda verifica as condições continuamente, e se uma deixar de se cumprir (certificado expirado, nome perdido), volta por si só ao endereço escrito. Nunca fica trancado do lado de fora.

  • O que os dispositivos da rede precisam em HTTP nunca é redirecionado: a página onde uma criança pede mais tempo, a configuração automática do proxy, as verificações da caixa.
  • Se escrever o endereço da caixa (http://192.168.1.2) em vez de http://warda, só é enviado para o nome se o seu dispositivo pediu os seus nomes ao Warda nas últimas 24 horas. Outro dispositivo fica no endereço escrito: não encontraria o nome, ao qual só o Warda responde.
  • Os dispositivos atrás de outro router (ou o Warda em Docker numa rede bridge) chegam ao Warda com um único endereço: se um deles usou o DNS do Warda nas últimas 24 horas, todos são enviados para o nome quando escrevem o endereço da caixa. Aquele cujo DNS não é o Warda não consegue abrir o nome: https:// seguido do endereço da caixa continua a funcionar, e o comando abaixo é a saída.
  • Depois do primeiro redirecionamento para o nome, o navegador pede-lhe que inicie sessão mais uma vez: uma sessão pertence ao endereço escrito.
  • Em Rede → Serviços DNS, o cartão do certificado diz em que pé estão as coisas, na linha Interface em HTTP: «HTTP redireciona para https://…», ou «HTTP não redireciona para este nome:» com o motivo. A linha aparece quando já existe um certificado; antes disso, o comando sudo warda https-redirect diz o motivo.
  • Se um navegador não conseguir alcançar o nome (um navegador com o seu próprio DNS seguro, um dispositivo cujo DNS não é o Warda), desative o redirecionamento na caixa: sudo warda https-redirect off (on volta a ativá-lo; sem nada a seguir, o comando diz o estado e o motivo).

Verificar as assinaturas no próprio Warda, na mesma página, está desativado por predefinição. O Warda verifica então ele próprio as assinaturas DNSSEC, a partir da raiz: uma resposta alterada pelo caminho é recusada. Se os servidores DNS a montante retirarem as assinaturas, a página indica-o e as respostas passam como antes. Não o ative com um servidor a montante que filtra (Quad9, AdGuard, NextDNS, Cloudflare 1.1.1.2 ou 1.1.1.3): os seus bloqueios de nomes assinados tornar-se-iam falhas.

Em Respostas, Resposta a um nome bloqueado escolhe o que um dispositivo recebe para um nome bloqueado: Página de bloqueio: o endereço do Warda, que explica o motivo (recomendado), Endereço nulo 0.0.0.0 / ::, NXDOMAIN: o nome não existe ou REFUSED: o pedido é recusado. Escolha REFUSED só se o Warda for o único servidor DNS dos dispositivos: a maioria dos dispositivos pergunta então ao seu outro servidor DNS, se tiver um. Pedidos por segundo para cada dispositivo (0: sem limite) trava um dispositivo que pergunta demasiado; deixe 0 quando o router envia ao Warda os pedidos de toda a rede (o Warda só vê então um dispositivo).

A página de bloqueio mostra uma página que diz porque é que um site está bloqueado (capítulo 5, "A página Bloqueado pelo Warda"). Desde 0.8.4 é a resposta predefinida: uma caixa onde ninguém escolheu uma resposta usa-a, e uma caixa onde foi escolhida uma resposta mantém-na. Quando o Warda não pode mostrar a página (a sua interface web não está nas portas 80 e 443, ou a sua autoridade de certificação não pôde ser criada), a resposta predefinida continua a ser o endereço nulo, e a página diz porquê.

O servidor DHCP do Warda#

Rede → Servidor DHCP (chamado DHCP até ao Warda 0.8.4) é a página dos endereços que o Warda atribui quando substitui o servidor DHCP da sua box. Está desativado por predefinição: Ativar… (ou o assistente, Deixar o Warda atribuir os endereços da rede (DHCP)) verifica que o endereço do Warda é fixo, pede-lhe que desative o servidor DHCP da box, verifica que nenhum outro servidor responde, e depois arranca-o (Verificar e ativar o DHCP do Warda). A página mostra então:

  • o estado do servidor e os seus números, e as Definições do servidor DHCP: a rede, a gateway (a box), o servidor DNS (o Warda), o domínio local, o Primeiro endereço e o Último endereço do intervalo (dentro da rede, nunca o endereço do Warda nem o da box), a Duração da concessão (de 1 hora a 7 dias). Guardar reinicia o Warda durante alguns segundos; os dispositivos mantêm os seus endereços;
  • as Opções dadas aos dispositivos: os servidores de hora e os domínios de pesquisa;
  • Atribuir endereços IPv6 (DHCPv6): desativado por predefinição; o Android nunca o pede e mantém o seu endereço automático;
  • os Endereços atribuídos (IPv4 e IPv6, atualizados a cada 15 segundos), com Reservar em cada linha: um dispositivo com um Endereço reservado recebe sempre os mesmos endereços, e nenhum outro dispositivo os recebe.

Quando outro servidor DHCP responde na rede, o Warda não atribui nenhum endereço enquanto isso acontecer, e a página di-lo. Para parar, Desativar, depois de voltar a ativar o servidor DHCP da box: caso contrário, os dispositivos novos ficam sem endereço (os outros mantêm o seu durante um dia).