djbdns / dbndns dnscache consulta servidores de nomes somente ipv6?

1

Eu tenho (tentei) configurar o dnscache no Ubuntu 14.04 (Trusty) para fazer dual stack para atender a pedidos e consultar servidores de nomes com autoridade.

Para esclarecer, estou usando o pacote dbndns, que tem o patch IPv6 da fefe.

Eu instalei o dbndns & pacotes dnscache-run. Assegurei-me de que /etc/service/dnscache/env/IP fosse 0.0.0.0 e /etc/service/dnscache/env/IPSEND fosse 0.0.0.0 .

Também adicionei nossos intervalos de IP em /etc/service/dnscache/root/ip .

Agora posso carregar aaaa e um registro usando dig em outra máquina em IPv4 e IPv6. Mas o testipv6.com tem um teste para carregar registros de um servidor de nomes autoritativo somente IPv6. Para testar isso, ele carrega o URL link . Se eu cavar o nome do host para isso, ds.v6ns.test-ipv6.com usando 8.8.8.8 (servidor DNS do google IPv6 habilitado), recebo um registro AAAA de volta. Mas fazendo o mesmo para o meu cache dbndns (através de IPv4 e IPv6) não retorna nenhum resultado.

O IPSEND precisa ser alterado? Se sim, para quê? Eu não quero quebrar a resolução de problemas para servidores de nomes com autoridade somente IPv4.

    
por Azendale 11.09.2014 / 20:18

2 respostas

1

Eu tive o mesmo problema e considerei isso corrigido com a atualização de test23 do Fefe para o patch test27 dele; Especificamente, os diffs para query.c corrigiram esse problema.

Isso é principalmente mudanças assim:

-dtype = z->level ? DNS_T_A : z->type;
+dtype = z->level ? (z->ipv6[z->level] ? DNS_T_AAAA : DNS_T_A) : z->type;

No entanto, faltam chaves na instrução if em torno da linha 950 (que reportarei agora a Fefe), e você também precisa alterar dtype de forma diferente se tiver as correções de segurança de link aplicado (o que você provavelmente deveria).

Estou mantendo um sabor altamente mesclado e personalizado (para suporte ao IPv6 no estilo OpenBSD), mas aqui está meu patch para query.c , que deve ajudá-lo a mesclar esses.

IPSEND deve ser :: para que isso funcione, é claro. Seu host de teste mencionado, ds.v6ns.test-ipv6.com , trabalha para mim após a alteração e falha antes, por isso, tenho certeza de que foi isso.

    
por 26.03.2016 / 18:34
-1

não vai funcionar assim infelizmente, mesmo com o dbndns corrigido.

Você precisará de duas instâncias do dnscache para funcionar, uma com um endereço IPv4 específico (usando-o como antes) e outra com um endereço IPv6 específico:

root@fw0:/service# grep '' dnscache*/env/IP*
dnscache/env/IP:10.66.1.1
dnscache/env/IPSEND:198.51.100.1
dnscache6/env/IP:2001:db8:10:30::1
dnscache6/env/IPSEND:0.0.0.0

substitua 10.66.1.1 pelo seu IPv4 privado e 198.51.100.1 pelo seu IPv4 público e 2001:db8:10:30::1 pelos seus endereços IPv6 públicos. Então funciona para mim:

# dig aaaa ds.v6ns.test-ipv6.com @2001:db8:10:30::1

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> aaaa ds.v6ns.test-ipv6.com @2001:db8:10:30::1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32403
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ds.v6ns.test-ipv6.com.         IN      AAAA

;; ANSWER SECTION:
ds.v6ns.test-ipv6.com.  360     IN      AAAA    2001:470:1:18::119
    
por 27.10.2014 / 01:16