FQDN format in Bind zone

0

I'm looking over a file in a zone file: wakken.external.no

;
$ORIGIN wakken.extenal.no.
@ IN SOA master.removed.com. root.removed.com. (
;
; Note: Increase serial number as part of modifying this file.
;
2000000014 ; Serialnumber
3600 ; Refresh
7200 ; Retry
604800 ; Expire
3600 ) ; Minimum, Use a much smaler value durin
g setup
;
NS master.removed.com.
NS guffen.removed.com.
;
@ IN MX 10 gw1.domain.removed.com.
@ IN MX 20 gw2.domain.removed.com.
@ IN MX 30 gw3.domain.removed.com.

_autodiscover._tcp.wakken.external.no IN SRV 0 0 443 w3.wakken.external.no.

Now, when I try to resolve _autodiscover._tcp.wakken.external.no (using type=srv), it resolved to _autodiscover._tcp.wakken.external.no.removed.com

This makes me question if _autodiscover._tcp.wakken.external.no should actually be _autodiscover._tcp.wakken.external.no. (notice the extra ".")

I tried to look in the bind named manual, but could'nt figure out why some domains have the extra ".". Is this to mark it as a FQDN?

Unfortunally, I cannot test this at my current location.

Dog eat cat world

Posted 2011-10-19T11:29:04.700

Reputation: 266

Answers

3

Yes, the final . marks the name as a FQDN. If it was not present, the value of .$ORIGIN would be automatically appended.

  • For example, the entries

    $ORIGIN wakken.external.no.
    _autodiscover._tcp.wakken.external.no. IN SRV 0 0 443 w3.wakken.external.no.
    

    are equivalent to

    $ORIGIN wakken.external.no.
    _autodiscover._tcp IN SRV 0 0 443 w3
    

You're also right that in the zone file you posted, the SRV record is missing the final . in its name – resulting in _autodiscover._tcp.wakken.external.no.wakken.external.no. in the actual zone. (Alternatively, you can remove the domain entirely for an easier-to-read zonefile – see example #2 above.)

The zone file format used by bind is described in RFC 1035 section 5.1:

[...] Domain names that end in a dot are called absolute, and are taken as complete. Domain names which do not end in a dot are called relative; the actual domain name is the concatenation of the relative part with an origin specified in a $ORIGIN, $INCLUDE, or as an argument to the master file loading routine.

user1686

Posted 2011-10-19T11:29:04.700

Reputation: 283 655