1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
#!/bin/sh
set -e
setup() {
service nsd start
}
add_local_zone() {
{
echo '$TTL 604800'
echo '@ IN SOA localhost. root.localhost. ('
echo ' 2 ; Serial'
echo ' 604800 ; Refresh'
echo ' 86400 ; Retry'
echo ' 2419200 ; Expire'
echo ' 604800 ) ; Negative Cache TTL'
echo ';'
echo '@ IN NS localhost.'
echo '@ IN A 127.0.0.1'
echo '@ IN AAAA ::1'
} > /etc/nsd/local.zone
# add local zone config
{
echo 'zone:'
echo ' name: "localhost."'
echo ' zonefile: "local.zone"'
} > /etc/nsd/nsd.conf.d/localzone.conf
}
run() {
# check nsd-control
nsd-control status
retcode=$?
if [ "$retcode" -eq 0 ]; then
echo "control OK"
else
return 1
fi
# enable local zone
nsd-control reconfig
retcode=$?
if [ "$retcode" -eq 0 ]; then
echo "reconfig OK"
else
return 1
fi
nsd-control zonestatus localhost
retcode=$?
if [ "$retcode" -eq 0 ]; then
echo "zone load OK"
else
return 1
fi
}
teardown() {
service nsd stop
rm -f /etc/nsd/local.zone
rm -f /etc/nsd/nsd.conf.d/localzone.conf
}
setup
add_local_zone
run
teardown
|