Browse Source

mix in the official InterNIC named.root file to really ensure we get all entries because currently the K/L/M root-server's IPv6 addresses cannot be queried but are listed by InterNIC

master
parent
commit
02aed7537c
  1. 14
      bind/bind.txt

14
bind/bind.txt

@ -147,8 +147,11 @@ I.ROOT-SERVERS.NET. 99999999 IN A 192.36.148.17
J.ROOT-SERVERS.NET. 99999999 IN A 192.58.128.30
J.ROOT-SERVERS.NET. 99999999 IN AAAA 2001:503:c27::2:30
K.ROOT-SERVERS.NET. 99999999 IN A 193.0.14.129
K.ROOT-SERVERS.NET. 99999999 IN AAAA 2001:7fd::1
L.ROOT-SERVERS.NET. 99999999 IN A 199.7.83.42
L.ROOT-SERVERS.NET. 99999999 IN AAAA 2001:500:3::42
M.ROOT-SERVERS.NET. 99999999 IN A 202.12.27.33
M.ROOT-SERVERS.NET. 99999999 IN AAAA 2001:dc3::35
</file>
<file name="named.db/db.root.sh">
@ -158,8 +161,10 @@ ROOTFILE=./db.root
echo '@l_prefix@' | egrep '^@l_' | egrep 'prefix@$' >/dev/null
if [ $? -eq 0 ]; then
CURL='curl'
DIG='dig'
else
CURL='@l_prefix@/bin/openpkg curl'
DIG='@l_prefix@/bin/dig'
fi
@ -171,15 +176,16 @@ cat >$ROOTFILE <<EOT
;;
EOT
cp /dev/null $ROOTFILE.raw
$CURL -s -L ftp://ftp.internic.net/domain/named.root >$ROOTFILE.raw
for i in A B C D E F G H I J K L M; do
${DIG} @$i.ROOT-SERVERS.NET . NS >>$ROOTFILE.raw
done
[ -f $ROOTFILE.raw ] || exit 1
awk <$ROOTFILE.raw '
/IN[ ]NS[ ]/ { printf("%-20s 99999999 IN NS %s\n", $1, toupper($NF)); }
/IN[ ]AAAA[ ]/ { printf("%-20s 99999999 IN AAAA %s\n", toupper($1), tolower($NF)); }
/IN[ ]A[ ]/ { printf("%-20s 99999999 IN A %s\n", toupper($1), tolower($NF)); }
/[ ]NS[ ]/ { printf("%-20s 99999999 IN NS %s\n", $1, toupper($NF)); }
/[ ]AAAA[ ]/ { printf("%-20s 99999999 IN AAAA %s\n", toupper($1), tolower($NF)); }
/[ ]A[ ]/ { printf("%-20s 99999999 IN A %s\n", toupper($1), tolower($NF)); }
' |\
egrep -v '^;' |\
sort -u >>$ROOTFILE

Loading…
Cancel
Save