Update DNS settings using the Schlundtech XML-Gateway.
Many thanks to https://github.com/martinlowinski/php-dyndns for doing the heavy lifting of figuring out how to talk to the XML-Gateway in a way that actually makes it do what we want.
First, you need to create a subdomain with an A-record in your domain, say home.example.com.
Then you can use the command-line utility provided by this package, like so:
$ schlund-ddns --username USER --password PASS home.example.com 220.127.116.11
(See ddns-update --help for more configuration parameters, e.g. the context that you were told to use when applying for the XML-Gateway.)
Alternatively, set up the provided cgi script schlund-ddns-cgi to provide HTTP access. You’ll need to provide username and password using a configuration file and then passing that file’s path as an environment variable. Here’s an example apache configuration snippet to do this:
ScriptAlias /dns-update /path/to/ddns/schlund-ddns-cgi <Directory /path/to/ddns/> SetEnv DDNS_CONFIG /path/to/ddns/config SetEnv PATH_INFO / AuthName "Dynamic DNS" AuthType Basic AuthUserFile /path/to/ddns/htpasswd require valid-user </Directory>
The configuration file is a standard ini file and should look like this:
[default] username = USER password = PASS
The HTTP protocol is modeled after the one from NoIP, that is, clients should perform a request like this to trigger a DNS update: