Ipv6 - O inimigo agora é outro - Como configura um DNS local para ipv6?

Então, decidi dar uma chance para o ipv6, mas aparentemente ele tem algumas peculiaridades que eu ainda não conheço.

Por exemplo, fui ligar o ipv6 no roteador, e já tinha configura o pihole e unbound para aceitarem ipv6, testei com o dig e está tudo certo.

Liguei o ipv6 para o roteador distribuir os ip’s, mas quando eu pego o ip, logicamente ele me dá um ip local e quando eu coloco no dns o roteador simplesmente reclama de formato inválido.

fe80::(e o resto do endereco aqui). Mas isso não faz sentido, no ipv4 simplesmente você bota o ip local no dhcp e é feliz.

Alguém consegue me guiar nesta jornada?

2 curtidas

Aproveitando que to aqui. Como que faz pro navegador entender ipv6? Quando eu coloco algo na parte da url com o gateway padrão para eu acessar o roteador ele simplesmente faz uma pesquisa ao invés de entender como um ip.

No windows estava pegando o ipv6 sim, tanto em dhcp quanto em slaac

Amanhã vou tentar configurar de novo o ipv6 em casa.

A maior dificuldade é fazer a benção do linux pegar um ipv6, pq o que ele pegou não era aceito pra colocar no dhcp do roteador.

Nesse caso, endereços ipv6 precisam de colchetes para funcionar, ex: https://[2606:4700:4700::1111] ou https://[ipv6]:porta/path

Se vc puder informar qual modelo do seu roteador, para a gente se orientar. No geral, roteadores residenciais tem uma tendência a ter uma interface de configuração bem limitada.

2 curtidas

MR60X. Eu tinha esquecido de tentar, vou tentar agora mesmo. Pera ae.

O meu ubuntu server nao usa isso, eu só mexi no resolve.conf padrao que veio nele.

Agora faz sentido, deu certo chamar o ip através do navegador


Liguei o ipv6

Habilitei o unbound para resolver Ipv6

O roteador marcou por padrão assim:


Aqui no pihole eu deveria configurar algo?

Vou descobrir agora se o ubuntu server pegou um ipv6. O windows já pegou um local.

Aparentemente é netplan.

Eu não entendi muito bem pq raios que o ipv6 não tem como manter fixo direto pelo roteador.

Tá, deixa eu ver se eu entendi. Eu terei que configurar um ipv6 fixo na mão? Igual faziam os antigos maias, incas e astecas?

Me senti em 2005 agora. Deve ser por isso que o pessoal não adota essa carroça, muita burocracia.

O DNS do ipv6 eu quero passar pro pihole.

network:
  version: 2
  ethernets:
    enp2s0:
      dhcp4: yes  
      dhcp6: no            
      addresses:
        # IPv6 fixo aqui
      gateway6: roteador aqui
      nameservers:
        addresses:
         o proprio ipv6 fixo que defini ali em cima.

é isso?

Pois é, mas aparentemente não tem nenhum configuração igual o do ipv4 para fixar o ipv6.

Por exemplo no ipv4 eu fui no roteador e simplesmente fiz isso.
image

Eu preciso que seja fixo por conta que o ubuntu server está o DNS da casa e todas as outras aplicações. Estou tentando ter ipv6 e ipv4 na rede.

Esse eu não tive contato, pelo que eu vi no manual é bem router de usuário final.

Então… o ip local(link-local) é sempre o mesmo, pois é baseado no id da interface(duid no caso), no ipv6 vc não precisa definir na mão esse ip(em teoria). O que vc pode fazer é definir o sufixo do host para montar o ip global, junto do prefixo que vc receber do provedor, por ex:

Prefixo delegado: 2001:0db8:85a3:8900::/56 (apartir do 00 é a identificação do host);
IP global do host: 2001:0db8:85a3:890c::15/64 (0c seria o subprefixo(hint ou subrede) da interface downstream, LAN no caso(opcional) e 15 é o sufixo estático do host).

Sendo assim, independente do prefixo delegado que vc receber, o sufixo do host fica estático. A partir daí vc pode usar máscaras para especificar aquele host, independente do prefixo. Claro, essas configs. vão depender do roteador em questão.

Na LAN, não deixa SLAAC habilitado, use só DHCPv6 para ter um controle melhor dos ips. Eu estou assumindo que vc recebe um prefixo do seu provedor, se não, mantenha o SLAAC. Fora isso, para comunicação interna é recomendado usar o endereço local.

Independentemente de o servidor ter conexão ipv6 ou não, ele pode receber e fazer querys AAAA, que são referentes ao ipv6, mas não faz mal colocar as entradas ipv6 também.

Esse é um dos problemas da adoção do ipv6, na minha visão, são muitos detalhes que a maiorias dos dispositivos nem permite a configuração. De fato, é bem capaz de qualquer dispositivo com ipv6 funcionar automaticamente, sem neuras, mas se vc quer controle e previsibilidade sobre sua rede, vai encontrar essas dores de cabeça aí.

Verifica na página de status do seu roteador se existe algum IPV6-PD na interface WAN. Aliás, algum dos seus hosts pegaram ip global(seria 28XX:XX...)?

2 curtidas

Realmente. Pra ligar o ipv6 é bem tranquilo. O problema é que eu quero ter algo parecido com o ipv4. Eu já tenho vários serviços rodando em ipv4 que me atendem perfeitamente. O ipv6 ta sendo mais uma dor de cabeça do que solução.

