Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Dynaname - dynamic DNS updater using nsupdate and bind 9
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
Dynaname - Your dynamic DNS, on YOUR domain name, on YOUR infrastructure. WHY ? ----- There are two big players in the field: Dyn.com (ex-DynDNS) and no-ip.com. Recently, one of the most popular provider (dyn.com) decided to get rid of their free (as in free beer) service. To push users to the pay version, they're forcing their users to login at least once a month on their web interface. After a month without web activity, the domain will be frozen and then deleted, which is really cumbersome and can be easily forgotten. A script can of course be written to work around that, but it is just a temporary dirty fix. No-IP.com do not have a high presence in Europe, which can be problematic at times. They are both US-centric, which is a problem after the messy NSA scandal, or you may want to eat from their turf. :-) My opinion is that if you need to pay for such a service, it has to be hammered down to YOUR specifications. HOW ? ----- Latest versions of BIND (The Berkeley Internet Name Daemon) have provisions for dynamic update of the zone records, this script is just a wrapper around the nsupdate utility and is designed to be mostly foolproof, didactic (it will generate configuration snippets to install on your DNS server) and easy to use. TODO ---- This script is in the early stage, but is already somewhat useable. - Generate server side config files - Daemon mode - Query web site for IP addresses (useful when the daemon runs on another box than the router) - Cron setup (register/unregister) - Documentation NEEDED BEFORE YOU START ----------------------- client side: - A linux machine (I need *BSD testers) - The Bourne Again Shell (bash) (Not tested on Busybox Ash) - nsupdate binary (to update the DNS server) - dnssec-keygen (to generate keypairs) Server side: - A server with static public IP addresses - ISC BIND 9 on the server - Your favorite domain name to play with CREDITS ------- - Bernhard M. Wiedemann: many patches - Florian Streibelt: IPv6 address validation code (https://github.com/mutax/IPv6-Address-checks/tree/master/bash) - Mitch Frazier: IPv4 address validation code (http://www.linuxjournal.com/content/validating-ip-address-bash-script)