ot Beco(26-04-2006)

reiting (18)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

BIND9 v mnogonodov rezhim na rabota

Versiia 1.0.2 (26 april 2006g.)

Copyright ©2006 Veselin Kolev, Sofiiski Universitet "Sv. Kliment Ohridski"

Litsenz: CC Attribution-ShareAlike


  1. Vuvedenie.
  2. Direktoriina struktura i sudurzhanie na reshenieto.
  3. Protsedura po izgrazhdane i upravlenie na nodove.
  4. Osobenosti na izpolzvaneto na rndc pri mnogonodov rezhim na rabota na named.

1. Vuvedenie.

Po podrazbirane, instalatsiiata na BIND9 se izvurshva v ramkite na edna instantsiia (ot gledna tochka na rabotna edinitsa na usluga - edin nod). Tova oznachava, che v sistemata ima samo edin maichin protses na demona named. V nad 90% ot sluchaite na instalatsii na BIND9 vurhu UNIX i UNIX-podobni bazirani sistemi, tova e napulno dostatuchno. V po-redki sluchai mozhe da se nalozhi v edna sistema da ima poveche ot edin noda na named, koito da rabotiat paralelno. Prichinite za tova mozhe da sa niakolko. Poglednato realno, da se izvurshva virtualizatsiia chrez Xen samo za da se startira edin otdelen survur za imena, e nerantabilno ot gledna tochka na natovarvaneto na sistemata i samata slozhnost na instalatsiia. Mnogo po-lesniiat variant e da se realizira oshte edin survur za imena v edna i sushta sistema, kato oshte edin nod na demona named. Takuv variant e po-dobur v mnogoprotsesorni sistemi, ako e nuzhno vseki daden demon da izpolzva otdelen protsesor. Resursite, koito se izpolzvat ot demona named mogat da budat lesno regulirani, dokolkoto vseki nod (vseki otdelen demon named) ima iasna identifikatsiia kato ime na protses i potrebitel, s chiito prava funktsionira.

Kogato se govori za Red Hat Enterprise Linux obiknoveno stava duma za survurski sistemi s visoka proizvoditelnost i visoka znachimost ot gledna tochka na resursite, osiguriavashti uslugite, koito se prdlagat na osnova na tiah. Tova sa konservativni sistemi, v koito neshtata ne se promeniat znachimo v ramkite na zhizneniia tsikul na versiiata na distributsiiata. Imenno na tazi i drugi osobenosti triabva da e podchinena i ideologiiata na reshenieto, koeto shte bude opisano tuk. To ne triabva da zasiaga ili promenia znachimo sistemata i da ne vodi do oburkvane tezi, koito ia administrirat. Sledovatelno triabva da e maksimalno prosto i lesno upravliaemo. Imenno za tova se izpolzva standarten za Red Hat Enterprise Linux initsializatsionen skript, maksimalno blizuk do tozi na uslugata named. Reshenieto triabva da mozhe da bude obnoviavano s minimalen broi stupki i pri nuzhda da e lesno ostranimo ot sistemata, bez da "zamursiava" direktoriinata struktura. Imenno tezi iziskvaniia sa zalozheni v realizatsiiata mu, koiato e opisana po-dolu.

Razbira se, reshenieto mozhe da se realizira i vurhu drugi UNIX i UNIX-podobni distributsii. Za tselta obache, shte triabva da se suobrazi s lokalnata ideologiia za upravlenie na uslugite v sistemata, konkretnoto razpolozhenie na direktorii i failove i t.n.

Tozi dokument e prednaznachen za sistemni administratori s opit v administriraneto na survuri za imena. Ot tazi gledna tochka opisanieto v nego bi bilo trudno razbiraemo za nachinaeshti potrebiteli.

Reshenieto e testvano i optimizirano v ramkite na poveche ot edna godina v usloviia na produktsiia, vurhu dvata osnovni survura za imena v mrezhata na Sofiiskiia Universitet "Sv. Kliment Ohridski". Na bazata na tova reshenie sa realizirani nodovete na survurite za imena po proekta AS112 i tezi na SU (vurhu vsiaka mashina ima po dva noda na named - edin za nuzhdite na AS112 i drug za nuzhdite na SU). Taka reshenieto e "chisto" i survurite za imena na proekta AS112 ne sa obvurzani po nikakuv nachin s tezi na SU, osven tova, che protsesite na named rabotiat vurhu edna i sushta mashina.

