Project

General

Profile

Wiki » History » Version 2

Marc Dequènes, 2014-04-10 16:09

1 1 Marc Dequènes
h1. Presentation
2
3
DDNS is a Dynamic DNS client and server.
4
5
DDNS is split into two parts:
6
* a "MyIP" client and server, which is a very simple way to get your external IPv4 and IPv6 addresses
7
* a "RegIP" client and server, which register IPs associated with hostnames
8
9
The MyIP service is a public service which basically returns your IP as seen by the webserver in a programmatic way (YAML).
10
11
The RegIP service is an authenticated service which check the hostnames you are allowed to modify and issue a secure update onto your DNS server (using nsupdate and TSIG). Currently RegIP does not care about authentification himself but relies on your webserver to secure its access. It also relies on it being able to return a specific multi-valued field containing the list of allowed hostnames associated with this account. It has been tested successfully with Apache Httpd and the LDAP provider (see configuration examples).
12
13
RegIP is currently working as a command you can add to your crontab but might work as a daemon in the future.
14
15
You can Specify which IP address you wish manually (even none, which would remove the DNS entry), or use automatic discovery (using MyIP).
16
17 2 Marc Dequènes
Both services may be used in a multihomed setup if a specific interface is assigned to a specific provider (no DSCP/TOS support unfortunately).
18
19 1 Marc Dequènes
h1. Installation
20
21
Build-Dependencies:
22
* ruby-setup
23
24
Runtime Dependencies:
25
26
* common:
27
** ruby (>= 1.9)
28
** ruby-log4r
29
** kwalify
30
* clients:
31
** ruby-curb
32
** ruby-safe-yaml
33
* servers:
34
** ruby-activesupport
35
** dnsutils (nsupdate)
36
37
h2. for a real install in /usr/local
38
39
ruby setup.rb config
40
ruby setup.rb setup
41
ruby setup.rb install
42
ruby setup.rb clean
43
44
h2. for packagers
45
46
ruby setup.rb config --installdirs=std
47
ruby setup.rb setup
48
ruby setup.rb install --prefix=debian/ddns
49
ruby setup.rb clean
50
51
h2. for in-place tests
52
53
ruby setup.rb config --bindir=bin --rbdir=lib --datadir=data --sysconfdir=conf --localstatedir=var --shebang=never
54
ruby setup.rb setup
55
56
Do tests, and when finished:
57
ruby setup.rb clean
58
59
h1. Configuration
60
61
See [[Configuration]] and examples in source:examples.