Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

It is very important that network administrators understand DNS. Wikipedia has a great reference to help get more comfortable with DNS. Even if you think you know everything about it, a refresher is always good.

There is a standalone xecsuser:document on setting up Microsoft DNS Services for use with sipXecs

...

A typical DNS zone file looks as follows:

Code Block

; WARNING: Zone file configuration is a sipX automatically generated file.

...


;          Contents may be overwritten unless you set the named.conf DNS_MODE.

...


;

...


$TTL

...

 1800
@       IN     SOA    ns1.ezuce.com. root.ezuce.com.

...

                       2010090201 ; serial#

                       1800            ; refresh, seconds

                       1800            ; retry, seconds

                       1800            ; expire, seconds

                       1800 )          ; minimum TTL, seconds

 (
                       2010090201 ; serial#
                       1800            ; refresh, seconds
                       1800            ; retry, seconds
                       1800            ; expire, seconds
                       1800 )          ; minimum TTL, seconds

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...


; DNS Servers for 'ezuce.com'

...


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...



; NS record for ezuce.com

...


;    server: openuc.ezuce.com

...


;

...


ezuce.com.

...

            IN     NS     openuc.ezuce.com.

...



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...


; Call Routing for SIP domain 'ezuce.com'

...


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...



; NAPTR record for SIP TCP ezuce.com

...

;     priority: 2  weight: 0

...


;     priority: 2  weight: 0
;     protocol: "SIP+D2T"

...

  regex: ""

...

  uri: _sip._tcp.ezuce.com

...


;

...


ezuce.com.

...

           IN      NAPTR   2 0 "s" "SIP+D2T" "" _sip._tcp.ezuce.com.

...



; NAPTR record for SIP UDP ezuce.com

...

;     priority: 2  weight: 0

...


;     priority: 2  weight: 0
;     protocol: "SIP+D2U"

...

  regex: ""

...

  uri: _sip._udp.ezuce.com

...


;

...


ezuce.com.

...

           IN      NAPTR   2 0 "s" "SIP+D2U" "" _sip._udp.ezuce.com.

...



; SRV record for domain SIP TCP ezuce.com

...


;     priority: 1  weight: 0  port: 5060  server: openuc.ezuce.com

...


;

...


_sip._tcp.ezuce.com.

...

 IN      SRV     1 0 5060 openuc.ezuce.com.

...



; SRV record for domain SIP UDP ezuce.com

...


;     priority: 1  weight: 0  port: 5060  server: openuc.ezuce.com

...


;

...


_sip._udp.ezuce.com.

...

 IN      SRV     1 0 5060 openuc.ezuce.com.

...



; SRV record for service SIP TCP rr.openuc.ezuce.com

...


;     priority: 1  weight: 0  port: 5070  server: openuc.ezuce.com

...


;

...


_sip._tcp.rr.openuc.ezuce.com.

...

 IN      SRV     1   0 5070 openuc.ezuce.com.

...



; SRV record for XMPP SERVER TCP ezuce.com

...


;     priority: 1  weight: 0  port: 5269  server: openuc.ezuce.com

...


;

...


_xmpp-server._tcp.ezuce.com.

...

 IN      SRV     1  0 5269 openuc.ezuce.com.

...



; SRV record for XMPP CLIENT TCP ezuce.com

...


;     priority: 1  weight: 0  port: 5222  server: openuc.ezuce.com

...


;

...


_xmpp-client._tcp.ezuce.com.

...

 IN      SRV     1  0 5222 openuc.ezuce.com.

...



; SRV record for XMPP SERVER CHAT ROOM TCP ezuce.com

...


;     priority: 1  weight: 0  port: 5222  server: openuc.ezuce.com

...


;     NOTE: the XMPP client port is used here as this is the port used

...


;           by openfire to service multi-user chat requests.

...


;

...


_xmpp-server._tcp.conference.ezuce.com.

...

 IN      SRV     1  0 5222 openuc.ezuce.com.

...



; SRV record for XMPP CLIENT CHAT ROOM TCP ezuce.com

...


;     priority: 1  weight: 0  port: 5222  server: openuc.ezuce.com

...


;

...


_xmpp-client._tcp.conference.ezuce.com.