Utilizo a Nio(Antiga Oi Fibra)

O aparelho da operadora é um da Hauwei, mas eu só utilizo para receber a fibra e utilizar o telefone fixo, eu tenho acesso a ele e troquei a senha. Mas independente disso a Oi coloca um backdoor em seus roteadores que permitem eles acessarem o roteador quando quiserem para manutenção. Por isso tenho mais um roteador sobre um nat, que é o MR60x da mercusy( é bem competente até).

Não faz sentido para o meu caso… Eu só quero garantir ter um ipv6 fixo na rede local…

Irmão, sinceramente. Se for só para fazer volume de respostas, é melhor não comentar.

Essa parte inteira tentei configurar e não tem parte de configurar ipv6 fixos.

A Oi(Nio) fibra entrega prefixos ipv6 /56, certamente vc recebe um.

Agora tudo faz sentido, o prefixo não deve estar sendo delegado downstream para seu segundo roteador, por consequência seu hosts não recebem um ip global.

É o TR-069 kkkkk Eu concordo que seja um “backdoor”, mas não é exclusivo da Oi.

Eu sei que aquela ONT menor, de duas antenas deles, dá pra fazer o root do firmware, eu tenho Oi e fiz no meu(tenho um amigo que fez também), daí só definir ele como brige para o seu Mercusy(eu faço para um OWRT virtualizado). Um bom samaritano lá no fórum do Adrenaline fez o guia.


Esse é o meu.

2 curtidas

Recomendo alterar a configuração substituindo o endereço 0.0.0.0 por 127.0.0.1, a fim de garantir a comunicação correta entre o Unbound e o Pihole. O endereço 127.0.0.1 representa o loopback da máquina local, permitindo a comunicação direta entre serviços no mesmo dispositivo. Em contraste, 0.0.0.0 não define um endpoint específico, sendo mais apropriado para situações em que um serviço deve escutar em todas as interfaces de rede. Assim, ao configurar o Pihole para utilizar o Unbound como DNS recursivo, o endereço correto a ser utilizado nas configurações é 127.0.0.1.

Aqui um exemplo de como pode configurar:

server:
    verbosity: 0
    interface: 127.0.0.1
    port: 5335
    do-ip4: yes
    do-udp: yes
    do-tcp: yes
    do-ip6: yes
    prefer-ip6: no
    harden-glue: yes
    harden-dnssec-stripped: yes
    use-caps-for-id: no
    edns-buffer-size: 1232
    prefetch: no
    num-threads: 1
    so-rcvbuf: 1m
    
    # Ensure privacy of local IP ranges
    private-address: 192.168.0.0/16
    private-address: 169.254.0.0/16
    private-address: 172.16.0.0/12
    private-address: 10.0.0.0/8
    private-address: fd00::/8
    private-address: fe80::/10

    # TLS CERTIFICATE
    tls-port: 853
    tcp-upstream: yes
    tls-upstream: yes
    tls-cert-bundle: "/etc/ssl/certs/ca-certificates.crt"

    # FORWARDERS CLOUDFLARE
    forward-zone:
    	name: "."
    	forward-tls-upstream: yes
    	forward-addr: 1.1.1.1@853#cloudflare-dns.com
    	forward-addr: 1.0.0.1@853#cloudflare-dns.com 
    	forward-addr: 2606:4700:4700::1111@853#cloudflare-dns.com
    	forward-addr: 2606:4700:4700::1001@853#cloudflare-dns.com

Caso utilize firewall lembre de permitir as portas: 80(HTTP), 53(DNS), 443(HTTPS), 67(DHCP), 123(NTP), 547(DHCPv6)

Configuração do Pihole:

Configurando IP:

Para configurar sua interface de rede pode seguir com o exemplo que utilizo no meu servidor debian que roda em um Raspberry Pi 5 sem interface gráfica, aqui é apenas como está configurado os ips estáticos, basta mudar para os ips de sua rede:

sudo emacs /etc/network/interfaces
# Location: /etc/network/interfaces
# Please modify network settings via: dietpi-config
# Or create your own drop-ins in: /etc/network/interfaces.d/

# Drop-in configs
source interfaces.d/*

# Ethernet
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 127.0.0.1

# Ethernet IPV6
iface eth0 inet6 static
address fdfd:xxxx:xxxx::20
netmask 64
gateway fdfd:xxxx:xxxx::1
dns-nameservers ::1

OBS: Caso queira pode configurar via netplan editando o arquivo /etc/netplan/01-netcfg.yaml e depois aplicar a configuração com sudo netplan apply.

Configurando DNS nos dispositivos

Depois basta nos computadores da rede, configurar o DNS via NetworkManager ou manualmente de acordo com o exemplo:


Configurando DNS no roteador

Caso queira por no roteador, alguns roteadores só aceitam o IPV6 completo e não de forma abreviada, mas basta testar:

Abreviado: fdfd:xxxx:xxxx::20

Simplificado: fdfd:xxxx:xxxx:0:0:0:0:20

Completo: fdfd:xxxx:xxxx:0000:0000:0000:0000:0020

Depois de tudo configurado basta verificar usando dig, em SERVER veja se aparece o servidor DNS que você configurou.

Espero que os exemplos sejam úteis. Não coloquei fotos do roteador pois varia muito a interface de cada modelo e eu utilizo o OpenWrt. Tenho utilizado o IPv6 de forma simples, assim como o IPv4, e a chave está em compreender seu funcionamento.

2 curtidas