Table of contents

Introduction

The application DNS REST NOMINUM ANS forms a bridge between AutoDNS and a NOMINUM ANS name server, allowing the zones in AutoDNS to be managed. The actions required for this in AutoDNS are passed to the NOMINUM ANS server with the help of DNS REST NOMINUM ANS. The REST protocol based on HTTP is used to do this. In order to ensure a secure connection, we suggest that you start the server in SSL mode. You can either integrate your own certificates or use the certificate already in place in the application.

System requirements

The application requires a Java Virtual Machine (JDK). It is also dependent on the javad-util package, included in delivery. Although there are no special hardware requirements, we nevertheless recommend an x86 system with at least 256 MB RAM.

Recommendation

We use the OpenJDK Amazon Corretto-8  to develop our software, therefore we recommend the usage of Amazon Corretto-8. Amazon Corretto is a free, cross-platform and production-ready distribution of the Open Java Development Kit (OpenJDK). Corretto provides long-term support that includes performance enhancements and security fixes. It can be installed easily using the following commands:

First import the repository

rpm --import https://yum.corretto.aws/corretto.key curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo

Finally install the JDK:

yum install java-1.8.0-amazon-corretto-devel

First installation

Installation using package manager yum 

DNS REST NOMINUM ANS was designed for use with systems based on RPM and is available as an RPM package. As soon as the InterNetX repositories are available, DNS REST NOMINUM ANS can be installed easily using the following command:

yum install dns-rest-nominum-ans

The package manager resolves the requirements and enables the installation of missing programs.

Configuration

Hint

If your firewall is active, please make sure that port 9090 is enabled.

Predefined variables

VariableDescriptionDefault Path
CONFIGDIRConfiguration Files /etc/javad/dns-rest-nominum-ans
HOMEHome Directory /var/lib/javad/dns-rest-nominum-ans
APPDIRProgram Files /usr/share/java/dns-rest-nominum-ans

Password configuration

The server uses http-BASIC-Auth to authorize the user. You can define the users and corresponding passwords in the file passwd in the configuration index.

The file uses the following format:

User: Password,rest-user

Example: user.one: pwsecret,rest-user

rest-user cannot be changed and must follow the password – it defines the user group (specified in the server).

Logging configuration

The file log4j.xml is saved in the configuration index at installation.

The file defines the logging behavior. This is based on "Log4j-Logger". It writes the log data to /var/log/javad/dns-rest-nominum-ans.info.log file. Logging is set so that a maximum of 1 GB hard drive space can be used, i.e. 10 files of 100 MB each.

If you would like to perform the logging via e.g. syslog, please refer to the "Log4j" configuration.

Configuration of the NOMINUM-ANS connection

The following parameters are defined in the configuration folder under bind.properties:

NameFormatDescription
ans.hostfqdnThe hostname of the ANS name server to connect.
Default: localhost
ans.portIntegerThe port of the ans name server to connect.
Default: 8080
ans.secretStringThe secret for the ANS connection
ans.message.directoryPathThe path to the local message directory.
Default: /var/lib/javad/dns-rest-nominum-ans
ans.message.enabledbooleanActivates and deactivates event log.
Default: false
ans.axfrTimeoutIntegerThe AXFR timeout in seconds.
Default: 60
ans.axfrPortIntegerThe port of the local axfr.
Default: 53
ans.localAxfrIPThe local address to nominum-ans.
Default: 0.0.0.0

Server start parameters

The server starting parameters are defined in the tables. 

These can be modified under /etc/sysconfig/javad/dns-rest-nominum-ans under the item PARAM.

NameRequiredTypeDescription
Port, -pyesintegerServer port that waits for requests.
Default: 9090
sslnobooleanIs HTTPS used instead of HTTP? For SSL further parameters are required.
Default: true
keystorenopathSSL keystore
keystore-passwordnostringPassword for the SSL keystore. The password is stored AES encrypted.
cert-passwordnostringPassword for the certificate. The password is stored AES encrypted.
passwdyesstringPath to the user file.
Default:  /etc/javad/dns-rest-nominum-ans/passwd
hostnamenoipIP Address the server should bind to.
Default: 0.0.0.0

General parameters

NameRequiredTypeDescription
USERyesstringThe user the server is start with.
Default: autodns
VMOPTSyesstringDefines JDK specific parameters like memory usage.
Default: -Dconf-dir=file:$CONFIGDIR
PARAMSyesstringStart parameter for the server. See: Configuration of the Server Start Parameters.
Default: see Server Parameter
JMXnobooleanStarts the VM with JMX.
Default: false
JMXPORTnointegerThe JMX port.
Default: 10120
DEBUGnobooleanStarts the VM in the remote debug mode.
Default: false
DEBUGPORTnointegerDefault: 10220