DynamicDNS Server
Ruby Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
test
.gitignore
Gemfile
Gemfile.lock
README.org
app.rb
config.ru

README.org

README

Initial setup

  • Run sh -x ./bin/setup-ddns.sh ddns.example.com
  • Some files used by bind9 :
    config/named/DOMAIN.key.conf
    Included from named.conf.DOMAIN. When you move this file, edit named.conf.DOMAIN too.
    config/named/DOMAIN.zone
    Copy to /var/cache/bind/DOMAIN.zone as an initial zone file.
    config/named/name.conf.DOMAIN
    Include from your name.conf.

Permissions

  • Client side files. These files used by nsupdate command.
    config/named/KDOMAIN.*.{key,private}
    Readable from your ddns account only. (client’s secret key)
    config/named/DOMAIN.key
    Symlink to KDOMAIN.*.key. Symlink can be world readable.
  • Server side files. You can remove these files from config/named after setup bind.
    config/named/DOMAIN.key.conf
    Readable from bind only. (server’s secret key)
    config/named/DOMAIN.zone
    An example initial zone file. Set permissions as normal zone file. You can remove after copy to /var/cache/bind/DOMAIN.zone.
    config/named/named.conf.DOMAIN
    An example named.conf file. Set permissions as normal named.conf file.

Run test

  • Run ruby test/test_plain_db.rb -v.
  • Run ruby test/test_ddns.rb -v when domain is ‘ddns.example.com’.
  • Run bundle install
  • Run ruby test/test_app.rb -v when domain is ‘ddns.example.com’.

Update via ssh

  • Add ssh public key to config/hosts/FQDN/some.pub (e.g. config/hosts/test.ddns.example.com/id_rsa.pub)
  • Run ruby bin/update-sshkeys.rb
  • Copy or merge .ssh/authorized_keys to your ddns account or set this directory as ddns account’s home directory.
  • Run ssh -T ddns@your.ddns.server.example.com from ssh client machine. (-T option is required by no-pty)