Necessidade de 2 diretivas $ ORIGIN

0

Na maioria dos exemplos da Zona DNS, conforme abaixo

$ORIGIN .
$TTL 86400  ; 1 day
example.com     IN SOA  dns.example.com. hostmaster.example.com. (
        2001062504 ; serial
        21600      ; refresh (6 hours)
        3600       ; retry (1 hour)
        604800     ; expire (1 week)
        86400      ; minimum (1 day)
        )
    NS  dns.example.com.
    A   192.168.1.2
    MX  10 mail.example.com.
 $ORIGIN example.com.
 $TTL 60 ; 1 minute
 dd2         A   192.168.1.7
 $TTL 86400  ; 1 day
 ex1         A   192.168.1.2
 ex2         A   192.168.1.2
 ex3         A   192.168.1.3
 ex4         A   192.168.1.4

Eu já vi ORIGIN usado como $ ORIGIN. e $ ORIGIN example.com.

Qual é o uso disso? Isso é para delegação dentro do mesmo arquivo de zona?

ATUALIZAÇÃO:

Eu tentei como abaixo:

$ORIGIN lab.example.com.
$TTL 1d
@     IN      SOA     colombo root.lab.example.com.  (
                                      2003022720 ; Serial
                                      56800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      2h )    ; Min

;NS Records
@              IN      NS      ns1.lab.example.com.
@              IN      NS      ns2.lab.example.com.
mail           IN      NS      ns1.mail.lab.example.com

;A Records
ns1            IN      A       192.0.2.123
ns2            IN      A       192.0.2.124

$ORIGIN mail.lab.example.com.
ns1            IN      A       192.0.2.155

Mas quando faço isso

named-checkzone lab.example.com lab.example.zone
zone lab.example.com/IN: mail.lab.example.com/NS 'ns1.mail.lab.example.com.lab.example.com' has no address records (A or AAAA)
zone lab.example.com/IN: loaded serial 2003022720
OK

Por que recebo um erro como?

zone lab.example.com/IN: mail.lab.example.com/NS 'ns1.mail.lab.example.com.lab.example.com' has no address records (A or AAAA)
    
por Harshith Mulky 11.09.2017 / 13:22

1 resposta

1

Não, $ORIGIN é apenas um atalho que define o "sufixo" padrão para todos os registros que o seguem. Ele é expandido ao carregar o arquivo de zona e não é visível externamente.

Se um campo contiver um nome de domínio não que termine com . , então é um nome de domínio relativo e terá a origem atual anexada a ele. É claro que você ainda pode usar nomes de domínio absolutos (terminando com um ponto) quando necessário.

(Então, usar $ORIGIN . apenas torna o example.com e o% absolutoexample.com. equivalentes.)

Como exemplo, todos esses snippets são equivalentes:

  1. Não $ ORIGIN:

    example.com.       MX     mail.example.com.
    www.example.com.   CNAME  mail.example.com.
    ftp.example.com.   CNAME  ftp.iana.org.
    mail.example.com.  A      1.2.3.4
    a.ns.example.com.  A      2.3.4.5
    
  2. Único $ ORIGIN:

    $ORIGIN example.com.
    @     MX     mail
    www   CNAME  mail
    ftp   CNAME  ftp.iana.org.
    mail  A      1.2.3.4
    a.ns  A      2.3.4.5
    
  3. Vários $ ORIGIN:

    $ORIGIN example.com.
    @     MX     mail
    www   CNAME  mail
    ftp   CNAME  ftp.iana.org.
    mail  A      1.2.3.4
    $ORIGIN ns.example.com.
    a     A      2.3.4.5
    
por 11.09.2017 / 14:43

Tags