...

 IN      SRV     1  0 5222 openuc.ezuce.com.

...



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...


; IP Addresses

...


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...



; A record for openuc.ezuce.com

...


;

...


openuc.ezuce.com.

...

       IN      A       192.168.5.2

...



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Required DNS Records for a Multiple Server Environment

...

A typical DNS zone file for a multiple server configuration looks as follows (additional records for a multiple server installation are in red):

; WARNING: Zone file configuration is a sipX automatically generated file.

;          Contents may be overwritten unless you set the named.conf DNS_MODE.

;

$TTL 1800

@       IN     SOA    :

Code Block

; WARNING: Zone file configuration is a sipX automatically generated file.
;          Contents may be overwritten unless you set the named.conf DNS_MODE.
;
$TTL 1800
@       IN     SOA    ns1.ezuce.com. root.ezuce.com.

...

                       2010090201 ; serial#

                       1800            ; refresh, seconds

                       1800            ; retry, seconds

                       1800            ; expire, seconds

                       1800 )          ; minimum TTL, seconds

 (
                       2010090201 ; serial#
                       1800            ; refresh, seconds
                       1800            ; retry, seconds
                       1800            ; expire, seconds
                       1800 )          ; minimum TTL, seconds

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...


; DNS Servers for 'ezuce.com'

...


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...



; NS record for ezuce.com

...


;    server: openuc.ezuce.com

...


;

...


ezuce.com.

...

            IN     NS     openuc.ezuce.com.

...



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...


; Call Routing for SIP domain 'ezuce.com'

...


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...



; NAPTR record for SIP TCP ezuce.com

...

;     priority: 2  weight: 0

...


;     priority: 2  weight: 0
;     protocol: "SIP+D2T"

...

  regex: ""

...

  uri: _sip._tcp.ezuce.com

...


;

...


ezuce.com.

...

           IN      NAPTR   2 0 "s" "SIP+D2T" "" _sip._tcp.ezuce.com.

...



; NAPTR record for SIP UDP ezuce.com

...

;     priority: 2  weight: 0

...


;     priority: 2  weight: 0
;     protocol: "SIP+D2U"

...

  regex: ""

...

  uri: _sip._udp.ezuce.com

...


;

...


ezuce.com.

...

           IN      NAPTR   2 0 "s" "SIP+D2U" "" _sip._udp.ezuce.com.

...



; SRV record for domain SIP TCP ezuce.com

...


;     priority: 1  weight: 0  port: 5060  server: openuc.ezuce.com

...


;

...


_sip._tcp.ezuce.com.

...

 IN      SRV     1 0 5060 openuc.ezuce.com.

...


_sip._tcp.ezuce.com.

...

 IN      SRV     1 0 5060 openuc2.ezuce.com.

...



; SRV record for domain SIP UDP ezuce.com

...


;     priority: 1  weight: 0  port: 5060  server: openuc.ezuce.com

...


;

...


_sip._udp.ezuce.com.

...

 IN      SRV     1 0 5060 openuc.ezuce.com.

...


_sip._udp.ezuce.com.

...

 IN      SRV     1 0 5060 openuc2.ezuce.com.

...



; SRV record for service SIP TCP rr.openuc.ezuce.com

...


;     priority: 1  weight: 0  port: 5070  server: openuc.ezuce.com

...


;

...


_sip._tcp.rr.openuc.ezuce.com.

...

 IN      SRV     1   0 5070 openuc.ezuce.com.

...


_sip._tcp.rr.openuc.ezuce.com.

...

 IN      SRV     2 100 5070 openuc2.ezuce.com.

...



_sip._tcp.rr.openuc2.ezuce.com.

...

 IN      SRV     1   0 5070 openuc2.ezuce.com.

...


_sip._tcp.rr.openuc2.ezuce.com.

...

 IN      SRV     2 100 5070 openuc.ezuce.com.

...




; SRV record for XMPP SERVER TCP ezuce.com

...


;     priority: 1  weight: 0  port: 5269  server: openuc.ezuce.com

...


;

...


_xmpp-server._tcp.ezuce.com.

...

 IN      SRV     1  0 5269 openuc.ezuce.com.

...



