djbdnsを使ったDNS管理

以下のテキストは、執筆時当時の情報を元に書いたものであり、 現在の情勢にそぐわないことを含む場合があるので注意されたい。 また、テキストは最終提出原稿で校正を経る前のものなので、実際にUNIXUSER 本誌に記載されたものとは異なる。誤字脱字等そのままである。

致命的な誤り以外は加筆修正等は行なわないので情報の鮮度に気をつけつつ 利用して欲しい。

目次


djbdns��������DNS����

������������������������������������������������������������������������
������������������������������������������������������������������������
����������������������������������������djbdns��������������������������
������������������������������������������������������������������������
��������������������������������������������������������������������������

��DNS������������������djbdns

BIND��������������������������������������������������������������������
������������Part?? ����������������������������������������������������
������������������������������������������������������������������������
��������������������������������������������������������������������������
������������������������������������������������������������������������
������������������������������������

djbdns�� qmail ������������D. J. Bernstein ������������������DNS����������
qmail ������������������������������������������������������������������

 ��djbdns������

������������������������������������������������������������������������
��������������������������������������������������������������������������
����������������������������������������������������������������������
BIND������������������������������������(named)����������������������
djbdns������������������������������������������������������������������
������������������dnscache����������������������������������tinydns����
����dnscache��������������������������������������������������������������
������������������

������������������������������������������1����������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
������������������������������DNS����������������������������������������
����������������������������������������������������������
����������UNIX-PC����������
��������������������������������������Web������������������������������
��������������������������������������������������������������������������
��������������������������������

������������������������������������2����������������������������������
����������������������������������
��1 ������������������----------------------+
|     Computer
|   +-----------+
|   |           |
|   |           |  (www.hoge.co.jp ������
|   |           |   ������������������
|   +-+-------+-+   ��������������������)
|     |��  ��   |
|  /~~~��~~��~~~~\
|   www.hoge.co.jp
+-------------------------------------------+
��2 ��������������--------------------------+
|  ����������������
|   +-----------+
|   |           |
|   |           |  (������������������
|   |           |   ����������������������)
|   +-+-------+-+   +---+ +---+ +---+ +---+ 
|     |       |     |   | |   | |   | |   | 
|  /~~~~~~~~~~~~~\  +---+ +---+ +---+ +---+ 
|                   [...] [...] [...] [...] 
+-------------------------------------------+

������������������LAN��������������������������������������������������
������������������������������������������UNIX��������������������������
������������������LAN��������������������������������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
������������������������

����������tinydns������������������������������������������������������
����������������������������������BIND����������������������������������
����������������������������������������tinydns����������������dnscache
������������������������������

 ��djbdns������

djbdns��DNS������������������������������������������������������������
���������������������������� "daemontools" ����������������������������
������������������������������������������������������������������������
����������������daemontools��������������djbdns��������������������������
������������������������������������������������������������������������
������������������������������������������UNIX����������������������������
������������daemontools��������������������������������������

  ��daemontools����

UNIX��������������������������������������������������������������������
����������������������������������������daemontools��������������������
��������������������������

	��sshd������������������������sshd_config��������������HUP��������
	������PID��������? ������/var/run/sshd.pid ������������������
	�������������������� sshd ��PID��������������������������������
	��������������? ������ps ����������ps����������������������������
	��? ��������man ps ��������������������������(1������)����������
	ps -le ����������������������1234���������� kill -HUP 1234 ����
	����������������������������������������������������sshd_config
	��SyslogFacility������������������Facility������? man syslog������
	������������man syslog.conf����������������������������(5����
	��)����������sshd_config������������������ kill -HUP 1234 ������
	��������������

������������sshd��������������������������������������������������������
��������OS��������������������������������������������������������������
������������������������������ daemontools ������������������������������

daemontools��������������������������������������������������������������
������������������������������������������������������������������������
�������������������������������������������������� run ����������������
������������������������������������������������������������������������
������������������������������ D ����������daemontools������svscan������
������ D ��������������������������������������������������������������

daemontools������������������������������������������������������������
������������

	1. daemontools��������������

	   ����������������������

	2. ������������������������ D ������

	   "run" ������������������������������������������������������
	   ����������������������djbdns��������������������������������
	   ������������������������������������������������������

	3. svscan����������������

	   svscan������������������������������������������������������
	   ������������������������������������������������������������
	   ������������������������������ /service ��������������������
	   ������������������������������

	4. ������������������ D �� /service ��������

	   �������������������� D ��������/service ��������������������
	   ������������������������������������������������������������
	   ���������� /service/ ��������������������������������������
	   ��������������/var/djbdns ������������������������������

	     # ln -s /var/djbdns /service

	   ������������svscan��(5��������)������������������������������
	   ����������

