Update README.md

This commit is contained in:
Michael Clemens 2018-04-29 21:05:02 +02:00 committed by GitHub
parent 4f05d03713
commit dcba187d74
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 100 additions and 0 deletions

100
README.md
View File

@ -1 +1,101 @@
# nsd-dyndns
## Introduction
nsd-dyndns is a simple script that adds dynamic DNS dunctionality to NSD (authoritative DNS name server).
## Requirements
The following is required or suggested:
* OpenBSD (or another BSD or some Linux distro) with HTTPD and NSD installed (pkg_add nsd), configured and running
* (sub-)domain for your webserver. Needed for updating the NS record of your actual DynDNS domain.
* In this example: update.example.com
* (sub-)domain that is updated dynamically.
* In this example: dyn.example.com
* A router capable of sending custom GET-requests to your DynDNS server.
* In this example: A FritzBox
## Installation
### Configure your HTTPD
Add the following new virtual host to your /etc/httpd.conf:
```
server "update.example.com" {
listen on $ext_addr port 80
root "/htdocs/dyndns"
log access dyndns.log
}
```
Create an empty index.html:
```
# mkdir /var/www/htdocs/dyndns/
# touch /var/www/htdocs/dyndns/update.html
```
After reloading HTTPD, try to access http://update.example.com/update.html
The request should show up in /var/www/logs/dyndns.log
### Create a zone file for dyn.example.com
Create a new zone file (e.g. at /var/nsd/zones/dyn.example.com.zone) with the following content
```
$ORIGIN example.com.
$TTL 300
@ IN SOA ns1.example.com. admin.example.com. (
1524952218
300 ; refresh
900 ; retry
1209600 ; expire
1800 ; ttl
)
; Name servers
IN NS ns1.example.com.
IN NS ns1.example.com.
; A records
@ IN A 123.123.123.123
update IN A 123.123.123.123
dyn IN A 123.123.123.13
```
Don't forget to set your own domain names, name servers and ip addresses
Furthermore, add this zone file to your /var/nsd/etc/nsd.conf
### Configure and Install nsd-dyndns
* Copy _dyndns.conf-dist_ to _/etc/dyndns.conf_
* Edit _/etc/dyndns.conf_ to your needs
* Copy _dyndns.sh_ to _/usr/local/bin/dyndns.sh_
* Make the script executable:
* _# chmod u+x /usr/local/bin/dyndns.sh_
* Add _/usr/local/bin/dyndns.sh_ to your crontab
```
```
```
```
```
```
```
```