Vsichko opisano po-dolu niama pretentsii da bude edinstveno pravilno i ne biva da se razglezhda kato zadulzhitelen za sledvane shablon po izgrazhdane na podobni resheniia. Izlozhenite tuk tehniki i shemi sa samo edno vuzmozhno reshenie.

Avtorut ne nosi otgovornost za eventualno vuzniknali problemi ili naneseni preki ili kosveni shteti, prichineni ot prilaganeto na opisanite tehniki i shemi v tozi dokument.

2. Direktoriina struktura i sudurzhanie na reshenieto.

Pokazanata po-dolu direktoriina struktura e po-skoro primerna, a ne zadulzhitelna. Realizirashtiiat reshenieto ima pulnata svoboda da razpolozhi failovete v sistemata na miasto, koeto e udobno za nego.

Failoviiat nabor na reshenieto se sustoi ot dva faila. Ediniiat fail e initsializirasht skript, a vtoriia e konfiguratsionen fail za initsializirashtiia skript. Initsializirashtiiat skript se namira vuv faila /usr/local/miltinode-named/init.d/named-node_name, a konfiguratsiiata na initsializirashtiia skript - vuv faila /usr/local/miltinode-named/sysconfig/named-node_name.

  • sudurzhanie na initsirashtiia skript /usr/local/miltinode-named/init.d/named-node_name:

#!/bin/bash
#
# Made by Vesselin Kolev
# Based on Red Hat's named init script
#
# named-node_name This shell script takes care of starting and stopping
# multinode named daemon.
#
# chkconfig: - 55 45
# description: named (BIND) is a Domain Name Server (DNS) \
# that is used to resolve host names to IP addresses. \
# This is local setup for multinode support support.
# probe: true

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
[ -r /etc/sysconfig/network ] && . /etc/sysconfig/network

RETVAL=0
prog=`echo $0 | sed -e 's/.*\///'`

# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 1

[ -r /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

[ -x /usr/sbin/$prog ] || exit 1

[ -r ${ROOTDIR}/etc/named.conf ] || exit 1


start() {
# Start daemons.
if [ -n "`/sbin/pidof $prog`" ]; then
echo -n $"$prog: already running"
return 1
fi
echo -n $"Starting $prog: "
ckcf_options='';
if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
OPTIONS="${OPTIONS} -t ${ROOTDIR}"
ckcf_options="-t ${ROOTDIR}";
if [ -s /etc/localtime ]; then
cp -fp /etc/localtime ${ROOTDIR}/etc/localtime
fi;
fi
conf_ok=0;
if [ -x /usr/sbin/named-checkconf ] && /usr/sbin/named-checkconf $ckcf_options; then
conf_ok=1;
else
RETVAL=$?;
fi
if [ $conf_ok -eq 1 ]; then
daemon /usr/sbin/$prog -u ${NAMED_USER} ${OPTIONS};
RETVAL=$?;
else
named_err=`/usr/sbin/$prog -g 2>&1 | sed s/\n/\\n/g`;
if [ `tty` != "/dev/console" ]; then
echo -e "\n$named_err";
echo -n "Error in configuration file /etc/named.conf : ";
fi;
failure $"Error in configuration file /etc/named.conf : $named_err";
echo
return $RETVAL;
fi;
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
echo
return $RETVAL
}

stop() {
# Stop daemons.
echo -n $"Stopping $prog: "
/usr/sbin/rndc -s ${BIND_IP} -k ${RNDC_KEY_FILE} stop >/dev/null 2>&1
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog || {
# killproc named
# Never do this! Can cause corrupt zone files!
/usr/sbin/rndc -s ${BIND_IP} -k ${RNDC_KEY_FILE} stop >/dev/null 2>&1
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
echo
return $RETVAL
}
success
echo
return $RETVAL
}
rhstatus() {
/usr/sbin/rndc -s ${BIND_IP} -k ${RNDC_KEY_FILE} status
return $?
}
restart() {
stop
# wait a couple of seconds for the named to finish closing down
sleep 2
start
}
reload() {
echo -n $"Reloading $prog: "
p=`/sbin/pidof -o %PPID $prog`
RETVAL=$?
if [ "$RETVAL" -eq 0 ]; then
/usr/sbin/rndc -s ${BIND_IP} -k ${RNDC_KEY_FILE} reload >/dev/null 2>&1 || /usr/bin/kill -HUP $p;
RETVAL=$?
fi
[ "$RETVAL" -eq 0 ] && success $"$prog reload" || failure $"$prog reload"
echo
return $?
}
probe() {
# named knows how to reload intelligently; we don't want linuxconf
# to offer to restart every time
/usr/sbin/rndc -s ${BIND_IP} -k ${RNDC_KEY_FILE} reload >/dev/null 2>&1 || echo start
return $?
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
rhstatus
;;
restart)
restart
;;
condrestart)
if [ -e /var/lock/subsys/$prog ]; then restart; fi
;;
reload)
reload
;;
probe)
probe
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|probe}"
exit 1
esac

