$ ORIGIN diretiva em arquivos de zona IPv6

3

Tenho visto frequentemente ficheiros de zona BIND semelhantes:

$ORIGIN 2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa.
$TTL 604800
@   IN  SOA ns1.example.org. hostmaster.example.org. (
        1978022513  ; Serial
        10800       ; Refresh
        3600        ; Retry
        2419200     ; Expire
        604800 )    ; Default TTL

        NS   ns1.example.org.
        NS   ns2.example.org.
        TXT  "2001:db8:302::/48 Example IPv6 reverse"


$ORIGIN 0.0.0.0.2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 PTR host.example.net.

Por que há uma diretiva adicional $ ORIGIN? Quero dizer isso "$ ORIGIN 0.0.0.0.2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa". 1. Por que não é simplesmente:

$ORIGIN 2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa.
$TTL 604800
@   IN  SOA ns1.example.org. hostmaster.example.org. (
        1978022513  ; Serial
        10800       ; Refresh
        3600        ; Retry
        2419200     ; Expire
        604800 )    ; Default TTL

        NS   ns1.example.org.
        NS   ns2.example.org.
        TXT  "2001:db8:302::/48 Example IPv6 reverse"

1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 PTR host.example.net.
    
por Martin 19.07.2013 / 17:00

2 respostas

2

Qualquer diretiva $ ORIGIN só se aplica a partir desse ponto. Veja, por exemplo, Pro DNS e BIND - Capítulo 8 - Diretiva $ ORIGEM .

A primeira diretiva $ ORIGIN facilita a consulta a 2001: db8: 302 :: / 48, que é coberto pela zona.

A segunda diretiva $ ORIGIN facilita a consulta a 2001: db8: 302: 0 :: / 64, que é uma sub-rede de tamanho razoável (sendo / 64 uma sub-rede de tamanho padrão no IPv6).

Isso evita um quádruplo de zeros, o que, com os nomes RR invertidos de outro modo difíceis de controlar, pode tornar muito difícil controlar as coisas. Eu não contei se o seu exemplo tinha 19, 20 ou 21 0 nele. É claro que esperamos não ter que contar 15, 16 ou 17, mas pelo menos isso é um pouco menor

.

Note que você não deve tornar seu servidor de nomes autoritativo para toda a zona reversa / 48, a menos que o bloco / 48 inteiro esteja realmente sob seu controle e atribuído a você.

Dica profissional: especialmente no caso de sub-redes IPv6 e registros DNS reversos, lembre-se de que você tem permissão para usar um nome não totalmente qualificado na diretiva $ ORIGIN. Por exemplo:

$ORIGIN 2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa. ;; Below this applies to 2001:db8:302::/48
@ SOA ...
; ... whatever else applies ...

$ORIGIN 0.0.0.0 ;; Below this applies to 2001:db8:302:0::/64
; ... whatever applies ...

Especialmente neste caso, eu recomendo que deixe um comentário ao lado da diretiva $ ORIGIN para deixar a intenção clara. A falta de períodos de terminação no final dos rótulos é uma fonte comum de problemas de DNS, por isso é bom explicitamente dizer que você não pretendia criar um nome totalmente qualificado em caso afirmativo.

Observe também que esse truque só funciona para origens mais longas, portanto você pode ir de 2001: db8: 302 :: / 48 para 2001: db8: 302: 0 :: / 64, mas não de 2001: db8: 302: 0 :: / 64 a 2001: db8: 302: 1 :: / 64. (Mas você poderia ir de 2001: db8: 302 :: / 60 a 2001: db8: 302: 1 :: / 64, se você estivesse inclinado.)

    
por 19.07.2013 / 18:49
1

Apenas para adicionar à resposta do @MichaelKjörling, eu faço algo semelhante em minha configuração de ligação de DNS. É só para que eu não tenha que continuar replicando pedaços de nomes que são repetitivos.

$ORIGIN .
$TTL 604800 ; 1 week
bubba.net       IN SOA  ns.bubba.net. hostmaster.bubba.net. (
                2000075011 ; serial
                28800      ; refresh (8 hours)
                7200       ; retry (2 hours)
                3600000    ; expire (5 weeks 6 days 16 hours)
                86400      ; minimum (1 day)
                )
            NS  ns.bubba.net.
            A   192.168.1.1
            MX  10 mail.bubba.net.
            MX  20 mail.bubba.net.
            TXT "v=spf1 mx/24 ~all"

Eu então posso começar meu domínio "bubba.net", definindo o $ ORIGIN daqui para frente no arquivo:

$ORIGIN bubba.net.
apu         A   192.168.1.112
            HINFO   "VZ12" "VZ12"
            MX  10 mail
            TXT "v=spf1 redirect=bubba.net"
bart            A   192.168.1.103
            HINFO   "VZ3" "VZ3"
            MX  10 mail
            TXT "v=spf1 redirect=bubba.net"

Depois, no mesmo arquivo, configurei o $ ORGIN novamente, desta vez para um "somedom.com.bubba.net". então eu posso fazer coisas assim:

$ORIGIN somedom.com.bubba.net.
$TTL 172800 ; 2 days
bender                      CNAME   bender.bubba.net.
blog                        CNAME   blogs.bubba.net.
db                          CNAME   db.bubba.net.

Então, acima, há uma entrada que, quando expandida, diz isso:

bender.somedom.com.bubba.net.   CNAME   bender.bubba.net.

Eu faço isso várias vezes no arquivo para adicionar outros domínios ao mix. A razão pela qual eu faço desta forma é para poder configurar servidores em um domínio primário (bubba.net), mas criar CNAMEs para servidores e nomes de serviço em outros domínios e sobrepô-los ao meu domínio primário.

Por exemplo:

Eu tenho o domínio na internet, somedom.com . Eu crio um CNAME no espaço de nomes desse domínio chamado blog.somedom.com . Configurando o serviço e configurando-o, usarei blog.somedom.com em todos os lugares, mas enterrado em meu servidor de ligação DNS, tenho o CNAME mapping blog.somedom.com que liga este nome ao servidor real blog.bubba.net que está fornecendo o serviço.

Referências

por 19.07.2013 / 19:02

Tags