1��4����������������������������������������������3��svscan������������
������������������������������������������������������������������������
��������������������������������������������������������������������������


  ��daemontools������

����������CD-ROM������daemontools-0.70.tar.gz��������������������������
������������������������������������������������������������������README
������������������

  # tar vzxpf daemontools-0.70.tar.gz
  # cd daemontools-0.70
  # less README

������������������������ http://cr.yp.to/daemontools.html ��������������
����������������������������������������������

������������������������ conf-home ����������������daemontools������������
��������������������prefix������������������������������ /usr/local ������
������������������������������������������������������������������������
������������������������������make��������

  # make

������������������������

  # make setup check

������������������������������������������������������������������������
����������������

  # ./rts > rts.out
  # cmp rts.out rts.exp

������������������������������������������������������������

  #  date | ./tai64n | ./tai64nlocal
  #  date | sh -c './multilog t e 2>&1' | ./tai64nlocal

��������������

    2000-11-04 13:47:11.523517500 Sat Nov  4 13:47:11 JST 2000
    2000-11-04 13:47:12.428708500 Sat Nov  4 13:47:12 JST 2000

������������������������������������������������������������������������
����������

������������������������������������������������������������������������
������������������������������������������ /service ����������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
��������������������/ ��������������������������������������������������
�������������� svc, svstat ��������������������������������������������
������������������������������������������������������ /service ��������
����������������������

  # mkdir /service
  # chmod 755 /service

svscan������������������������������������������������������������������
��������������������������������(start-sv.sh)����������������������������

[start-sv.sh]
  #!/bin/sh
  env - \
  PATH=/usr/local/bin:/usr/sbin:/usr/bin:/bin csh -cf 'svscan /service &' 

��������/usr/local/bin ��daemontools������������������������������������
��������������������������conf-home ��������������������������PATH������
����������������������������������������������������������

  # ./start-sv.sh

������djbdns������������������������������������������������������������
������������ Linux����SytemV ���������� /etc/rc?.d/ ����BSD��������
/etc/rc.local �� /usr/local/etc/rc.d ��start-sv.sh����������������������
������������������

=== ������ ===================================================================
daemontools ��������������
~~~~~~~~~~~~~~~~~~~~~~~~~~

daemontools������������������������������������������������������������
���������������������������������������������������� foo ��������������
/service/foo ����������������������������������������qmail������������
/service/qmail ��������������������������������������������������������
�������������� "/service/qmail" ��������

-------------------
��supervise��
������������������������������������������������������������������������
���������������������������������������������������� ./run ��������������
������������������������������������������������������������������������
��������������������������������������������������(��1��5��)������������
��������supervise����������������������������������������������������
�������������� svscan ����������������������

��svc��
supervise����������������������������������������������������

  # svc ���������� ��������

������������������������������������������������������������������������
������������������������������������������������������������

  -u  ������������������
  -d  ��������������������������������
  -o  ����������������������������������������������������������
  -p  ���������� STOP ��������������(Pause)��
  -c  ���������� CONT ����������������
  -h  ���������� HUP ����������������
  -a  ���������� ALRM ����������������
  -i  ���������� INT ����������������
  -t  ���������� TERM ����������������
  -k  ���������� KILL ����������������
  -x  supervise ��������������������������������������������������������
      ��������������������������������������������

��svok��
  # svok ��������

��������������������������������������������������������(��������������
supervise��������)������������������������������������������������������
��0������������������100��������

��svstat��
svok��������������������������������������������������������������������
������

��svscan��
supervise��������������������������������������������������������������
���������������������������������������������������������� /service ����
��������svscan������������������PATH��daemontools����������������������
����������������������������

��fghack��
���� supervise ���������� ./run ����������������������������������������
������������������������������������������������������������������������
����������������������������supervise��������������������������������
(run)����������������fghack����������������������������supervise��������
��������������������������

��multilog��
������������������������������������

��tai64n��
������������������������������������������������������TAI64N��������������

��tai64nlocal��
TAI64N������������������������������������������������

��setuidgid��
��������UID, GID�� setuid/setgid ����������������������������������

��envuidgid��
��������������������UID��GID��������������������������������������������

��envdir��
������������������������������������������������������������������������
����������������������������������������������

��softlimit��
��������������������������������������������������������

��setlock��
����������������������������������������������������
-------------------

������������������������ svc, svstat, tail64nlocal ��������������������
������������������������������������svscan������������������������������
����������������������������������������������������������������������
HUP��������������������

  # svc -h ��������

������������������������������������������

  # svc -d ��������

��������������������������������������������������������������������������
���������� down ����������������������������������svc -d ������

  # touch /service/Service/down
  # svc -d /service/Service

�������� supervise ����������������������������������������������������
�������� down ����������������������

  # rm /service/Service/down
  # svc -u /service/Service

������������������������������������������������������������������������
����������������������������������

  # cd /service/Service
  # rm /service/Service
  # svc -dx . log
==============================================================================

  ��djbdns��������������

daemontools������������������������svscan������������������������������
����djbdns����������������������djbdns������������������������Web������
����svscan����������������������������������������������������djbdns����
������������������1.02������������������������CD-ROM��������������������
����������������������������������������������������������������������

  # tar vzxpf djbdns-1.02.tar.gz
  # cd djbdns-1.02
  # less README

������ http://cr.yp.to/djbdns.html ������������������������������������
������������������������������������djbdns��make��daemontools����������
��������������������������������prefix�� /usr/local ��������������������
������������ conf-home ����������������������������������

  # make
  # make setup check

��������������������������������������������djbdns������������������������
������������������������ (��������������/usr/local/bin) ��PATH������������
����������������

 ��������������������������
����������������DNS����������������������������������������������������
������������������������������������������������������������������������
��������������������������������������������������������������������������
������������������������������������������������������������������������
���������� dnscache, ������������ dnslog ������������������������������
������������������������������������������������������ `dns' ������������
��������������������������

  # vi /etc/group
  --------------------------------------------------
  dns:*:9800:    (����)
  --------------------------------------------------
  # vipw
  --------------------------------------------------
  dnscache:*:9800:9800:0:0:/var/dns:/bin/noshell	(����)
  dnslog:*:9801:9800:0:0:/var/dns:/bin/noshell		(����)
  --------------------------------------------------

����������������UID/GID����������������������������������������������

������������������������������������������������������������������
dnscache-conf ����������������������������������������������������������
������

  # dnscache-conf dnscache dnslog /var/dnscache

������������ /var/dnscache ��������������������������������������������
����������������chroot��������������������������������������������������
��������������������������������������������������������������(����)��

----------
������
djbdns������������������ /etc/dnscache ����������/etc ��������������������
��������/ �������������������������������������� /etc ������������������
���� / ���������������������������������������������������� /var ������
��������������������������������������
----------

������������������������������ /var/dnscache �� daemontools ������������
���������������������������������������� /service ����������������������
������������������svscan��������������

  # ln -s /var/dnscache /service

5��������dnscache����������������localhost������������������������������
��������������/etc/resolv.conf �� nameserver ��������������������

  --------------------------------------------------
  nameserver	127.0.0.1
  --------------------------------------------------

������Web������������������������������������������������������������
����������������������������������������������������������������������
/var/dnscache/log/main/current ����������������������������������������
������

  # tail -f /var/dnscache/log/main/current | tai64nlocal

��������������tai64nlocal ��������������������������������������������
��������������������������������������������������������������
log/main/current ����������������������������������������������(��������
������99999����������)����������������������������


 ����������������������

������������������������������������������������������������������������
��������������������������dnscache-conf ��������������������������������
��������������������������������

  # dnscache-conf dnscache dnslog /var/dnscachex 10.0.1.23

���������� /var/dnscachex ����������������������������������������������
����������

  # ln -s /var/dnscachex /service

������������svscan��5��������������������������������������������������
������DNS����������������������������IP��������������������������������
����IP�������������������������������������� /var/dnscachex/root/ip ����
����������������������������

  # touch /var/dnscachex/root/ip/10.0.1.24

�������� IP ���������� 10.0.1.24 ������������������DNS��������������

  # touch /var/dnscachex/root/ip/10.0.2

����������10.0.2.x (x������)��IP������������������������������DNS������
����������������������

 ����������������������������������������

dnscache����������������������������������������������������������������
������������������������������������������������������������������������
�������������������������������������������������������������� dnscache 
���������������������� "root/servers/<����������>" ��������������������
��������������������������hoge.co.jp(10.1.0.0/16) ���������������������� 
10.1.1.1 ����������������������������

  # echo 10.1.1.1 > /var/dnscachex/root/servers/hoge.co.jp	   (��������)
  # echo 10.1.1.1 > /var/dnscachex/root/servers/1.10.in-addr.arpa  (��������)

 ����������������������������������

dnscache-conf ����������������������������������������������������������
���������������������������������������������� tinydns ����������������
����������������������������

  * env������������

  ����������������������������������������������������������������������
  ������������������������������������������������������������������

  * log������������

  ������������������������������������������������������������������
  supervise �������������� run ��������������������������

  * supervise������������

  supervise����������������������������������������������

  * run����������

  ����������������������������������������������������������������������
  ����������envdir������������������������������������������������������
  ����

����������env����������������������������������������������������������
����������������������������������������������������

  * env/CACHESIZE
  ����������������������������������������������������������1000000��

  * env/DATALIMIT
  ������������������������ datasize ��������������������������������
  softlimit ��������������������������������3000000������������
  env/CACHESIZE��������������������������������������������

  * env/IP
  dnscache��listen����IP��������������������

  * env/IPSEND
  ����������������������������������0.0.0.0��������

  * env/ROOT
  ������������������������������������������������

����������������������������������������������������������������dnscache 
��������������������(TTL������������)����������������������������
CACHESIZE��������������������������������������������������������������
������������������������������������������������������������������������
��(log/main/current)������ stats ���������������������������������� 
stats ����������

 # grep -w stats /var/dnscachex/log/main/current \
     | tai64nlocal | tail -1

������������24���������������� stats ����������������stats��������������
����������������

   2000-11-14 02:00:22.750708500 stats 1992 105360 3
                                            ~~~~~~
   2000-11-15 06:15:34.542646500 stats 7153 326252 1
                                            ~~~~~~

stats����������������2��������������������������������������������������
���� 326252-105360=220892 ����������������������������������������������
����������������������������������������������������������������7������
��������10������������2000000������������CACHESIZE����������������������
��������DATALIMIT����������������������������������������������

  # echo 2000000 > /var/dnscachex/env/CACHESIZE
  # echo 2097152 > /var/dnscachex/env/DATALIMIT
  # svc -t /service/dnscachex

��������������


��������������������

��������������������������������������������������������djbdns����������
������������������tinydns������������tiny������������������������������
��������������������������������������������������������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������

������������������������������������������������������������������������
����BIND��������������������named����������������������������������������
����������������������������������������������������������������(������
��������)��������������������������������������������������������������
������������������������������������������������������������������������
����tinydns��������������������������������������������������������������
������������������������������������������������������������������������
����������������������������������������(����)��


 ��tinydns������

������������ daemontools ������������������������svscan �� /service ����
������������������������������������������������������������������
tinysdns����������������UID��������������������������������

  # vipw
  --------------------------------------------------
  dns:*:9802:9800:0:0:/var/dns:/bin/noshell	(����)
  --------------------------------------------------

�������������������������������� tinydns-conf ����������������

  # tinydns-conf dns dnslog /var/tinydns 192.168.24.8

���������� /var/tinydns �������������� 192.168.24.8 ��������������������
����������������������������������������������������������������LAN����
��������������������������������������IP��������������������������������
��������������������������IP��������������������������������

������ tinydns-conf ������������ /var/tinydns/root ��������������������
������������������������������������������������������������������������
data����������������BIND������������������������������������������������
������������������������������������������������������������������������
��������������������������������

  ��add-ns��
  ����������������������������������������

    ./add-ns fqdn ip

  ������������������������  ��������A����������NS����������SOA����
  ��������������������������������data������������������������������

	.:::

  ����������������������������NS������������������������  ����
  ������������������������A����������  ������������������������
  ����259200��(=3����)��������

  ��add-host��
  IP����������������������������������������

    ./add-host fqdn ip

  ����������������������  ��������A��������������IP�������� 
  ��������������  ��PTR��������������  ����������������������
  ����������������������������������

	=::

  ��������������������������������86400(24����)��������

  ��add-alias��
  IP����������������������������������������

    ./add-alias fqdn ip

  ����������������������  ��������A��������������IP�������� 
  ����������������������������������������������������������
  ��������������������������

	+::

  ������������������

  ��add-mx��
  ��������������������������������(MX��������)������������

    ./add-mx fqdn ip

  ��������������������������������������  ��������MX��������������
   IP��������  ������������������������������
  ��������������������������

	@::::

  ������������������ ��MX������������������������  ������������
  ����������������A����������  �������� ��preference����add-mx
  ����������������������������������������������0����������������
  preference��������������������data������������������������������

  ��add-childns��
  ������������������������������������������������������

    ./add-childns fqdn ip

  ����������������������������  �������� NS, A ������������������
  ����������������������������������������������

	&:::

  ������������������


��������������������������data��������������������������������������
tinydns��������������������������������������������������������������
data��������������������������������
http://cr.yp.to/djbdns/tinydns-data.html
������������������������������������������������������������

 ��tinydns����������������

tinydns-conf �������������������������������� env ����������������������
������������������������������������������������������������������������
������

  * env/IP
  tinydns��listen����IP��������������������

  * env/ROOT
  ����������data��������������������������������������

��������IP��������������������������������������������������������������
����������������������������������������


��tinydns������������������������

������DNS����������������������������������������������������������������
������������������������������������ subdom.ymzk.org ������������������
�������������������� 10.8.50.1 ������IP����������������������������������
����������djbdns��������������������������������������������������������
������������������������������������������������������������������

����������������������������������������������������������������������
��������������������

  # mkdir /var/dns
  # tinydns-conf dns dnslog /var/dns/namedb 10.8.50.1
  # ln -s /var/dns/namedb /service

IP�������� 10.8.50.1 ��������������������������������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
������������������

  # cd /var/dns/namedb/root
  # ./add-ns subdom.ymzk.org 10.8.50.1

��������add-ns������������������������NS���������� a.ns.subdom.ymzk.org 
����������������������������������������������������������������������NS
��������ns1.subdom.ymzk.org ��������������������������������������������
��������������������������������������������������������data������������
����������NS������������������������������

  # vi data
  (������)  .subdom.ymzk.org:10.8.50.1:a:259200
           ��
  (������)  .subdom.ymzk.org:10.8.50.1:ns1.subdom.ymzk.org:259200

��������������������������������������������������������������������

��������������������������������������������������smoke(10.2.50.2) ��
twin(10.8.50.1)������������������������

  # ./add-host smoke.subdom.ymzk.org 10.2.50.2
  # ./add-host twin.subdom.ymzk.org 10.8.50.1

���������������������������������� 10.2.50.2 ��������������������������������
�������� 10.2.50.4 ��������������������������

  # ./add-mx subdom.ymzk.org 10.2.50.2
  # ./add-mx subdom.ymzk.org 10.2.50.4

���������������������������������������� preference ��������������������
����������data������������������������

  (������)
  # vi data
  (������)  @subdom.ymzk.org:10.2.50.2:a::86400
	    @subdom.ymzk.org:10.2.50.4:b::86400
           ��
  (������)  @subdom.ymzk.org:10.2.50.2:a:10:86400
	    @subdom.ymzk.org:10.2.50.4:b:20:86400

��������������������������������������������������
POP����������10.2.50.2��������WWW����������10.8.50.1��������������������
����������������

  # ./add-alias pop.subdom.ymzk.org 10.2.50.2
  # ./add-alias www.subdom.ymzk.org 10.8.50.1

������tinydns����������������cdb����������������

  # make

��������������������������������������������������������������������������
��������������host����������������dnsquery������������������������
nslookup����������BIND��������������������������������������������������
������������������������������������������������������������������������
(��1)����host, dnsquery������������������������������������������������
����������

----------
����1
http://cr.yp.to/djbdns/faq/tinydns.html#nslookup ����
----------

������������(10.8.50.1)������������������������������������������������
����������������������������������

  anotherhost% host smoke.subdom.ymzk.org 10.8.50.1
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Using domain server 10.8.50.1:
  smoke.subdom.ymzk.org has address 10.2.50.2

  anotherhost% dnsquery -n 10.8.50.1 -t mx subdom.ymzk.org
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33010
  ;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 3
  ;;      subdom.ymzk.org, type = MX, class = IN
  subdom.ymzk.org.        1D IN MX        10 a.mx.subdom.ymzk.org.
  subdom.ymzk.org.        1D IN MX        20 b.mx.subdom.ymzk.org.
  subdom.ymzk.org.        3D IN NS        ns1.subdom.ymzk.org.
  a.mx.subdom.ymzk.org.   1D IN A         10.2.50.2
  b.mx.subdom.ymzk.org.   1D IN A         10.2.50.4
  ns1.subdom.ymzk.org.    3D IN A         10.8.50.1


��������������������������������������������SOA������������������������
������������������������

  TRX# dnsquery -n 10.8.50.1 -t soa subdom.ymzk.org
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14707
  ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
  ;;      subdom.ymzk.org, type = SOA, class = IN
  subdom.ymzk.org. 42m40s IN SOA ns1.subdom.ymzk.org. hostmaster.subdom.ymzk.org. (
                                     973855992       ; serial
                                     4h33m4s         ; refresh
                                     34m8s           ; retry
                                     1w5d3h16m16s    ; expiry
                                     42m40s )        ; minimum
  		      	      
  subdom.ymzk.org.     3D IN NS      ns1.subdom.ymzk.org.
  ns1.subdom.ymzk.org. 3D IN A       10.8.50.1


��������������������������������������������������������������
hostmaster ������������������������������������������������������������
������������������������������������


 ������������������������

��������������������������������������(����)������������������������
djbdns������������������������������������������������������������������
�������������������������������������������� tinydns ���� zone transfer 
������������������������������������������������data����������rsync����
��������������������������������������������������������������������������
BIND������������������������������������������������ zone transfer ����
������������������������������������������������������������������������
������djbdns ������������������������������������������������������������
������������������������������������ djbdns ���������������� zone
transfer ����������������������������������������������

-----
������
������BIND���� master����slave ������������������������djbdns����������
����������DNS��������������(replicate)����������������������������������
����������������������������������������������������������������
��������������������������������������������������������
-----


����������������djbdns��������DNS��������������������������������������
����������������������������������������������������������

  ��djbdns �� djbdns

������������������������������������������djbdns������������������������
������������rsync������������������������������������������������������
������������������������������make��������data����������cdb������������
������������ Makefile ��

  rsync -avz data dns@secondaryserver:/var/dns/tinydns/root

��������������������������������������������������secondaryserver ������
������������ tinydns-data ��������(������������������make)������������
cron����������������

  ��djbdns �� BIND

����������djbdns��������������bind��������������������������������������
������������tinydns������������zone transfer ���������� axfrdns ��������
��������������axfrdns �� tinydns ��������������������������������������
������������ zone transfer ���������������� TCP ��53����������������������
����������������������������������������������tcpserver������������
tcpserver�� ucspi-tcp��������������������������������������������������
������ ucspi-tcp-0.88.tar.gz (��������CDROM������) ������������������
daemontools, djbdns ����������

  # tar vzxpf ucspi-tcp-0.88.tar.gz
  # cd ucspi-tcp-0.88
  # vi conf-home            (��������������PATH������)
  # make
  # make setup check

������������tcpserver������������������������������������ axfrdns ������
���������������������������������� /var/dns/namedb ��������������������
��tinydns�������������������������� axfr �� zone transfer ��������������
�������������� /var/dns/axfrdns ����������������������������

  # axfrdns-conf dns dnslog /var/dns/axfrdns /var/dns/namedb 10.8.50.1

������ /var/dns/axfrdns ������������������������������������������������
���� tcp ������������������������������������ tcpserver ����������������
����������������������������IP������������������������������������������
������������������������������������������������������tcp��������������
��������������������������

  # sample line:  1.2.3.4:allow,AXFR="heaven.af.mil/3.2.1.in-addr.arpa"

��������������������������������������(192.168.5.5)����������
subdom.ymzk.org ������ �� 10.in-addr.arpa ������������������������������
����������������������������������������

  192.168.5.5:allow,AXFR="subdom.ymzk.org/10.in-addr.arpa"
  :deny

������������������AXFR������zone transfer ��������������������/(����������) 
����������������tcp��������������������������make������������tcpserver��
������ tcp.cdb ����������������������

  ������axfr��������������������������svscan����������������������������
��������

  # ln -s /var/dns/axfrdns /service

������������������������./run ������������������ tcpserver ����������
PATH������������������������������������ucspi-tcp��daemontools����������
������������������������������������������������������������������������
���������������� /var/dns/axfrdns/log/main/current ��

    softlimit: fatal: unable to run tcpserver: file does not exist

��������������������������������������������������������������������
svscan�������� ucspi-tcp ������������������������������PATH������������
������(��2)����/var/dns/axfrdns/run �������������� tcpserver ����������
��������������������������
----------
����2
axfrdns���������������� svscan ����������������������������������������
��������PATH����������������������������������������������������������
----------
����������������������������������

  # svstat /service/axfrdns
    ~~~~~~~~~~~~~~~~~~~~~~~
  /service/axfrdns: up (pid 30476) 2681 seconds

��������zone transfer ��������������������������������
������������������������������������������������������������������������
��������

--------------------  ��������(������������������192.168.5.5����)
   % host -v -l -t any subdom.ymzk.org 10.8.50.1
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using domain server:
Name: ns1.subdom.ymzk.org
Address: 10.8.50.1
Aliases:

Trying 10.8.50.1
subdom.ymzk.org 2560 IN SOA     ns1.subdom.ymzk.org hostmaster.subdom.ymzk.org(
                        973855992       ;serial (version)
                        16384   ;refresh period
                        2048    ;retry refresh this often
                        1048576 ;expiration period
                        2560    ;minimum TTL
                        )
subdom.ymzk.org 259200 IN       NS      ns1.subdom.ymzk.org
ns1.subdom.ymzk.org     259200 IN       A       10.8.50.1
smoke.subdom.ymzk.org   86400 IN        A       10.2.50.2
twin.subdom.ymzk.org    86400 IN        A       10.8.50.1
subdom.ymzk.org 86400 IN        MX      10 a.mx.subdom.ymzk.org
a.mx.subdom.ymzk.org    86400 IN        A       10.2.50.2
subdom.ymzk.org 86400 IN        MX      20 b.mx.subdom.ymzk.org
b.mx.subdom.ymzk.org    86400 IN        A       10.2.50.4
pop.subdom.ymzk.org     86400 IN        A       10.2.50.2
www.subdom.ymzk.org     86400 IN        A       10.8.50.1
	:
	:(SOA������������������)
	:
--------------------


  ��BIND �� djbdns

BIND����������������������������������������������������������djbdns����
�������������� axfr-get ������������������������������������������������
������������������������������tinydns��������������������������axfr-get 
��������������ucspi-tcp ������tcpclient����������������������������������
������������������ other.ymzk.org ������������������������������
192.168.5.5 ���������������������������� other.ymzk.org �� zone transfer
������������������

  # tcpclient 192.168.5.5  53 axfr-get other.ymzk.org other.dat other.tmp

����������other.dat �������������������������������� tinydns-data ������
�������������������� tinydns ������������������������ data ������������
����������������������������IPv6����AAAA��������������������������(����
������������������������������������������������������������������������
����������������������������)��

%%%%%%%%%%%%%%%% ����������������������������������������������?
%%%%%% ��������������������������
=== ������ ===================================================================
������������/������������������������������tinydns������Tips��

axfr-get��������������������������������������tinydns-data��������������
������������������������������������������������������������������������
������cat��������������������������������������������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
������������ add-host ������������������������add-* ������������
tinydns-data ���������������������������������������� "data" ����������
����������������������������������cat������������������������������
add-* ���������������������������������������� "data" ������������������
������������������������������������������������������������������������
���������������������� local.domain ������������add-* ����������������������
�������������� "local.domain" ��������������add-* ����������������������
���������������������������� "data" �������� "local.domain" ��������������

  # perl -i -pe 's/data/local.domain/g' add-*
  # touch local.domain

������������������������������������ ext1.domain, ext2.domain ��������
Makefile ������������������������������3������������������data����������
������������

  [Makefile]
  TCPCLIENT	= /usr/local/bin/tcpclient
  AXFRGET	= /usr/local/bin/axfr-get

  all:	data.cdb

  ext1.domain:	/dev/null
	${TCPCLIENT} "ext1.domain��������" 53 ${AXFRGET} $@ $@ dummy.tmp

  ext2.domain:	/dev/null
	${TCPCLIENT} "ext2.domain��������" 53 ${AXFRGET} $@ $@ dummy.tmp

  data:	ext1.domain ext2.domain local.domain
	cat $> > data

  data.cdb:	data
	/usr/local/bin/tiny-dns
==============================================================================


 ����������������������������

djbdns������������������������������������zone transfer����������������
������������������������������������������������������������������������
��������LAN����������������������������(��������NAT��������������������
����������)������������������������������������������������������������
��������������������������������������������������������������(����������
��������������������������)������zone transfer��������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
��������������������������������������������������������������������������

    ��������	| ����������
    ------------+------------------
    dnscache	| UDP 53
    tinydns	| UDP 53
    axfrdns	| TCP 53

��������������������dnscache��tinydns������������������IP��������������
���������������������� NAT BOX ����������������������������������������
����������������������������������LAN (*.mylan.private, 192.168.0.0/24 ����)
����������������������������������������������������������������

  1. LAN��������������������������������������(*.mylan.private)
     ��������������
  2. LAN����������(10.0.0.0/24)��������������������������������
  3. ����������IP��������������������������������������������������
  4. (3)��zone transfer������axfrdns
   
-------------
����
  ������ The Internet ������
           |
       [gateway]
           |      (global area 10.2.50.0/28)
    ..-----+-------+-------+-------+-------+-------+--.....
                   |       |       |       |       |
               [host1]     |     [WWW]  [host3] [host4] (*.subdom.ymzk.org)
                           |(10.2.50.3)
                         [NAT]
                           |(192.168.0.1)  (private area 192.168.0.0/24)
           ...-----+-------+-------+-------+-------+-------+--.....
                 [pc1]   [pc2]   [pc3]   [pc4]   [pc5]   [pc6]
		     ������*.mylan.private������
                          (������LAN��������������������������)
-------------

������������������������������������NAT��������������������������������
��������������������������4��������������������������������������������
��������������������

  # tinydns-conf dns dnslog /var/dns/private 127.0.0.1		(1��)
  # dnscache-conf dnscache dnslog /var/dns/dnscache 192.168.0.1	(2��)
  # tinydns-conf dns dnslog /var/dns/global 10.2.50.3		(3��)
  # axfrdns-conf dns dnslog /var/dns/axfrdns \			(4��)
		 /var/dns/global 10.2.50.3
  # touch /var/dns/dnscache/root/ip/192.168.0       (LAN����������������)
  # echo 127.0.0.1 > /var/dns/dnscache/root/servers/mylan.private
  # echo 10.2.50.3 > /var/dns/dnscache/root/servers/subdom.ymzk.org
    :
  (����������������������axfrdns����tcpserver��������������������������)


����������������������������������������*.mylan.private����������������
������������127.0.0.1 ������������������*.subdom.ymzk.org �� 10.2.50.3 
������������������������������������������

������������������

djbdns������������������������������������������������������������������
��������������������

 ��walldns
����IP�������� (a.b.c.d) ��������������������������(PTR��������)������
d.c.b.a.in-addr.arpa ������������������PTR������������������������������
����tinydns-data������������

   =d.c.b.a.in-addr.arpa:a.b.c.d:

��������������������������IP��������������������������������������������
����������anonymous ftp����������������IP������������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
��������������������������������

��������tinydns���������� *-conf ����������������

  # walldns-conf ���������� ���������������� ������������ IP��������
  # ln -s ������������ /service

 ��pickdns

����������������������������IP����������������������������������������
WWW����������������������������������������������������������������������

  # pickdns-conf ���������� ���������������� ������������ IP��������
  # ln -s ������������ /service

����data����������tinydns-data������������������

  +fqdn1:ip1
  +fqdn1:ip2
  +fqdn1:ip3
    :
    :

����������������������������128��������IP����������������������
������data���������������� + �� - ��������������������������������IP����
��������������������������������

������������������������������������������������������������������IP����
��������������������������������

  %KO:131.113
  %KO:133.27
  +www.xxxx.yyy:10.8.50.1:KO
  +www.xxxx.yyy:10.8.50.5:KO
  +www.xxxx.yyy:10.8.50.6:KO
    :
    :

%����������������������������������������������(����)2������������������
��������������������%������������������ + ������IP����������������������
��������������������������������������������������������������IP��������
prefix��������������������������������������������������������������������
��������������(-)������������������������������������������������

 ��rbldns

IP����������������������������������������������������������������������
������MAPS RBL(����)����������������������������������������������������
��������������������MAPS RBL ��������������������������������������SMTP 
��������������DNS������������������������������SMTP��������������������
����������������SMTP����������������������������������������������������
������������������������������������������������������������������������
������������������������������IP��������������������������������������
DNS������������������������������rbldns��������

----------
����
Mail Abuse Prevention System, Realtime Blackhole List.
http://mapx.vix.com/
----------

��������

����IP������������������������������������������������������������������
������������������������������������������������������������������������
����������������djbdns��������������������������������������������������
������������������������������������������������������������������������
��Knuth������djb��������������������������������������������������������
������ djb tools ����������������djbdns��OS����������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
������������������������������������������djbdns������������������������
������������


yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]