exit $?

  • sudurzhanie na konfiguratsiiata v /usr/local/miltinode-named/sysconfig/named-node_name:

# BIND named process options
#
# Made by Vesselin Kolev
# Based on Red Hat's /etc/sysconfig/named file
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
# Currently, you can use the following options:
#
# ROOTDIR="/some/where" -- will run named in a chroot environment.
# you must set up the chroot environment
# (install the bind-chroot package) before
# doing this.
#
# OPTIONS="whatever" -- These additional options will be passed to named
# at startup. Don't add -t here, use ROOTDIR instead.
#
# ENABLE_ZONE_WRITE=yes -- If SELinux is disabled, then allow named to write
# its zone files and create files in its $ROOTDIR/var/named
# directory, necessary for DDNS and slave zone transfers.
# Slave zones should reside in the $ROOTDIR/var/named/slaves
# directory, in which case you would not need to enable zone
# writes. If SELinux is enabled, you must use only the
# 'named_write_master_zones' variable to enable zone writes.
#
# ENABLE_SDB=yes -- This enables use of 'named_sdb', which has support
# -- for the ldap, pgsql and dir zone database backends
# -- compiled in, to be used instead of named.
NODE_PROCESS_NAME=named-node_name
NAMED_USER=named-node_name_user
ROOTDIR=full_path_to_the_chroot_dir
BIND_IP=IP_ADDRESS_OF_THE_NODE
RNDC_KEY_FILE=full_path_to_the_HMAC-MD5_key_file

3. Protsedura po izgrazhdane i upravlenie na nodove.

  • Suzdavane na grupa i nepriviligerovan potrebitel za vseki nod

Ot gledna tochka na sigurnostta i po-tochno separatsiiata na privilegii v sistemata, e dobre za vseki nod na demona named da ima otdelen nepriviligirovan potrebitel i grupata, kum koiato toi prinadlezhi da sudurzha samo tozi potrebitel. S pravata na nepriviligerovaniia potrebitel se izpulniavat protsesite na demona named za suotvetniia nod.

Edno primerno suzdavane na grupa za nod s ime as112 bi izglezhdalo po sledniia nachin:

# groupadd named-as112

Sled tova suzdavaneto na potrebitelia mozhe da proteche po sledniia primer-shablon:

# useradd -g named-as112 -s /bin/false -d /dev/null -c "named user - node as112" named-as112

Podobno po svoia harakter suzdavane na grupa i potrebitel triabva da sledva za vseki ot nalichnite v sistemata nodove na named.

Ako v sistemata se sledva numeratsionen plan za GID i UID, v gornite komandni redove triabva da se ukazhat zhelanite chislovi stoinosti spored numeratsionniia plan.

  • Suzdavane na psevdonimi na imeto na protsesa na named za vseki nod
Suzdavaneto na psevdonimi na protsesa na named e zadulzhitelno, za da mozhe protsesite na nodovete da mogat da budat otlichavani po ime v sistemata (vseki nod da ima unikalno ime na protses). Samoto suzdavane na psevdonimi se izvurshva chrez suzdavane na symlink vruzki s razlichni imena, socheshti kum /usr/sbin/named, naprimer:

# ln -s /usr/sbin/named /usr/sbin/named-as112
# ln -s /usr/sbin/named /usr/sbin/named-as5421

suzdava psevdonimi za nodove s imena as112 i as5421. Efektut ot suzdavaneto na psevdonimite e takuv, che sled startirane, imeto na protsesa suvpada s imeto na symlink vruzkata i taka mozhe da se nameri negoviia PID nomer (makar demona named da se upravliava samo chrez rndc i tova v bazoviia sluchai da otmenia izpolzvaneto na PID nomera na maichiniia protses, to ima sluchai, v koito se nalaga da tozi unikalen nomer da se znae).

