Caching named mini howto

 ƣ  <shingo@flab.fujitsu.co.jp>

С1

(C)opyright 1995 Nicolai Langfeldt.  򿯳ʤϰϤѹ
ͳۤ뤳ȤǤޤɽΥåĤƹԤäƤ

(C)opyright 1995 Nicolai Langfeldt.  Do not modify without amending
copyright, distribute freely but retain copyright message.

աȡϡjanl@ifi.uio.noƤˤꤤޤ

裳(C)SLIP桼Τ񤤤ƤͤԤäƤޤ


1.ȥ
2.
3.³(뤤³)μư
4.root.cacheμ
5.ե(forwarder)ȥ졼(slave)

1.ȥ

ΥߥHOWTOǤϡåѤΥ͡ॵФˤĤ
ޤʸϤǤϡ󥿡ͥåȤ˥륢åץǥ̤SLIP
PPPʤɤΥץȥ³Ƥ桼νˤʤȻפޤ
̿®٤٤ˤϡ̾θ٤ʤ뤳Ȥ뤫Ǥ

ǧ֤ʤΥޥפȤä顢ʤ륢å³Ԥ
ƤޥؤޤοͤˤȤäƤΥޥϥۡޥ
ȤˤʤǤ礦

𤹤;Ϥʤ櫓Ǥ⤢ޤ󡣤ϡοͤץХ
̳ĤǤꡢܵҤΥ桼³Ƥǥ³ޥ
륢åפȸƤФƤޤޥϡHOWTO
оݤȤƤΤǤϤޤ

ʸǤϡʤȤϤˡtelnet̤Υޥ˥
ꡢդtelnet¾Υޥ󤫤³ǤƤ뤳ȤȤƤޤ
ˡ(telnetʳ)³˹Ԥ뤳Ȥǧޤ
ޤ'telnet 127.0.0.1'¹ԤˤϡʬΥޥ³Ǥɬ
פޤȡȤϤˤäơθˤʤ
줿/etc/host.conf/etc/resolv.conf,/etc/hostsΥץե뤬
ߤȤǤΥեꤹˤϡnetworking-howto
ȤɤǤ礦

ʸǤϡʤΥޥ󤬡ʤνФ̾θ׵֥å
Ƥޤե(firewall)¦ˤʤȤꤷƤޤ
˳ˤϡ裵̤꤬ɬפǤ

̾θӥԤäƤΤϡnamedȸƤФץǤ
namedϡPaul Vixieˤäƥǥ͡ȤƤBINDѥå
ǤnamedϡLinuxftpȤǤޤʤΥ
ˤǤȤ߹ޤ줤⤢ޤ̾namedϡ/usr/sbin/named
ޤnamedˤʤСȤȤǤޤ

⤷named򥭥åѤȤưʳ˻Ȥ硢㤨мʬΥɥᥤ
ΥӥԤ褦򤹤硢ǤO'Reilly&AssociatesǤ
DNSBINDC.Liu,P.Albitz(ISBN 0-937175-82-X)򻲹ͤˤȤ褤
礦BINDۥѥåˤFAQޥ˥奢롢ʸʤɤʸ񤬴ޤ
Ƥޤ

2.

: 줫ѹؼեϡѹɬХååסԡ
äƤޤ礦ư򤷤ʤʤäˡ
ؤȴñ᤻뤫Ǥ

ޤ/etc/named.bootե뤬ɬפǤnamedϵưˤΥե
ɤ߹ߤޤãŪ(åѤ)ǤϡΤ褦ˤޤ
(ƬΥڡϼƤ)

  ;  Boot file for nicolais caching name server
  ;
  directory /var/named
  ;
  ; type          domian                          source file or host
  cache           .                               root.cache