; SRV record for XMPP CLIENT TCP ezuce.com

...


;     priority: 1  weight: 0  port: 5222  server: openuc.ezuce.com

...


;

...


_xmpp-client._tcp.ezuce.com.

...

 IN      SRV     1  0 5222 openuc.ezuce.com.

...



; SRV record for XMPP SERVER CHAT ROOM TCP ezuce.com

...


;     priority: 1  weight: 0  port: 5222  server: openuc.ezuce.com

...


;     NOTE: the XMPP client port is used here as this is the port used

...


;           by openfire to service multi-user chat requests.

...


;

...


_xmpp-server._tcp.conference.ezuce.com.

...

 IN      SRV     1  0 5222 openuc.ezuce.com.

...



; SRV record for XMPP CLIENT CHAT ROOM TCP ezuce.com

...


;     priority: 1  weight: 0  port: 5222  server: openuc.ezuce.com

...


;

...


_xmpp-client._tcp.conference.ezuce.com.

...

 IN      SRV     1  0 5222 openuc.ezuce.com.

...



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...


; IP Addresses

...


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

...



; A record for openuc.ezuce.com

...


;

...


openuc.ezuce.com.

...

       IN      A       192.168.5.2
openuc2.ezuce.com.

...

      IN      A       192.168.5.3

...



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Scenario 1 – sipXecs PBX on the Data Network

...

For pointing a host name at another host name we'll use a CNAME record (canonical name). So, externally the DNS would have a CNAME record setup pointing to the dynamic DNS name). So, externally the DNS would have a CNAME record setup pointing to the dynamic DNS name:

Code Block
sipxecs                CNAME examplecorp.dyndns.net

And then the SRV records would be setup also pointing to the dynamic DNS name as follows:

...

:

Code Block
sipxecs                CNAME examplecorp.dyndns.net

And then the SRV records would be setup also pointing to the dynamic DNS name as follows:

Code Block

_sip._udp.example.com 86400 IN SRV 10 100 5060 examplecorp.dyndns.net
_sip._tcp.example.com 86400 IN SRV 10 100 5060 examplecorp.dyndns.net

Notes on DNS & SRV Records with Polycom Phones

A flaw in Polycom's SRV record use has been identified. Polycom phones don't honor the DNS SRV weight, but they do honor the priority. What this means is that they don't resort the list of records when they get it from DNS. Most DNS servers by default produce the SRV records in cyclical order. This means that for a 3 server cluster there are 3 combinations that the records will show up.

A suggested work-around for this problem is to use the bind (9.6 & later) command rrset-order.

Code Block

rrset-order { type SRV order random; };

Documentation for rrset-order here: http://www.zytrax.com/books/dns/ch7/queries.html

rrset-order

rrset-order { order_spec ; [ order_spec ; ... ]
rrset-order defines the order in which multiple records of the same type are returned. This works for any record type in which the records are similar not just A or AAAA RRs and covers results in the ANSWER SECTION and the ADDITIONAL SECTION. The default is cyclic (round-robin).

The full specification of rrset-order is shown below. An 'order_spec' is defined as:

class class_name ][ type type_name ][ name "domain_name"] order ordering;
Where 'class_name' is the record class, for example, IN (default is 'any'), type is the Resource Record type (if none specified defaults to 'any'), domain_name limits the statement to a specific domain suffix and defaults to root (all domains), order is a key word and ordering may take one of the following values:

fixed - records are returned in the order they are defined in the zone file
random - records are returned in a random order
cyclic - records are returned in a round-robin fashion
Note: For reasons best known to the ISC (BIND's author) the fixed value is now (BIND 9.6+) only available if the configure option --with-fixed-rrset is used in the build. Neither BSD nor Debian standard packages use this option. This is likely to be true for Fedora and other RPMs but has not been verified (use named -V to check). For practical purposes only cyclic and random are the available choices.

Examples

Defines that all equal records for all domains will be returned in random order.

Code Block
 rrset-order {order random;}; 

Defines that all equal MX records for example.com will be returned in random order all others in cyclic order.

Code Block
 rrset-order {type MX name "example.com" order random; order cyclic}; 

This statement may be used in a view or a global options clause.

Advanced DNS configuration

...