Перший для прямо╖ розв'язки (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.