Controller: Dns

API Controller /nodeworx/dns
Required Permissions ["DNS"]
Action Description
defaultServers Set the default nameserver (NS) records for new domains.
export Updates the DNS records from the database.
flush DNS flush service action.
install Installs a DNS server on IPs that don't have one.
isRunning Checks if the service is running or not.
isRunningOnNode Checks if the service is running on a specific node (Clustering only).
listDnsServices Lists information about DNS Services running.
listGeneralName Lists the "normal" name - ie "web server" instead of "httpd".
listPortNumbers Lists a string of the port numbers that this service uses, comma-seperated.
listPortNumbersArray Lists array of port numbers and ranges that this service uses.
listRequiredPermissions Lists an array of permissions required to control the service.
listServiceInfo Lists the service name, ports, page, and status.
listServiceName Lists the service name - ie "httpd" instead of "web server".
listServicePage Lists the page that controls the service.
listServiceStatus Lists information about DNS Services running.
listUnmappedIps Lists information about IPs that do not have DNS running.
remove DNS remove service action.
restart DNS restart service action.
restartOnNode Restarts the service on a specific node (Clustering only).
setSoaSerialFormat Set the DNS SOA Serial Format.
start DNS start service action.
startOnNode Starts the service on a specific node (Clustering only).
stop DNS stop service action.
stopOnNode Stops the service on a specific node (Clustering only).
zoneDefaults Update the default dns zone settings.

Action: defaultServers

Set the default nameserver (NS) records for new domains.

Input Parameters

Name Type Notes Required?
ns1 string
Help Entry
Also called a master server. An authoritative nameserver that gets its zone data from local configuration, not from an outside source. This term is used in terms of a specific zone. The primary server of one zone could be a secondary server in regards to another zone. Despite a common misconception, from a resolver's point of view, primary and secondary servers are equal in authority and priority.
Example Default Value
ns1.interworx.com
No*
ns2 string
Help Entry
Sometimes called a slave server: A secondary nameserver is an authoritative nameserver that gets its data from outside sources, usually a zone transfer from a primary server. This term only applies to relations with a specific zone, a secondary server for one zone could be a primary for another. Despite a common misconception, from a resolvers point of view, primary and secondary servers are equal in authority and priority.
Example Default Value
ns2.interworx.com
No*
ns3 string
Help Entry
Similar to the secondary nameserver, but it's only used if the primary and secondary server fail.
No
* indicates that it's actually required, but probably already has a valid default value

Action: export (Added in version 4.10.0-440)

Updates the DNS records from the database.

Action: flush (Added in version 4.8.0-393)

DNS flush service action.

Input Parameters

Name Type Notes Required?
ip struct (string)
Example Values
123.123.123.123, 123.123.123.125, 208.69.122.234, 4.3.2.1, 127.0.0.1
No*
* indicates that it's actually required, but probably already has a valid default value

Action: install (Added in version 4.8.3-415)

Installs a DNS server on IPs that don't have one.

Input Parameters

Name Type Notes Required?
ip struct (integer) No

Action: isRunning (Added in version 4.2.0-260)

Checks if the service is running or not.

Example Output

array (
  'status' => 0,
  'payload' => true,
)

Action: isRunningOnNode (Added in version 4.3.0-290)

Checks if the service is running on a specific node (Clustering only).

Input Parameters

Name Type Notes Required?
node_id string No*
* indicates that it's actually required, but probably already has a valid default value

Action: listDnsServices (Added in version 4.8.0-393)

Lists information about DNS Services running.

Example Output

array (
  'status' => 0,
  'payload' => 
  array (
    0 => 
    array (
      'ip' => '127.0.0.1',
      'status' => 'up',
      'type' => 'recursive',
    ),
    1 => 
    array (
      'ip' => '123.123.123.123',
      'status' => 'up',
      'type' => 'iterative',
    ),
    2 => 
    array (
      'ip' => '123.123.123.125',
      'status' => 'up',
      'type' => 'iterative',
    ),
  ),
)

Action: listGeneralName (Added in version 4.2.0-260)

Lists the "normal" name - ie "web server" instead of "httpd".

Example Output

array (
  'status' => 0,
  'payload' => '##LG_DNS_SERVER##',
)

Action: listPortNumbers (Added in version 4.2.0-260)

Lists a string of the port numbers that this service uses, comma-seperated.

Example Output

array (
  'status' => 0,
  'payload' => '53',
)

Action: listPortNumbersArray (Added in version 4.2.0-260)

Lists array of port numbers and ranges that this service uses.

Example Output

array (
  'status' => 0,
  'payload' => 
  array (
    0 => 53,
  ),
)

Action: listRequiredPermissions (Added in version 4.2.0-260)

Lists an array of permissions required to control the service.

Example Output

array (
  'status' => 0,
  'payload' => 
  array (
    0 => 'DNS',
  ),
)

