This is the source for the BIND 10 testing branch known as
the parkinglot. This is a simple authoritative server used
to provide identical records for many zones, such as in
a DNS parking service.
BUILDING
Simple build instructions:
autoreconf
./configure
make
Requires autoconf 2.59 or newer.
Use automake-1.11 or better for working Python 3.1 tests.
Install with:
make install
TEST COVERAGE
Doing code coverage tests:
make coverage
Does the following:
make clean-coverage
Zeroes the lcov code coverage counters and removes the coverage HTML.
make perform-coverage
Runs the C++ tests (using googletests framework).
make report-coverage
Generates the coverage HTML, excluding some unrelated headers.
The HTML reports are placed in a directory called coverage/.
RUNNING
You can start the BIND 10 processes by running bind10 which is
installed to the sbin directory under the installation prefix.
The default location is:
/usr/local/sbin/bind10
For development work, you can also run the bind10 services from the
source tree:
./src/bin/bind10/run_bind10.sh
(Which will use the modules and configurations also from the source
tree.)
The server will listen on port 5300 for DNS requests.
CONFIGURATION
Commands can be given through the bindctl tool.
The server must be running for bindctl to work.
The following configuration commands are available
help: show the different command modules
help: show the commands for module
help: show info for the command
config show [identifier]: Show the currently set values. If no identifier is
given, the current location is used. If a config
option is a list or a map, the value is not
shown directly, but must be requested separately.
config go [identifier]: Go to the given location within the configuration.
config set [identifier] : Set a configuration value.
config unset [identifier]: Remove a value (reverts to default if the option
is mandatory).
config add [identifier] : add a value to a list
config remove [identifier] : remove a value from a list
config revert: Revert all changes that have not been committed
config commit: Commit all changes
EXAMPLE SESSION
~> bindctl
> config show
ParkingLot/ module
> config show ParkingLot/
port: 5300 integer (default)
zones/ list
a_records/ list (default)
aaaa_records/ list (default)
ns_records/ list (default)
> config go ParkingLot/
/ParkingLot> config show
port: 5300 integer (default)
zones/ list
a_records/ list (default)
aaaa_records/ list (default)
ns_records/ list (default)
/ParkingLot> config show zones
/ParkingLot> config add zone tjeb.nl
Error: /ParkingLot/zone not found
/ParkingLot> config add zones tjeb.nl
/ParkingLot> config show zones
zone_name: tjeb.nl string
/ParkingLot> config show
port: 5300 integer (default)
zones/ list (modified)
a_records/ list (default)
aaaa_records/ list (default)
ns_records/ list (default)
/ParkingLot> config go /
> config show ParkingLot/port
port: 5300 integer (default)
> config go ParkingLot/a_records/
/ParkingLot/a_records> config show
address: 127.0.0.1 string
/ParkingLot/a_records> config add "127.0.0.2"
/ParkingLot/a_records> config show
address: 127.0.0.2 string
/ParkingLot/a_records>