Podoben nachin za suzdvane na psevdonimi e vuzmozhno nai-ratsionalniia. Prichinata e, che pri aktualizatsiia na paketa bind (v sustava na koito e faila /usr/sbin/named), stava defakto aktualizatsiia i na vsichki psevdonimi. Tova naprimer ne bi bilo taka, ako vmesto symlink vruzki se izpolzvashe kopirane na /usr/sbin/named vuv failove s imena, svurzani s nodovete.

  • Suzdavane na initsirashti zarezhdaneto na uslugata skriptove za vseki nod
Tezi skriptove sa simvolni vruzki kum shablonniia initsirasht skript s ime named-node_name, koito se namira v direktoriiata /usr/local/named-multinode/init.d/. Za nodovete s imena as112 i as5421, tozi protses bi izglezhdal taka:

# ln -s /usr/local/named-multinode/init.d/named-node_name /etc/rc.d/init.d/named-as112
# ln -s /usr/local/named-multinode/init.d/named-node_name /etc/rc.d/init.d/named-as5421

Po tozi nachin v direktoriiata s initsirashtite skriptove /etc/rc.d/init.d/, sa prividno (symlink) suzdadeni dva novi skripta, koito definirat dve novi uslugi, a imenno named-as112 i named-as5421.

Udobstvoto ot takova suzdavane na uslugi e, che initsirashtiia im skript mnogo lesno mozhe da se aktualizira. Dostatuchno e da se napraviat promeni v skripta-shablon named-node_name, koito se namira v direktoriiata /usr/local/named-multinode/init.d/ i te vednaga vlizat v sila za vsichki initsirashti skriptove, koito sochat kum shablona. Tazi shema suzdava dobra funktsionalnost i ulesniava lesno aktualizatsiite i povishava nadezhnostta i sigurnostta na uslugite.

  • Suzdavane na konfiguratsionni failove za initsirashtite skriptove za vseki nod
Vseki initsirasht skript za nod ima svoi konfiguratsionen fail s promenlivi. Dokolkoto vseki nod mozhe da ima individualni nepodavashti se na shablonizirane startirashti konfiguratsionni optsii, to konfiguratsionnite failove za initsirashtite skriptove ne mozhe da se realizirat kato symlink vruzki kum shablon. Za tova shablona se kopira v direktoriia /etc/sysconfig i mu se prisvoiava sushtoto ime, kakvoto nosi initsirashtiia skript, s kogoto e obvurzan i sled tova v nego se zadvat konkretnite startirashti optsii za konkretniia nod. Eto naprimer kak tova mozhe da se realizira za primera s nodove s imena as112 i as5421:

# cp /usr/local/named-multinode/sysconfig/named-node_name /etc/sysconfig/named-as112
# cp /usr/local/named-multinode/sysconfig/named-node_name /etc/sysconfig/named-as5421

Edni primerni ukazaniia vuv faila /etc/sysconfig/named-as112 mogat da imat vida:

NODE_PROCESS_NAME=named-as112
NAMED_USER=named-as112
ROOTDIR=/home/chroot/named-as112
BIND_IP=192.175.48.1
RNDC_KEY_FILE=/etc/su-as112.key

Podoben primer bi mogul da bude daden i za /etc/sysconfig/named-as5421:

NODE_PROCESS_NAME=named-as5421
NAMED_USER=named-as5421
ROOTDIR=/home/chroot/named-as5421
BIND_IP=62.44.96.1
RNDC_KEY_FILE=/etc/su-as5421.key

  • Instalirane i aktualizirane na paketa bind-chroot

Ot gledna tochka na sigurnostta na uslugata, e dobre da se izpolzva optsionalnoto zaklyuchvane na demona named, nalichno kato startova za nego optsiia. Za tselta triabva da se izgradi chroot direktoriia, v koiato da stane zaklyuchvaneto na protsesa. Vuv Fedora Core i Red Hat Enterprise Linux i derivatite mu, suzdavaneto na chroot direktoriiata i minimalnoto i sudurzhanie se izvurshva ot paketa bind-chroot. Proverkata za tova dali paketut bind-chroot e instaliran v sistemata, mozhe da se izvurshi chrez instrumenta rpm po sledniia nachin:

# rpm -q bind-chroot

Ako paketut e nalichen v sistemata, na nov red shte bude izvedeno imeto i versiiata mu.

