Micetro by Men&Mice

Latest versions

Search all documentation

Child pages
  • the "switchbind" tool and Men & Mice pre-compiled BIND9 packages
Skip to end of metadata
Go to start of metadata

Symptom:

Important:

Men & Mice pre-compiled packages are offered as-is, with no warranty expressed or implied.

If you need support for the Men & Mice BIND packages, please request information on Men & Mice Service Support Contracts from sales@menandmice.com

Design objectives

  • allow multiple versions of BIND installed at the same time
  • a tool to switch between versions and to be able to revert to the previous version
  • not to interfere with the systems native installation and upgrade tools

Solution

the installation scheme

the pre-compiled packages can be found at
http://support.menandmice.com/download/bind/

Men & Mice currently builds packages for:
  • Solaris 10 SPARC
  • Solaris 10 x86
  • RedHat EL 5.5 (32bit / 64bit)
  • Debian 5 (32bit / 64bit) (these also work on Ubuntu)
  • kGNUFreeBSD (experimental)
  • NextentaOS (experimental)
they all install into their own directory below "/usr/local", but are compiled relative to "/usr/local/bind"

these versions expect the BIND configuration file(s) (named.conf, rndc.key ...) in "/var/named/etc"

the directories "/usr/local/bind/bin" and "/usr/local/bind/sbin" should be added to the PATH variable to be able to use the BIND distribution tools (dig, host, anemd-checkconf, ....) from any place

the DNS Server startscript needs to be adjusted to stop and start the BIND nameserver in "/usr/local/bind"

the "switchbind" script

the "switchbind" can be used to switch between installed BIND versions under "/usr/local". The script can be downloaded from this page.
bash-3.2# switchbind
 Usage: /usr/bin/switchbind {switch <version>|revert|list}
to list all installed BIND versions, use the "list" parameter
bash-3.2# switchbind list
 /usr/local/bind-9.4.2
 /usr/local/bind-9.4.2-P1
 /usr/local/bind-9.5.1-b1
to switch to a specific version of BIND, use the "switch" parameter with a version number
bash-3.2# switchbind switch bind-9.5.1-b1
 Switch to bind-9.5.1-b1
 bash-3.2# named -v
 BIND 9.5.1b1
the switch command will set a symbolic link from the selected version to "/usr/local/bind". It will also create a symbolic link called "/usr/local/bind-old" to the previous version of BIND.
bash-3.2# ls -la /usr/local/bind*
 lrwxrwxrwx   1 root     root          24 Jul 17 12:29 /usr/local/bind -> /usr/local/bind-9.5.1-b1
 lrwxrwxrwx   1 root     root          24 Jul 17 12:29 /usr/local/bind-old -> /usr/local/bind-9.4.2-P1
the parameter "revert" will switch back to the previous version of BIND:
bash-3.2# switchbind revert
 bash-3.2# named -v
 BIND 9.4.2-P1
the "switchbind" does not restart the BIND nameserver. You need to either use the startscript to stop the old and start the new BIND nameserver or use "rndc" to stop the running (old) BIND instance and use the "named" command to start the new version.

Make sure to check the BIND logfiles for error messages after each restart of the BIND nameserver, esp. after switching to a new version.