Action: listServiceInfo (Added in version 4.2.0-260)

Lists the service name, ports, page, and status.

Example Output

array (
  'status' => 0,
  'payload' => 
  array (
    'id' => 'djbdns',
    'name' => '##LG_DNS_SERVER##',
    'ports' => '53',
    'page' => '/nodeworx/dns',
    'ctrl' => '/nodeworx/dns',
    'is_running' => 1,
  ),
)

Action: listServiceName (Added in version 4.2.0-260)

Lists the service name - ie "httpd" instead of "web server".

Example Output

array (
  'status' => 0,
  'payload' => 'djbdns',
)

Action: listServicePage (Added in version 4.2.0-260)

Lists the page that controls the service.

Example Output

array (
  'status' => 0,
  'payload' => '/nodeworx/dns',
)

Action: listServiceStatus (Added in version 4.3.0-290)

Lists information about DNS Services running.

Example Output

array (
  'status' => 0,
  'payload' => 
  array (
    '123.123.123.123' => 
    array (
      'ip' => '123.123.123.123',
      'status' => 'up',
      'mapped' => true,
      'on_system' => true,
    ),
    '123.123.123.125' => 
    array (
      'ip' => '123.123.123.125',
      'status' => 'up',
      'mapped' => true,
      'on_system' => true,
    ),
    '4.3.2.1' => 
    array (
      'ip' => '4.3.2.1',
      'status' => 'up',
      'mapped' => true,
      'on_system' => true,
    ),
  ),
)

Action: listUnmappedIps (Added in version 4.8.3-415)

Lists information about IPs that do not have DNS running.

Example Output

array (
  'status' => 0,
  'payload' => 
  array (
  ),
)

Action: remove (Added in version 4.8.0-393)

DNS remove service action.

Input Parameters

Name Type Notes Required?
ip struct (string)
Example Values
123.123.123.123, 123.123.123.125, 208.69.122.234, 4.3.2.1
No*
* indicates that it's actually required, but probably already has a valid default value

Action: restart (Added in version 4.2.0-260)

DNS restart service action.

Input Parameters

Name Type Notes Required?
ip struct (string)
Example Values
123.123.123.123, 123.123.123.125, 208.69.122.234, 4.3.2.1, 127.0.0.1
No

Action: restartOnNode (Added in version 4.3.0-290)

Restarts the service on a specific node (Clustering only).

Input Parameters

Name Type Notes Required?
node_id string No*
* indicates that it's actually required, but probably already has a valid default value

Action: setSoaSerialFormat (Added in version 4.8.0-393)

Set the DNS SOA Serial Format.

Input Parameters

Name Type Notes Required?
mode string
Example Values
unix, ymd
Example Default Value
unix
No*
update_all_zones integer
Example Values
1
No
* indicates that it's actually required, but probably already has a valid default value

Action: start (Added in version 4.2.0-260)

DNS start service action.

Input Parameters

Name Type Notes Required?
ip struct (string)
Example Values
123.123.123.123, 123.123.123.125, 208.69.122.234, 4.3.2.1, 127.0.0.1
No

Action: startOnNode (Added in version 4.3.0-290)

Starts the service on a specific node (Clustering only).

Input Parameters

Name Type Notes Required?
node_id string No*
* indicates that it's actually required, but probably already has a valid default value

Action: stop (Added in version 4.2.0-260)

DNS stop service action.

Input Parameters

Name Type Notes Required?
ip struct (string)
Example Values
123.123.123.123, 123.123.123.125, 208.69.122.234, 4.3.2.1, 127.0.0.1
No

Action: stopOnNode (Added in version 4.3.0-290)

Stops the service on a specific node (Clustering only).

Input Parameters

Name Type Notes Required?
node_id string No*
* indicates that it's actually required, but probably already has a valid default value

Action: zoneDefaults

Update the default dns zone settings.

Input Parameters

Name Type Notes Required?
refresh integer
Description
In Seconds
Help Entry
Sets the number of seconds that a slave will cache the record before re-checking the primary server. Recommended values are between 1200 (twenty minutes) and 43200 (twelve hours).
Example Default Value
7200
No*
retry integer
Description
In Seconds
Help Entry
Set the number of seconds to retry a refresh after the previous refresh attempt fails. Recommended values are between 180 (three minutes) and 900 (fifteen minutes).
Example Default Value
2048
No*
expire integer
Description
In Seconds
Help Entry
Set the number of seconds for refresh and retry attempts before the server will stop serving the zone. Per RFC 1912, recommended values are between 1209600 (two weeks) and 2419200 (four weeks). This value is only used by slave servers.
Example Default Value
1048576
No*
minimum integer
Description
In Seconds
Help Entry
How often dns servers check back for changes to existing records. This is usually the server default but can be changed on an A Record by A Record basis.
Example Default Value
21600
No*
* indicates that it's actually required, but probably already has a valid default value