README revision 0e9dcd548051a8ec34744bfa18b4e09fea742a39
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas GustafssonThis is a simple test environment for running bind9 system
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafssontests involving multiple name servers.
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas GustafssonThere are multiple test suites, each in a separate subdirectory and
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafssoninvolving a diffent DNS setup. They are:
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson xfer/ Zone transfer, update, and NOTIFY tests
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson dnssec/ DNSSEC tests
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson xferquote/ Zone transfer quota tests
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas GustafssonTypically each test suite sets up 2-4 name servers and then performs
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafssonone or more tests against them. Within the test suite subdirectory,
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafssoneach name server has a separate subdirectory containing its
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafssonconfiguration data. By convention, these subdirectories are named
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson"ns1", "ns2", etc.
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas GustafssonThe tests are completely self-contained and do not require access to
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafssonthe real DNS. One of the test servers (ns1) is set up as a root
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafssonname server and is listed in the hints file of the others.
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas GustafssonTo enable all servers to run on the same machine, they bind to
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafssonseparate virtual IP address on the loopback interface. ns1 runs on
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson10.53.0.1, ns2 on 10.53.0.2, etc. Before running any tests, you must
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafssonset up these addresses by running the script "ifconfig.sh".
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas GustafssonXXX the ifconfig.sh script is known to work only on NetBSD.
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas GustafssonBecause the servers run on port 53, the tests must be run as root.
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas GustafssonTo run the tests:
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson sh run.sh xfer
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson [check that xfer/ns3/example.bk has been created]
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson [run update_test.pl against ns2, check that changes propagate to ns3,
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson which they currently don't because notifies are not sent after dynamic
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson updates like they ought to be]
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson sh stop.sh xfer
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson sh run.sh dnssec
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson dig a.secure.example. a @10.53.0.4
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson [should return 10.0.0.1, AD=1]
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson dig c.secure.example. a @10.53.0.4
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson [should return NXDOMAIN, AD=1]
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson sh stop.sh dnssec
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson sh run.sh dnssec --badsig
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson dig a.secure.example. a @10.53.0.4
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson [should return SERVFAIL]
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson sh stop.sh dnssec
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson sh run.sh xferquota
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson [check that xferquota/ns2 now contains 100 .bk files]
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson sh stop.sh xferquota
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson sh clean.sh
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas GustafssonXXX The manual operations in [brackets] above should be automated.
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson
0e9dcd548051a8ec34744bfa18b4e09fea742a39Andreas Gustafsson$Id: README,v 1.1 2000/05/15 22:47:15 gson Exp $