Ako paketut bind-chroot e nalichen v sistemata e dobre da bude aktualiziran (ako sa nalichni aktualizirani versii kum momenta, koito ne sa lokalno instalirani). Tova mozhe da stane chrez instrumenta yum:

# yum update bind-chroot

Ako sistemata ne e derivat, a e originalen Red Hat Enterprise Linux i v neia niama dopulnitelno instaliran yum, to aktualizatsiiata mozhe da se izvurshi i s instrumenta up2date:

up2date bind-chroot

Ako paketut bind-chroot ne e istinaliran v sistemata, instalatsiiata mu mozhe da bude izvurshena s instrumenta yum:

# yum install bind-chroot

Ako se izpolzva Red Hat Enterprise Linux, a ne negov derivat i niama dopulnitelno instaliran instrument yum, to instalatsiiata na paketa bind-chroot mozhe da se izvurshi i chrez instrumenta up2date:

up2date -i bind-chroot

TSelta na instaliraneto na tozi paket, ako ne e nalichen veche v sistema, e da suzdade shablon za chroot sredata, koiato shte se izpolzva ot nodovete. Za vseki nod se suzdava otdelna chroot sreda, kato se izpolzva shablona instaliran ot bind-chroot vuv /var/named/chroot.

  • Suzdavane na chroot sreda za vseki nod

Za vseki nod se suzdava direktoriia, v koiato shte se namira suotvetnata za negoviia demon named chroot sreda. Dobre e imeto na tazi direktoriia da bude iasno svurzano s imeto na noda. Tova ne e zadulzhitelno, no e dobra praktika osobeno v sistemi, koito se administrirat ot poveche ot edin administrator:

# mkdir -p /home/chroot/named-as112
# mkdir -p /home/chroot/named-as5421

CHrez tozi primer se suzdavat chroot direktoriite za nodovete s imena as112 i as5421. Sled tova chrez instrumenta rsync se izvurshva lokalno sinhronizirane na sudurzhanieto na direktoriiata /var/named/chroot, koeto biva suzdadeno pri instalirane na paketa bind-chroot, v chroot direktoriite na nodovete:

# cd /home/chroot
# rsync -var /var/named/chroot/etc /var/named/chroot/dev /var/named/chroot/var named-as112/
# rsync -var /var/named/chroot/etc /var/named/chroot/dev /var/named/chroot/var named-as5421/

Narochno direktoriite, koito shte budat sinhronizirani se ukazvat poimenno, a ne se sinhronizira totalnoto sudurzhanie na /var/named/chroot. Prichinata e, che ako /var/named/chroot ne e priasno instalirana, a e izpolzvana za niakakuv period ot vreme v roliata i na chroot direktoriia na demona named, to v tazi direktoriia mozhe da ima montirane na proc v poddirektoriia proc/ (mozhe da ima i nalichie na drugi direktorii, koito sushto ne sa chast ot priasno instaliraniia paket bind-chroot). Bezmisleno e tazi direktoriia i neinoto sudurzhanie da bude kopirano.

Triabva da se otbelezhi sintaksisa na opisanie na direktoriite, koito shte budat sinhronizirani. Ukazvaneto im stava kato sled imeto na direktoriiata niama znak za produlzheniia na putia "/". Prichinata e slednata. Ako ima znak za udulzhavane na putia "/", to v direktoriiata-tsel na sinhronizatsiia (takiva direktorii-tseli v primera po-gore sa /home/chroot/named-as112 i /home/chroot/named-as5421), niama da budat suzdadeni poddirektorii dev/, etc/ i var/, a sudurzhanieto im shte bude kopirano v direktoriiata-tsel bez suzdavaneto na poddirektoriite dev/, etc/ i var/

Izpolzvaneto na rsync v tozi sluchai ukazva na dobra praktika. Ako sled vreme izleze aktualizatsiia na paketa bind-chroot, direktoriiata /var/named/chroot shte bude izpolzvana kato shablon za aktualizatsiia i na chroot direktoriite za otdelnite nodove, chrez izpolzvane imenno na rsync. Razbira se, pri tova triabva chrez optsiia "--exclude" da se napravi taka, che da se izbegne iztrivaneto na definiranite ot administratora konfiguratsionni failove i zonalni failove, a taka sushto i ot suzdadenite ot demona named zonalni failove i zhurnali. Eto primeren komanden red, koito aktualizira chroot direktoriiata na nodovete ot gorniia primer, spriamo shablona /var/named/chroot, koiato zasiaga samo poddirektoriia dev/:

