djbdnscurve6 46
djbdnscurve6
Loading...
Searching...
No Matches
INSTALLATION

Step 1:

  • Install DJB's daemontools (optional) and setup /package and /service directory if you want to use djbdnscurve6 using svc. [http://cr.yp.to/daemontools.html]
  • Install NaCl; recommended under /usr/local [http://nacl.cr.yp.to]
  • NaCl is included in libsodium as well: [https://libsodium.gitbook.io/doc/] to be used alternatively.
  • Installation of djbdnscurve6 in a VM requires libsodium instead of NaCl.
  • Install qlibs; recommended under /usr/local

Step 2:

  • Untar djbdnscurve6-XYZ under /package cd to net/djbdnscurve6 and the respective subdir

Step 3:

  • Customize djbdnscurve6
    • conf-home: where to place binaries
    • conf-qlibs: where the qlibs are located
    • conf-nacl: where to find the NACL modules Attention: Check 'hostname' and 'arch' in path and adjust to your local settings
  • libsodium settings
    • change conf-nacl to include the path of your libsodium settings
    • Usually, the libsodium samples in conf-nacl do work; put them on lines 1 and 2
    • In src/Makefile replace 'nacl' with 'sodium' (one occurence, about line number 321)
  • If required, you can adjust
    • conf-cc for compiler settings
    • conf-ld for loader settings
    • conf-man for man-page location
  • Services are initially configured editing -conf-dnscache: setting up dnscache; /var/service/dnscache @ ::1 - enabled -conf-tinydns: setting up tinydns; disabled -conf-rbldns: setting up rbldns; disabled -conf-walldns: setting up walldns; disabled -conf-axfrdns: is still a dummy

    You have to specify each:

    • a userid for service
    • a service directory
    • a log-userid
    • an IP address to bind to
  • Binaries are usually installed at
    • /usr/local/bin
  • Service directories are assumed to exist at:

    • /var/service/XXX

    both are customizable. Given the ./run script, the service directory needs to be able to support executables.

Step 4:

  • Execute
    • package/install
  • or using individual steps
    • package/compile
    • package/upgrade
    • package/legacy
    • package/man
    • package/service (for conf-XX services)
  • If you are not planning to use

    • dnscache
    • tinydns
    • rbldns
    • walldns

    under supervise; don't apply the respective XX-conf executables but rather use customized run scripts and feed the required environment variables and uid settings manually; not to forget to care about logging.

Step 5:

  • Call

    • curvedns-keygen

    in each service home directory (ie. tinydns) to generate the public and private keys under

    • ./env
  • Use the generated public key name of your service as hostname for your DNS service and use it as delegated NS anchor.

Read the man pages!

Erwin Hoffmann; July 2023