Перший для прямо╖ розв'язки (gethostbyname(3)):
; our local zone
$TTL 3D
@ IN SOA ns.sakae. hostmaster.sakae. (
200109231
8H ; refresh
2H ; retry
4W ; expire
1D ) ; minimum
;
NS ns ; nameserver
MX 10 mail.sakae.
localhost A 127.0.0.1
ns A 192.168.2.1
mail A 192.168.2.1
yarylo A 192.168.2.1
HINFO "ibm 570" "Mandrake linux"
;
berkut A 192.168.2.10
HINFO "Compaq ProLinea 4/50" "SuSE linux"
;
veles A 192.168.2.15
HINFO "Sparc Station 5" "RH Linux 5.2 sparc"
;
perun A 192.168.2.16
HINFO "IBM Think Pad 570e" "Mandrake 7.2"
;
mavka A 192.168.2.20
HINFO "PowerPC Macintosh" "Mac OS/Linux"
;
prosha A 192.168.2.30
HINFO "Performa 5220 Macintosh" "Mac OS"
;
natalya A 192.168.2.70
HINFO "Pentium" "Mandrake 8.0"
nfs CNAME natalya
fetchmail CNAME natalya
/var/named/sakae/sakae
Невеличкий коментар до наведеного файлу. Домашня мережа виявилась на диво динам╕чною. Я перебудовую сво╖ системи досить часто в залежност╕ в╕д потреб ╕ в╕д величезного набору фактор╕в: переповню╓ться диск з домашн╕ми директор╕ями, ╕ наступа╓ час перебудови сервера NFS; один модем зм╕ню╓ ╕нший (зовн╕шн╕й 28k п╕д'╓днаний до sparc'у зм╕ню╓ться на 56k winmodem у PC) ╕ зм╕ню╓ться сервер, що забезпечу╓ зв'язок з зовн╕шн╕м св╕том, ╕ таке ╕нше. Вся мережа традиц╕йно керу╓ться ц╕лою системою розр╕знених командних ╕ Перл скрипт╕в часто не зв'язаних м╕ж собою. Спочатку я користувався назвами хост╕в в таких скриптах ╕, отже, при кожн╕й зм╕н╕ в мереж╕, з появою чи в╕дставкою того чи ╕ншого сервера мен╕ було потр╕бно в╕дшукувати скрипти, як╕ перестали в╕д тако╖ зм╕ни працювати ╕ лагодити ╖х. Поступово я перейшов до, так би мовити, "функц╕ональних" назв. Тобто, в DNS я став додавати псевда до назв хост╕в, як╕ виражали б серв╕с, що працю╓ на даному хост╕. Мовою DNS це виража╓ться в CNAME рядках.
Як, наприклад, хост natalya ╓ одночасно сервером домашн╕х директор╕й, ╕ тому в╕н також зветься `nfs'. На цьому ж сервер╕ в мене працю╓ fetchmail [6], тому у мене в╕н також зветься ╕ fetchmail. Ось записи, що стосуються сервера natalya:
natalya A 192.168.2.70
HINFO "Pentium" "Mandrake 8.0"
nfs CNAME natalya
fetchmail CNAME natalya
Вс╕ скрипти я поступово виправляю ╕ записую в них "функц╕ональн╕ псевда" зам╕сть справжн╕х назв. Таким чином, при чергов╕й зм╕н╕ в домашн╕й мереж╕ мен╕ не потр╕бно б╕льше виправляти скрипти, а просто досить зм╕нити CNAME в DNS.