After many years in development, and many releases (development, alpha, beta, release candidate), ISC have announced the final Production release of BIND 10 1.0.0. My previous article covered the upgrade from 1.0.0-beta to 1.0.0-rc. Aside from a database upgrade (which was clearly logged for our attention) the upgrade was very straightforward.
Let’s see if the upgrade from 1.0.0-rc to 1.0.0 is as easy.
Building and Installing BIND 10
This article presumes you have installed the various prerequisites as per my BIND 10: First Steps article.
Compile BIND 10. I downloaded the tarball to /usr/local/src.
|
1 2 3 4 5 6 |
# cd /usr/local/src # tar xzf bind10-1.0.0.tar.gz # cd bind10-1.0.0 # ./configure --prefix=/usr/local/bind10-1.0.0 --with-pythonpath=/usr/local/python3/bin/python3 --with-botan-config=/usr/local/botan/bin/botan-config --with-log4cplus=/usr/local/log4cplus # make # make install |
If there are no errors during the compile and installation, shut down any running instances of BIND 10:
|
1 2 3 |
# cd /usr/local/bind10/bin # ./bindctl > Init shutdown |
Remove the symlink to the existing installation
|
1 |
# rm -f /usr/local/bind10 |
and recreate pointing at our new installation:
|
1 |
# ln -s /usr/local/bind10-1.0.0 /usr/local/bind10 |
Migrating Configuration
There are three files that need to be copied to the new installation from the previous version. The cmdctl user accounts file, the configuration database, and the zone database.
Let’s copy those three files now:
|
1 2 3 |
# cd /usr/local # cp -p bind10-1.0.0-rc/etc/bind10/cmdctl-accounts.csv bind10/etc/bind10 # cp -p bind10-1.0.0-rc/var/bind10/{b10-config.db,zone.sqlite3} bind10/var/bind10 |
And start BIND 10:
|
1 |
# nohup bind10/sbin/bind10 -u bind10 & |
Observing BIND 10′s log messages (I haven’t configured a logger, so for me this is STDOUT to nohup.out) for any errors, or pointers for database upgrade. The upgrade from 1.0.0-rc to 1.0.0 doesn’t have any such upgrade requirements. If you’re moving from an earlier release, you may need to.
Verifying the Upgrade
I upgraded both my master BIND 10 server, dolan, and my slave BIND 10 server, gooby.
First, check that all previously enabled and configured services are running:
|
1 2 3 4 |
# cd /usr/local/bind10/bin # ./bindctl > Init show_processes ... |
Test updating a zone:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# dig +short SOA example.com @dolan ns1.example.com. hostmaster.example.com. 2013140220 172800 900 1209600 3600 # dig +short SOA example.com @gooby ns1.example.com. hostmaster.example.com. 2013140220 172800 900 1209600 3600 # nsupdate > server localhost > key example.com.key somekeygoeshere== > update add www100.example.com 86400 A 192.1.0.0 > send > quit # dig +short SOA example.com @dolan ns1.example.com. hostmaster.example.com. 2013140221 172800 900 1209600 3600 # dig +short SOA example.com @gooby ns1.example.com. hostmaster.example.com. 2013140221 172800 900 1209600 3600 |
Reviewing the logs shows the appropriate NOTIFY being sent and received, and the zone transfer taking place.
Conclusion
A quick article showing how easy it is to move from BIND 10 1.0.0-rc to BIND 10 1.0.0 - the first ever Production release of BIND 10.