DNS NSD 2004 8 30 124 jus kohi@iri.co.jp
NSD NLnet Labs RIPE/NCC DNS 2002 4 1.0.0-2003 6 16 1.0.3 2.1.2(2004 7 30 ) h.root-servers.net k.root-servers.net NSD 2004 8 30 Copyright(c) 2004 Koh-ich Ito 2
2004 8 30 Copyright(c) 2004 Koh-ich Ito 3 NSD NLnet Labs BIND 8 3 authority recursive BIND 4 1 1 IPv6
NSD ( ) BIND djbdns root nsd setuid BIND -u root 2004 8 30 Copyright(c) 2004 Koh-ich Ito 4
authority recursive authority world wide recursive world wide 2004 8 30 Copyright(c) 2004 Koh-ich Ito 5
authority recursive ( ) recursive server application com root jp or jprs :authority server jus www 2004 8 30 Copyright(c) 2004 Koh-ich Ito 6
authority recursive ( ) NSD authority BIND 1 recursion no; allow-recursion{...} djbdns authority tinydns recursive dnscache 2004 8 30 Copyright(c) 2004 Koh-ich Ito 7
2004 8 30 Copyright(c) 2004 Koh-ich Ito 8 NSD master master slave nsdc update (named-xfer) nsdc rebuild (zonec) nsd.zones nsd.db nsdc reload nsd
2004 8 30 Copyright(c) 2004 Koh-ich Ito 9 nsdc (r)ndc start/stop/reload/rebuild/restart/running/upd ate/notify reload nsd.db rebuild ( ) nsd.db
nsdc( ) update named-xfer slave master rebuld reload notify notify(rfc1996) master slave nsdc 2004 8 30 Copyright(c) 2004 Koh-ich Ito 10
slave slave nsdc update cron SOA master slave named-xfer nsd nsdc chroot() named-xfer 2004 8 30 Copyright(c) 2004 Koh-ich Ito 11
/configure/make/make install FreeBSD 1.2.4 ports master nsd.zones nsdc.conf nsdc update(slave ) nsdc rebuild 2004 8 30 Copyright(c) 2004 Koh-ich Ito 12
RFC1035 BIND $TTL RFC2308 M,H,D,W BIND 8 $GENERATE BIND 8 2004 8 30 Copyright(c) 2004 Koh-ich Ito 13
TTL $TTL BIND SOA minimum default TTL BIND 8.2 backward compatibility NSD minimum 1 RFC1033 1 RFC1912 1 5 2004 8 30 Copyright(c) 2004 Koh-ich Ito 14
nsd.zones 1 1 zone zone masters IP... zone notify IP... 2004 8 30 Copyright(c) 2004 Koh-ich Ito 15
nsd.zones( ) masters nsdc slave nsdc update IP IP named-xfer BIND 8.3 named-xfer v6 2004 8 30 Copyright(c) 2004 Koh-ich Ito 16
nsd.zones( ) notify nsdc reload nsdc notify IP notify nsd( ) nsd.zones nsd zonec nsd.db nsd master slave nsd notify 2004 8 30 Copyright(c) 2004 Koh-ich Ito 17
2004 8 30 Copyright(c) 2004 Koh-ich Ito 18 ( ) nsd nsdc update cron tsig ${NSDKEYDIR}/IP-addr-of-master.tsiginfo master
( ) tcp_wrappers axfr: all: deny axfr-jus.or.jp.: 192.168.0.1: allow tsig 2004 8 30 Copyright(c) 2004 Koh-ich Ito 19
2004 8 30 Copyright(c) 2004 Koh-ich Ito 20 nsdc.conf nsdc nsdc update named-xfer nsdc rebuild nsd.db nsdc start nsd configure nsdc.conf
nsd [options...] -a IP bind() -N -s sec BIND 8 -t chroot 2004 8 30 Copyright(c) 2004 Koh-ich Ito 21
chroot() setuid() chroot chroot() nsd -t /sandbox -f /sandbox/var/db/nsd.db BIND chroot() named -t /sandbox -c /etc/named.conf NSD pid ;chown()->chroot()->setuid() BIND 9 chroot()->setuid()->pid BIND 8 chroot()->pid ;chown()->setuid() 2004 8 30 Copyright(c) 2004 Koh-ich Ito 22
master ( ) nsdc rebuild nsdc reload slave cron nsdc update 2004 8 30 Copyright(c) 2004 Koh-ich Ito 23
2004 8 30 Copyright(c) 2004 Koh-ich Ito 24 Pentium 166MHz FreeBSD 5.2.1 Celeron 1.2GHz FreeBSD 4.10
localhost example.jp BIND test-0-0 A 192.168.0.0 : test-255-255 A 192.168.255.255 recursion no; fetch-glue no; 2004 8 30 Copyright(c) 2004 Koh-ich Ito 25
2004 8 30 Copyright(c) 2004 Koh-ich Ito 26 BIND9/contrib/queryperf query? 1sec t
gethostbyname() recursive desired = off test-0-0 test-0-1 test-255-255 T 2004 8 30 Copyright(c) 2004 Koh-ich Ito 27 t
(qps) (sec) NSD-2.1.2 1927.5 53 BIND 8.3.7-REL 1583.8 65 BIND 9.2.3 938.9 89 (N+I ) m.root-servers.net: 5 8kqps e.dns.jp: 0.7 1kqps 2004 8 30 Copyright(c) 2004 Koh-ich Ito 28
ps: # UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND % ps alxw grep nsd egrep -v '(grep syslogd)' 53 70842 1 53 8 0 9036 8596 wait Is?? 0:09.77 /u1/nsd-2.1.2/sbin/nsd -f /u1/nsd/etc/nsd.db 53 70854 70842 52 102 0 9036 8596 select I?? 0:00.00 /u1/nsd-2.1.2/sbin/nsd -f /u1/nsd/etc/nsd.db % ps alxwp `cat /var/run/named.pid` UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND 0 74378 1 0 96 0 7728 7072 select Is?? 0:00.01 /usr/sbin/named -c /u1/bind/etc/named.conf % ps alxwp `cat /var/run/named.pid` UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND 0 74397 1 3 96 0 9776 9256 select Ss?? 0:18.68 /usr/local/bind-9.2.3/sbin/named -c /u1/bind/etc/named.conf 2004 8 30 Copyright(c) 2004 Koh-ich Ito 29
ps: # UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND % ps alxww grep nsd egrep -v '(grep syslog)' 53 77292 1 0 8 0 1320 872 wait Is?? 0:00.01 /u1/nsd-2.1.2/sbin/nsd -t /u1/nsd 53 77293 77292 0 96 0 1320 872 select I?? 0:00.00 /u1/nsd-2.1.2/sbin/nsd -t /u1/nsd % ps alxwwp `cat /var/run/named.pid` UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND 0 77271 1 0 96 0 2572 1780 select Ss?? 0:00.01 /usr/sbin/named -c /u1/bind/etc/named.conf % ps alxwwp `cat /var/run/named.pid` UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND 0 77277 1 0 96 0 2652 2020 select Ss?? 0:00.08 /usr/local/bind-9.2.3/sbin/named -c /u1/bind/etc/named.conf 2004 8 30 Copyright(c) 2004 Koh-ich Ito 30
2004 8 30 Copyright(c) 2004 Koh-ich Ito 31 ps( )?? -N ( 1)fork() query
BIND $GENERATE $GENERATE NSD dynamic update view query 1 authority recursive ifconfig fxp0 192.168.0.1 netmask 255.255.255.224 ifconfig fxp0 192.168.0.2 netmask 255.255.255.255 alias nsd -a 192.168.0.1 named.conf:listen-on{192.168.0.2;localhost;}; 2004 8 30 Copyright(c) 2004 Koh-ich Ito 32
/ 3 $GENERATE BIND 2004 8 30 Copyright(c) 2004 Koh-ich Ito 33
2004 8 30 Copyright(c) 2004 Koh-ich Ito 34 authority xsp authority pool RFC2317(/24 ) $GENERATE
( ) slave SOA slave all-in-one recursive split DNS 2004 8 30 Copyright(c) 2004 Koh-ich Ito 35
2004 8 30 Copyright(c) 2004 Koh-ich Ito 36 URL http://www.nlnetlabs.nl/nsd/ http://www.nic.ad.jp/ja/materials/iw/2003/ main/dns/2-1-morishita.pdf BIND 9 djbdns(tinydns) NSD