# cd /home/chroot
# rsync -var --delete-after /var/named/chroot/dev named-as112/
# rsync -var --delete-after /var/named/chroot/dev named-as5421/

VNIMANIE!!! Vsichki failove, koito sa spetsifichno chitaemi ili pisaemi ot demona named-node_name za suotveniia nod, triabva da budat s taka ustanoveni prava za sobstvenost vurhu tiah, che da se sublyudava fakta, che vseki nod se startira s pravata na razlichen nepriviligerovan potrebitel. Za gorniia primer noda na named za as112 se startira s pravata na nepriviligerovaniia potrebitel named-as112, a tozi za as5421 s pravata na nepriviligerovaniia potrebitel named-as5421.

  • Upravlenie na uslugata po nodove

Sled kato za vseki nod budat izvursheni opisanite po-gore stupki i budat postaveni spetsifichnite konfiguratsionni failove, klyuchove i zonalni failove, e red na opisanieto na protsedurite po startirane, prezarezhdane, proverka na statusa i spirane na uslugata. Dokolkoto distributsiite Fedora Core i Red Hat Enterprise Linux (i derivatite mu) sa SystemV bazirani, to za upravlenieto na uslugite po nodove se izpolzvat otdelni initsirashti skriptove v direktoriiata /etc/rc.d/init.d. Proverkata na nalichnite chrez initsirashtiia skript funktsionalnosti za upravlenie mozhe da se izvurshi taka:

# service named-node_name

ili preneseno za osnovniia primer, a imenno za imena na nodove as112 i as5421:

# service named-as112
# service named-as5421

Primerniiat izhod s nalichni funktsionalnosti ot izpulnenieto na gornite komandni redove, mozhe da izglezhda taka:

# service named-as112
Usage: /etc/init.d/named-as112 {start|stop|status|restart|condrestart|reload|probe}
# service named-as5421
Usage: /etc/init.d/named-as5421 {start|stop|status|restart|condrestart|reload|probe}

  • Upravlenie na povedenieto na uslugata pri zarezhdane na sistemata

Startiraneto na uslugata pri zarezhdaneto na sistemata mozhe da se ukazhe chrez instrumenta chkconfig. Purvata stupka e pribavianeto na uslugata za upravlenie chrez instrumenta chkconfig. To mozhe da se izvurshi po sledniia model:

# chkconfig --add named-as112
# chkconfig --add named-as5421

Pri tova pribaviane chkconfig shte prochete zaglavnata chast na initsirashtiia skript za suotvetnite nodove, shte proveri v koi niva na startirane na sistemata triabva da se startirat nodovete i shte izgradi nuzhnite za tova symlink vruzki v direktoriiata na suotvetnoto nivo (po podrazbirane survurskite instalatsii bez startirana grafichna sreda se zarezhdat v nivo nomer 3 - initlevel 3).

Ako sled tova se nalaga niakoi nod da bude neaktiven v dadeno nivo na startirane na sistemata, to dezaktiviraneto mozhe da se osushtestvi chrez chkconfig po nachin, podoben na sledniia

# chkconfig --level 5 named-as112 off
# chkconfig --level 5 named-as5421 off

V tozi primer se izvurshva dezaktiviraneto na nodove as112 i as5421 pri startirane na sistemata v nivo 5 (initlevel 5). Ako triabva da se napravi aktivirane v dadeno nivo, vmesto "off" kato argument se izpolzva "on". Ako triava da se vurne sustoianieto "po podrazbirane" na uslugata v dadeno nivo (tova, zadadeno v zaglavnata chast na initsirashtiia skript), se ukazva optsiiata "reset".

Premahvaneto na dadena usluga, svurzana s nod, ot obsluzhvane v ramkite na protsesa na zarezhdane na uslugi v razlichnite startovi niva na sistemata, mozhe da stane chrez izpolzvaneto na instrumenta chkconfig, kato se sledva shemata:

# chkconfig --del named-as112

4. Osobenosti na izpolzvaneto na rndc pri mnogonodov rezhim na rabota na named.