˽ФƤե/var/named/root.cacheȤϡΤ褦ˤޤ
(٤ƬΥڡϼƤ)

  ; ---- Root cache dump ----
  .       IN      NS      NS.INTERNIC.NET.
  .       IN      NS      AOS.ARL.ARMY.MIL.
  .       IN      NS      NS1.ISI.EDU.
  .       IN      NS      C.PSI.NET.
  .       IN      NS      TERP.UMD.EDU.
  .       IN      NS      NS.NASA.GOV.
  .       IN      NS      NIC.NORDU.NET.
  .       IN      NS      NS.ISC.ORG.
  ;
  ;  Prep the cache (hardwire the addresses).  Order does not matter
  ;
  NS.INTERNIC.NET.      999999  IN      A       198.41.0.4
  AOS.ARL.ARMY.MIL.     999999  IN      A       128.63.4.82
  AOS.ARL.ARMY.MIL.     999999  IN      A       192.5.25.82
  NS1.ISI.EDU.          999999  IN      A       128.9.0.107
  C.PSI.NET.            999999  IN      A       192.33.4.12
  TERP.UMD.EDU.         999999  IN      A       128.8.10.90
  NS.NASA.GOV.          999999  IN      A       128.102.16.10
  NS.NASA.GOV.          999999  IN      A       192.52.195.10
  NIC.NORDU.NET.        999999  IN      A       192.36.148.17
  NS.ISC.ORG.           999999  IN      A       192.5.5.241

ˤΤϡˤ͡ॵФrootǤΥǡϻ
ѤޤǿǡμˤĤƤϸҤޤ

ΥեˤĤơ餯namedmanڡƤǤ
namedmanڡϡ2ĤΥեˤ٤ˤĤƽ񤫤줿
Ǿ¤Τ狼䤹manڡȻפޤ

ˡ󥿡ͥåȤ³硢Τ褦/etc/resolv.confɬפ


  search subdomain.your-domain.edu your-domain.edu
  nameserver 127.0.0.1

'search'ԤǤϡ³褦ȤۥȥޥΥۥ̾դ٤ɥ
̾ꤷޤ

'nameserver'ԤǤϡ͡ॵФȤѤޥIPɥ쥹
ޤǤϡnamedʬΥޥưƤΤ127.0.0.1
ꤷƤޤ

ǤϡʤΥޥ󤬥ɥᥤsubdomain.your-domain.edu°
ơޥ̾your-machine.subdomain.your-domain.eduǤȲꤷ
ޤ

searchԤˤϡ̾ȥåץɥᥤ(Ǥϡ'edu')񤭤ޤ󡣤⤷
̤Υɥᥤ°ۥȥޥˤ³ɬפΤʤ顢
褦ˤsearchԤˤΥɥᥤä뤳ȤǤޤ

  search subdomain.your-domain.edu your-domain.edu other-domain.com

ǤΥɥᥤ֤̾Ƥ

ѹ٤ǸΥեϡ/etc/host.confǤ'order'ǻϤޤԤ
Τ褦ˤޤ

  order hosts,bind

⤷'order'ԤʤʤСιԤ򿷤Ƥ
Ǥϡۥ̾롼ϡ/etc/hostsեޤȤ줫
͡ॵ(resolv.conf127.0.0.1)礻ޤ

Ǹ2ĤΥեˤĤƤɥȤϡresolv(8)man
ڡ('man 8 resolv'¹ԤƤ)ǤmanڡϤȤƤ
䤹ΤǡɤǤ

