Skip to content
Krzysztof Królikowski edited this page Jun 3, 2015 · 52 revisions

Dynamic DNS client / server

This is dynamic DNS server and client software. In this version i've made decision to put user accounts into MySQL database instead of unix system accounts. This approach opened a new opportunities. With database we can incorporate some web based user accounts management. Provide IP change history option for users and much more.

Server Requirements

  • Operating system: Linux or FreeBSD
  • DNS software: Bind
  • MySQL database
  • SMTP server (i.e. postfix)
  • Platforms: x86, x86_64

Synopsis

Only authenticated clients are authorized to update particular zonefile. There's only one subdomain per client. DNS zone with serial number entry should end with comment string: ; serial
White space after semicolon is important!
Client accounts are based on MySQL database contents.

Installation

dDNS server code is linked to MySQL libs. To build server you need to install MySQL devel libs. Source code can be obtained from Download page. You can clone it direcly from Github as well.

OS Command
Ubuntu apt-get install libmysqlclient-dev
FreeBSD pkg install mysql56-client

Compilation

After uncompressing an archive go to dDNS-ng/src directory and type make. If you are a FreeBSD user type: gmake.

Installation and configuration

Running server requires few additional steps. First of all we have to prepare a database and than we will be ready to run install.sh script and edit configuration file.

Database preparation

Running dDNS-ng for the first time we have to create new database and database user account with decent privileges to tablespace. This can be done with these steps

mysql> CREATE DATABASE dyndns;
mysql> GRANT ALL ON dyndns.* to 'dyndns_user'@'%' IDENTIFIED by 'someRandomPassword';
mysql> FLUSH PRIVILEGES;

Once you allready have new database and database user associated with it you are in position to run **install.sh** script. Go to dDNS-ng/src directory and run a command:
```bash # ./install.sh server ```
This is an interactive script, so follow the instructions appearing on the screen. In result you will have server (or client) program and associated configuration file copied in proper place. Installation script will also ask you to provide data for initial admin account. These information will be stored in newly created database.

Configuration file

Running a server

Clone this wiki locally