Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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.

share|improve this question

1 Answer 1

up vote 3 down vote accepted

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.