٤ϡºݤ³ԤäƤߤƥȤƤߤޤ̤˥륢
³Ωޤ³Ω줿(/etc/resolv.conf'nameserver'
Ԥ򤷤ʤ)/usr/sbin/namedưޤ
namedưǡsyslogåե򸫤(̾
/var/adm/messagesˤΤǡեκǸ򸫤ˤϥޥ'
tail /var/adm/messages'¹Ԥޤ)ȼΤ褦ˤʤäƤϤǤ

  Jan 14 23:13:14 roke named[671]: starting.  named 4.9.3-BETA9 Sat Jan 14 21:19:55 MET 1995    janl@roke:/usr/src/bind-4.9.3-BETA9/named
  Jan 14 23:13:14 roke named[672]: Ready to answer queries. 

⤷˥顼𤹤åɽƤ顢named
ե(֤named.bootroot.cacheȻפޤ)Τɤ˴ְ㤤
ޤΤǡnamedߤƥեƤåޤ礦

named顼𤷤ʤС礻򤷤ƤߤޤŪΤ
פ줿ץnslookupޤ'nslookup'ޥɤ礻򳫻
Ǥޤ

  $ nslookup
  Default Server:  localhost
  Address:  127.0.0.1

  > 

٤ϡ碌Ϥޤɤ᤯ΥޥΥɥ쥹䤤碌
ƤߤƤmnemosyne.uio.noϡؤˤ錄Linuxޥ
Ǥ

  > mnemosyne.uio.no
  Server:  localhost
  Address:  127.0.0.1

  Name:    mnemosyne.uio.no
  Address:  129.240.21.233

nslookupϡʤnamed˥ޥmnemosyne.uio.no礻򤷤ޤ
ơroot.cacheեˤ͡ॵФ1Ĥ˥
θꤷޤ䤤碌βޤǤ˿ä뤫⤷ޤ
󡣤/etc/resolv.conf˽񤫤줿ɥᥤΤ٤Ƥ鸡򤹤뤫
ǤƱ䤤碌⤦ٻȼΤ褦ˤʤޤ

  > mnemosyne.uio.no
  Server:  localhost
  Address:  127.0.0.1

  Non-authoritative answer:
  Name:    mnemosyne.uio.no
  Address:  129.240.21.233

'Non-authoritative answer:'ȤåդƤϡ
namedͥåȥ䤤碌ԤäƤʤȤ̣ޤͥå
䤤碌Ԥ˥åȤäȤȤǤ
å夵줿ϡ٤(ä(stale)Ȥ⤤)
Ǥǽޤǡδ'Non-authrative answer:'
Τ櫓ǤnslookupΥåФʤ
ܤ䤤碌ǤϾ򥭥å夷ƤΤǡȤͤȽ
ǤȤȤ򼨤Ƥޤnamednslookupλˤ'
exit'ޥɤϤޤ

ٹ𡧥󥿡ͥåȤ³Ƥʤˤnamedư٤ǤϤ
ޤnamedϡ䤤碌򥤥󥿡ͥåȤФƹԤȤΤǡ
ĹॢȤꤵƤȡ̾β׵᤹ץब
䤤碌ȯ٤˥ॢȤˤʤޤԤ뤳Ȥˤʤ
ǤǤϡ󥿡ͥåȤؤ³³Ǥˤ٤
ˤĤޤ

٤ϡnamedۤʤäˤˤĤΤ뤳Ȥˤʤޤ

3.³(뤤³ǻ)μư

ǤϡƤκȤưˤĤƲ⤷ޤΤ
ʤξˤƤϤޤʤȤ⤢뤫⤷ޤ󤬡䤬ä
ȤϲνˤϤʤǤ礦

ϡ륢åPPPǤ³򤷤ƤޤSLIPCSLIP³Ƥ
ͤ¿뤳ȤǤ礦οͤϻȤϰäˤɬפ
ޤ

SLIPξˤdipץबΤäƤ뤳ȤԤƤ
Ǥ礦

󥿡ͥåȤ³Ƥʤresolv.confϡ1ԤޤǤ
Ǥ

  domain uio.no

ϡۥ̾饤֥꤬³Ǥʤ͡ॵФؤ䤤
碌ˤԤĤȤʤ褦ݾڤΤǤ³
Ω줿ϡnamedưresolv.confϤޤǤƤ褦
ˤʤäƤߤΤǤϡresolv.conf.local
resolv.conf.connectedȤ2ĤΥƥץ졼ȡեѰդ뤳Ȥ
褷ޤ(resolv.conf.connected)ϡʸǤޤǤ
Τ⤷resolv.confե̤Ǥ

󥿡ͥåȤ˼ưŪ³뤿ᡢ'ppp-on'ץȤư
ޤ

  #!/bin/sh
  cp -v /etc/resolv.conf.connected /etc/resolv.conf
  echo calling...
  pppd

pppdϡ³ɬפ꤬񤫤줿'options'եȤޤPPP³
Ω줿pppdϡip-upȤץȤ¹Ԥޤ(ܺ٤ˤĤƤ
pppdmanڡ򻲾ȤƤ)ʲϡΥץȤΰǤ

  #!/bin/sh
  ...
  echo 1>&2 PPP: IP upp
  ...
  /usr/sbin/named
  echo PPP: ip-up finished

ĤޤꡢϤΥץȤnamedưƤޤPPP³Ǥ
Ȥpppdϡip-downȤץȤ¹Ԥޤ

  #!/bin/sh
  echo 1>&2 PPP: IP down
  cp /etc/resolv.conf.local /etc/resolv.conf
  kill `cat /var/run/named.pid`

³Ω꤬Ԥ졢ǻˤ꤬ޤ

4.root.cacheμ

root.cacheξ󤬡ѹ뤳ȤϽҤ٤ȤǤǡ
ˤϤξ򹹿ɬפǤ뤫⤷ޤ󡣼Τ褦ˤ
nslookupưޤ

  nslookup | tee nslookup.log

줫nslookupΥޥɤϤޤ

  > set type=ns

Υޥɤΰ̣ϡ'ns'(뤤NameServer)쥳ɤФƸ
Ȥؤޤʤߤ̤ϡ'A'Υɥ쥹쥳ɤФƸ
ԤʤäƤޤ

  > .

ϡ롼Ȥ˴ؤμؼƤޤUNIXΥե륷
Ǥϡ롼ȤȤ'/'Ǥ͡ॵСƥǤϡ'.'
ޤ䤬Υ͡ॵФϡΤ褦ʤΤǤ

  Server:  localhost
  Address:  127.0.0.1

  Non-authoritative answer:
  (root)  nameserver = AOS.ARL.ARMY.MIL
  (root)  nameserver = NS1.ISI.EDU
  (root)  nameserver = C.PSI.NET
  (root)  nameserver = TERP.UMD.EDU
  (root)  nameserver = NS.NASA.GOV
  (root)  nameserver = NIC.NORDU.NET
  (root)  nameserver = NS.ISC.ORG
  (root)  nameserver = NS.NIC.DDN.MIL
  (root)  nameserver = NS.INTERNIC.NET

  Authoritative answers can be found from:
  (root)  nameserver = AOS.ARL.ARMY.MIL
  (root)  nameserver = NS1.ISI.EDU
  (root)  nameserver = C.PSI.NET
  (root)  nameserver = TERP.UMD.EDU
  (root)  nameserver = NS.NASA.GOV
  (root)  nameserver = NIC.NORDU.NET
  (root)  nameserver = NS.ISC.ORG
  (root)  nameserver = NS.NIC.DDN.MIL
  (root)  nameserver = NS.INTERNIC.NET
  AOS.ARL.ARMY.MIL        internet address = 128.63.4.82
  AOS.ARL.ARMY.MIL        internet address = 192.5.25.82
  NS1.ISI.EDU     internet address = 128.9.0.107
  C.PSI.NET       internet address = 192.33.4.12
  TERP.UMD.EDU    internet address = 128.8.10.90
  NS.NASA.GOV     internet address = 128.102.16.10
  NS.NASA.GOV     internet address = 192.52.195.10
  NIC.NORDU.NET   internet address = 192.36.148.17
  NS.ISC.ORG      internet address = 192.5.5.241
  NS.NIC.DDN.MIL  internet address = 192.112.36.4

η̤顢non-authorativeǤꡢauthorativeϡ
ꥹȥåפ줿ۥȤ1Ĥ뤳Ȥ狼ޤǤ
authorativeɬפʤΤǡnslookup˻ꤵ줿͡ॵФȤ
褦ؼޤǤϡnic.nordu.netȤȤˤޤϡ
nordunet̲θͥåȥǤꡢ(Υ륦ˤ)ζ᤯
ȽǤǤºݤˤϤɤΥФǤ⹽ޤ󡣥ꥫ罣
Ǥterp.umd.eduȤɤǤ礦

  > server nic.nordu.net
  Default Server:  NIC.NORDU.NET
  Address:  192.36.148.17

ns쥳ɤΥ롼ȸԤޤ

  > .
  Server:  NIC.NORDU.NET
  Address:  192.36.148.17

  (root)  nameserver = TERP.UMD.EDU
  (root)  nameserver = NS.NASA.GOV
  (root)  nameserver = NIC.NORDU.NET
  (root)  nameserver = NS.ISC.ORG
  (root)  nameserver = NS.NIC.DDN.MIL
  (root)  nameserver = NS.INTERNIC.NET
  (root)  nameserver = AOS.ARL.ARMY.MIL
  (root)  nameserver = NS1.ISI.EDU
  (root)  nameserver = C.PSI.NET
  (root)  nameserver = TERP.UMD.EDU
  (root)  nameserver = NS.NASA.GOV
  (root)  nameserver = NIC.NORDU.NET
  (root)  nameserver = NS.ISC.ORG
  (root)  nameserver = NS.NIC.DDN.MIL
  (root)  nameserver = NS.INTERNIC.NET
  (root)  nameserver = AOS.ARL.ARMY.MIL
  (root)  nameserver = NS1.ISI.EDU
  (root)  nameserver = C.PSI.NET
  TERP.UMD.EDU    internet address = 128.8.10.90
  NS.NASA.GOV     internet address = 128.102.16.10
  NS.NASA.GOV     internet address = 192.52.195.10
  NIC.NORDU.NET   internet address = 192.36.148.17
  NS.ISC.ORG      internet address = 192.5.5.241
  NS.NIC.DDN.MIL  internet address = 192.112.36.4
  NS.INTERNIC.NET internet address = 198.41.0.4
  AOS.ARL.ARMY.MIL        internet address = 192.5.25.82
  AOS.ARL.ARMY.MIL        internet address = 128.63.4.82
  NS1.ISI.EDU     internet address = 128.9.0.107

ɬפʺȤϽޤnslookupλޤ

  > exit

λnslookupƤΥå󡦥nslookup.logե˵Ͽ
ƤޤǥươǸ˹Ԥäη̰ʳ
named.cacheեκǤϡΤ褦ʽ񤭴Ԥޤ

  (root)  nameserver = TERP.UMD.EDU

ȤԤϡΤ褦˽񤭴ޤ

  .     IN      NS      TERP.UMD.EDU.

Ǹˤ'.'˺ʤ褦ˤƤϡedu롼ɥɥᥤ
Ǥ뤳Ȥ򼨤ΤǡԲķʤΤǤ

  TERP.UMD.EDU    internet address = 128.8.10.90

ηˤʤäƤԤν񤭴ϼΤ褦ˤޤ

  TERP.UMD.EDU.         999999  IN      A       128.8.10.90

٤⡢Ǹ'.'˺ʤǤǤϡΥե򥻡
ޤԽȤη̤Ǥե뤬root.confե
/var/named/root.cacheեȤӤơʤȤʤĴ
ޤäե/var/named/root.cache˰ưޤ
/usr/sbin/named.restartư顢(nslookup)³Υƥ
ޤ

5.եȥ졼

Ǥϡ˳ĥäޤ1Ĥϡ(ˤ)åݻ
ˤ᤯Υ͡ॵФФ䤤碌αԤˤ
ˡǤե˶᤯Υ͡ॵФꤹ뤳ȤϤǤޤ(ե
ϡ)namedmanڡˤ褦˺ƵŪ䤤碌
Ǥɬפ뤿Ǥ⤷ʤ᤯ˤեΤʤ
СեȤѤǤ͡ॵФץХ鶵Ƥ
ޤ礦θĿŪʰոǤץХϥե1Ĥ
٤ǤơץХ󶡤եʳΥ͡ॵФ
δԤ̵Ǥǥե˻ꤹ٤ǤϤޤ

named.bootե'forwarders'ԤϡΤ褦ˤޤ(򤽤Τ
޻ȤʤǤ虜ưʤ褦ˤƤޤʤδĶ
äեꤷƤ)

  forwarders 127.0.0.2 127.0.0.3

եϥꥹȤǹʤǤޤ

named.boot˼Τ褦ʹԤȥ͡ॵФϡ졼֡⡼ɤư
ޤ

  slave

Υ⡼ɤǤϡ䤤碌򤽤Τޤޥեžޤϡ
ʤΥޥ󤬥ե¦ˤꡢ󥿡ͥåȤؤΥȥե
̤ФƲݶ⤵Ƥ褦ʾǤ