Rndc e instrument za upravlenie na demona named prez TCP soket. V distributsiite Fedora Core i Red Hat Enterprise Linux (i derivatite mu), po podrazbirane rndc chete nastroikite si ot konfiguratsionniia fail /etc/rndc.conf. V sluchaite na ednonodova instalatsiia (kakto e po podrazbirane pri instalatsiia na paketa bind), tova ne e problem. Vsichki komandi, koito shte budat podadeni chrez rndc kum demona named sledvat prostiia sintaksis "rndc commnad", dokolkoto v /etc/rndc.conf e ukazano komandite da otivat po podrazbirane kum rndc porta na daden IP adres. V sluchaite na mnogonodova BIND9 instalatsiia, podavaneto na komandi kum daden nod chrez rndc e po-kompleksno. Dokolkoto vseki nod na named e obvurzan s konkreten IP adres, to rndc triabva da znae kum koi tochno nod da izprati komandata i sledovatelno triabva ot niakude da vzima informatsiia za IP adresa mu (i eventualno nomera na port, na koito named priema rndc komunikatsiia, ako tozi port e razlichen ot standartniia).

Pri izprashtaneto na komanda kum demona named na daden nod chrez rndc, se izpolzva ukazvane na IP adresa, do koito tazi komanda se izprashta. Za tselta se izpolzva nalichnata za tova optsiia "-s" na rndc. Ukazvaneto na IP adres chrez optsiiata "-s" ne reshava napulno problema. Nuzhno e da se ukazhe i klyuch za izpolzvaneto mu v algoritum HMAC-MD5, chrez koito mezhdu rndc i named da teche elektronno podpisana komunikatsiia. Dobre e vseki nod da izpolzva razlichen podpisvasht klyuch. Ima tri varianta na ukazvane na klyucha, koito rndc da izpolzva za da podpisva elektronno komunikatsiiata s daden nod: po ime na fail, koito go sudurzha, po ime na klyucha ili kato asotsiatsiia na ime na klyuch kum IP adres na nod.

Ako se izpolzva direktno ukazvane na klyucha kato fail, koito go sudurzha, komandniia red za izvikvane na rndc s tsel podavane na komanda za proverka na statusa na noda s IP adres 192.175.48.1 bi izglezhdal taka:

# rndc -s 192.175.48.1 -k /etc/su-as112.key status

Ako se izpolzva imeto na klyucha, to tozi klyuch triabva da e vklyuchen vuv faila /etc/rndc.conf chrez ukazvaneto na pulniia put do faila, koito sudurzha klyucha s tova ime. Tova ukazvane stava chrez deklaratsiiata "include" na otdelen red vuv faila /etc/rndc.conf, naprimer:

include "/etc/su-as112.key";

V edin fail mozhe da ima poveche ot edin klyuch, no v ramkite na vklyuchvanite po tozi nachin klyuchove v /etc/rndc.conf ne triava da ima dva klyucha s edno i sushto ime. Ako se izpolzva tazi kontseptsiia, mozhe da se dade sledniia primer na komandniia red za izvikvane na rndc s tsel podavane na komanda za proverka na statusa na noda s IP adres 192.175.48.1:

# rndc -s 192.175.48.1 -y su-as112 status

Tazi kontseptsiia vazhi i v sluchaite, kogato se izvikva fail (chrez optsiia "-k"), v koito se namirat poveche ot edin klyucha i triabva da se ukazhe koi tochno ot tiah da se izpolzva.

Po-lesniiat nachin e vuv faila /etc/rndc.conf da se ukazhe asotsiatsiia na daden klyuch kum daden adres na nod. Po tozi nachin na rndc se ukazva samo IP adresa na noda i toi sam namira klyucha, chrez koito da podpisva elektronno komunikatsiiata. Za da mozhe da se realizira tova nivo na avtomatizatsiia na izbora na klyuch, v /etc/rndc.conf se izpolzvat strukturi podobni na slednata:

server 192.175.48.1 {
key "su-as112";
};
include "/etc/su-as112.key";

V primera se predpolaga, che klyuchut s ime su-as112 se namira vuv faila /etc/su-as112.key. Podobna struktura se izgrazhda za vseki edin nod, s koito shte se vodi elektronno podpisana komunikatsiia initsirana chrez instrumenta rndc. Za primer mozhe da se pokazhe kak v tozi sluchai bi izglezhdal komandniia red za izvikvane na rndc s tsel podavane na komanda za proverka na statusa na noda s IP adres 192.175.48.1:

# rndc -s 192.175.48.1 status



<< Rabota s izgledi v BIND9 | Nastroika na VPN chrez pptp >>