8. Upravlenie Domenom
|ta chast' soderzhit informaciyu, neobhodimuyu dlya zapuska, kontrolya i otladki named.
8.1. /etc/rc.local
Imya hosta (hostname) v /etc/rc.local dolzhno byt' naznacheno v stile polnogo domennogo imeni s ispol'zovaniem hostname(1). Dlya zapuska named vo vremya zagruzki sistemy v fajl /etc/rc.local dolzhno byt' dobavleno sleduyushchee:
if [ -f /usr/sbin/named ]; then /usr/sbin/named [options] & echo -n 'named' >/dev/console fi
obychno eto propisyvaetsya srazu posle strochek, zapuskayushchih syslogd. NE pytajtes' zapustit' named iz inetd. |to budet postoyanno perezapuskat' server imen i sovershenno narushit prednaznachenie kesha.
8.2. /var/run/named.pid
Kogda named uspeshno zapushchen, on zapisyvaet svoj identifikator processa (process id) v fajl /var/run/named.pid. |to polezno dlya programm, kotorye zahotyat posylat' signaly v named. Imya etogo fajla mozhet byt' izmeneno pereopredeleniem PIDFILE na novoe imya vo vremya kompillyacii named.
8.3. /etc/hosts
Bibliotechnyj vyzov gethostbyname() mozhet opredelit', zapushchen li named. Esli opredeleno, chto named ne zapushchen, to dlya razresheniya adresa budet prosmotren fajl /etc/hosts. |ta opciya byla dobavlena dlya togo, chtoby pozvolit' ifconfig(8C) skonfigurirovat' lokal'nye interfejsy mashiny i obespechit' sistemnomu menedzheru dostup k seti poka mashina nahoditsya v odnopol'zovatel'skom rezhime (single user mode). Sovetuetsya propisat' v /etc/hosts adresa lokal'nyh interfejsov mashiny i parochku imen mashin i adresov, chtoby sistemnyj menedzher smog ispol'zovat' rcp dlya kopirovaniya fajlov s drugoj mashiny kogda sistema nahoditsya v odnopol'zovatel'skom rezhime. Format /etc/hosts ne izmenilsya. Za dopolnitel'noj informaciej smotri hosts(5). Po prichine medlennosti processa chteniya iz /etc/hosts, ne sovetuetsya ispol'zovat' etu ociyu, kogda sistema nazhoditsya v mnogopol'zovatel'skom rezhime.
8.4. Signaly
Sushchestvuet neskol'ko signalov, kotorye mogut byt' poslany processu named dlya vypolneniya opredelennyh zadanij bez ego perezapuska.
8.4.1. Perezagruzka
SIGHUP - Zastavlyaet named perechitat' named.boot i perezagruzit' bazu dannyh. |to ochen' polezno, kogda vy delaete izmeneniya v "pervichnom" fajle dannyh i hotite chtoby vnutrennyaya baza dannyh named otrazhala sdelannye izmeneniya. Esli vy "sobrali" BIND s opciej FORCED_RELOAD, to SIGHUP dast eshche i effekt vneplanovoj proverki serijnyh nomerov vseh "vtorichnyh" zon, chto mozhet privesti k peredache zon vne obychnogo grafika. Obychno sravnenie serijnyh nomerov delaetsya tol'ko cherez intervaly, opredelennye v zapisi SOA dlya zony.
8.4.2. Otladka
Kogda named rabotaet nepravil'no, snachala posmotrite v /var/log/messages i prover'te ego na soobshcheniya zapisannye syslog. Zatem poshlite emu signal i posmotrite, chto proizojdet. Poka vy ne zapustite ego s opciej "-d", named ochen' malo chto skazhet v svoj standartnyj vyvod ili standartnuyu oshibku. Vse chto govorit named, on govoroit v syslog.
SIGINT - Sbrasyvaet vse tekushchie bazy dannyh i kesh v /var/tmp/named_dump.db. |to mozhet pokazat' vam, byli li bazy dannyh korrektno schitany. Imya fajla dampa mozhet byt' izmeneno pereopredeleniem DUMPFILE na drugoe imya pri kompilyacii named.
Zamet'te: sleduyushchie dva signala rabotayut tol'ko kogda named sobran s opredelennym DEBUG.
SIGUSR1 - Vklyuchaet otladku. Kazhdyj sleduyushchij signal SIGUSR1 uvelichivaet uroven' otladki. Vyvod idet v /var/tmp/named.run Imya etogo otladochnogo fajla mozhet byt' izmeneno opredeleniem DEBUGFILE do kompillyacii named.
SIGUSR2 - Vyklyuchaet otladochnyj rezhim.
Dlya bolee podrobnoj otladki, opredelite DEBUG pri kompillyacii programm razreshitelya v /lib/libc.a.
SIGWINCH - Pereklyuchaet trassirovku vseh vhodyashchih zaprosov esli named byl skompillirovan s opredelennym QRYLOG. Trassirovka posylaetsya v syslog, obychno ona ochen' velika, no ochen' polezna dlya otslezhivaniya problem.
Dlya zapuska s trassirovkoj vseh zaprosov v komandnoj stroke opredelite flag -q. Esli vy vvedete programmnyj protokol zaprosov, to mozhet byt' vam zahochetsya proanalizirovat' rezul'taty ispol'zuya statisticheskij skript dnsstats stats v kataloge contrib.
SIGIOT - Sbrasyvaet statisticheskie dannye v /var/tmp/named.stats, esli server sobran s opredelennym STATS. Statistika dobavlyaetsya k fajlu.