-
Notifications
You must be signed in to change notification settings - Fork 2
Home
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.
- Operating system: Linux or FreeBSD
- DNS software: Bind
- MySQL database
- SMTP server (i.e. postfix)
- Platforms: x86, x86_64
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.
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 |
After uncompressing an archive go to dDNS-ng/src directory and type make. If you are a FreeBSD user type: gmake.
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.
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.
dDNS-ng