Смекни!
smekni.com

Мой личный сервер DNS (стр. 3 из 3)

IN NS D.ROOT-SERVERS.NET.

атакжестроки: D.ROOT-SERVERS.NET internet address = 128.8.10.90 в: D.ROOT-SERVERS.NET.

999999 IN A 128.8.10.90 Решить эту проблему можно различными путями, например, воспользовавшись ска- зочной мощью какого-либо текстового редактора, например, jed или ted. Но с точки зрения UNIX-культуры гораздо разумнее использовать одно из средств, предназначенных для ре- шения подобных задач. В данном случае наиболее удобным представляется использование программки на языке awk. Если вы не слишком уверенно чувствуете себя в awk- программировании, я хочу порекомендовать вам небольшую книжку на русском языке -- [6], которую вы можете выгрузить из моей домашней странички. Ниже приведен сценарий на языке оболочки, в которую интегрирована awk-программа.

#!/bin/sh echo echo Переформатирование данных от nslookup в формат echo /var/named/root.cacheechoawk ` BEGIN { print ";--------------------------------------" print "; root.cache : Список корневых серверов " print ";--------------------------------------" } /root/ { print ".

IN NS " $4"." } /internet/ { print $1"." " 999999 INA " $5 } END { print "; Сгенерирован программой rfm " } ` $1 > $2 В результате вы должны получить следующее: ;-------------------------------------- ; root.cache : Список корневых серверов ;-------------------------------------- .

IN NS H.ROOT-SERVERS.NET.

.

IN NS B.ROOT-SERVERS.NET.

.

IN NS C.ROOT-SERVERS.NET.

.

IN NS D.ROOT-SERVERS.NET.

.

IN NS E.ROOT-SERVERS.NET.

.

IN NS I.ROOT-SERVERS.NET.

.

IN NS F.ROOT-SERVERS.NET.

.

IN NS G.ROOT-SERVERS.NET.

.

IN NS J.ROOT-SERVERS.NET.

.

IN NS K.ROOT-SERVERS.NET.

.

IN NS L.ROOT-SERVERS.NET.

.

IN NS M.ROOT-SERVERS.NET.

.

IN NS A.ROOT-SERVERS.NET.

H.ROOT-SERVERS.NET.

999999 IN A 128.63.2.53 B.ROOT-SERVERS.NET.

999999 IN A 128.9.0.107 C.ROOT-SERVERS.NET.

999999 IN A 192.33.4.12 D.ROOT-SERVERS.NET.

999999 IN A 128.8.10.90 E.ROOT-SERVERS.NET.

999999 IN A 192.203.230.10 I.ROOT-SERVERS.NET.

999999 IN A 192.36.148.17 F.ROOT-SERVERS.NET.

999999 IN A 192.5.5.241 G.ROOT-SERVERS.NET.

999999 IN A 192.112.36.4 J.ROOT-SERVERS.NET.

999999 IN A 198.41.0.10 K.ROOT-SERVERS.NET.

999999 IN A 193.0.14.129 L.ROOT-SERVERS.NET.

999999 IN A 198.32.64.12 M.ROOT-SERVERS.NET.

999999 IN A 202.12.27.33 A.ROOT-SERVERS.NET.

999999 IN A 198.41.0.4 ; Сгенерирован программой rfm Программа проста и понятна. Стоит обратить внимание лишь на следующее. Во- первых, вы должны позаботиться о том, чтобы входной файл программы не содержал неав- торитетной информации от вашего домашнего сервера. Rfm преобразовывает формат записей, но не может проверить, нужны ли они вам или нет. Решить эту проблему очень просто – отрежьте редактором соответствующий блок из файла протокола и "скормите" его rfm.

Во-вторых, имейте в виду, что синтаксис вызова приведенной выше программы rfm следующий: rfm <исходный файл> <файл в формате root.cache> И в третьих, после того, как вы получите новую версию root.cache, ее нужно поместить в каталог /var/named, а сам сервер DNS – перезапустить.

Итак, чего же нам удалось добиться? Мы сумели установить собственный кэширую- щий DNS-сервер, который позволяет сохранить работоспособность нашего узла Internet даже в случае отказа DNS-сервера провайдера. Следующий шаг очевиден – извлечение полезной информации о доменных именах из Сети, и ее последующий анализ. Но об этом – в сле- дующий раз.

Список литературы

[1] В. Водолазкий, PPP-подключение в Linux, Планета Internet, №5, 1997, полный текст статьи – http://www.geocities.com/SiliconValley/Pines/7895

[2] П. Храмцов, Лабиринт Internet, М., Электроинформ, 1996, 256 стр.

[3] Справочное руководство системного администратора UNIX, Киев. Bhv, 1997, 600 стр.

[4] Ричард Петерсен, Linux: руководство по операционной системе., Киев, Bhv, 1997, 685 стр.

[5] Nicolai Langfeldt, Caching named mini howto, Version 1, 1995, janl@ifi.uio.no.

[6] В.Водолазкий. GAWK: Справочное руководство. 120 стр., Полный текст в формате Postscript – http://www.geocities.com/SiliconValley/Pines/7895 Большинство читателей, вероятно не подозревает о том, что еще в 1992-1994 годах только избранные граждане имели возможность использовать программку uupc (версия uucp для MS-DOS). О протоколах PPP и SLIP, равно как и об FTP знали совсем немногие. A тер- мин WWW относился к научной фантастике.

Наиболее аккуратное и грамотное описание процесса настройки авторитетного сер- вера вы найдете в [2], а более понятное изложение процесса – в [3].

Естественно, имеются в виду текущие соединения, а не общее количество абонентов.

Если вы пользуетесь стеком TCP/IP Trumpet Winsock, вы можете включить режим контроля прохождения запросов и ответов DNS. Весьма поучительное зрелище...

За подробностями по использованию команды kill отправляю читателя к литературе [3], [4] С помощью route add -net 127.0.0.0 В нашем случае, это программа route.

Не забудьте сделать резервные копии ваших текущих инициализационных и конфи- гурационных файлов! Является заменой более популярного, но постепенно устаревающего ключа domain.

Для знающих читателей сообщаю, что мне известно о механизме синонимов, по- зволяющих упростить ввод адресов в сообщениях электронной почты. Но сейчас мы говорим о механизмах сокращения адреса, используемых сервером DNS.

Последние несколько строк можно просмотреть с помощью tail /var/log/messages.

Вспомните, что в named.boot записано об ответственности root.cache за корневой домен сети.

Поскольку все эти серверы расположены довольно далеко от России выбор кон- кретного сервера для съема информации носит произвольный характер и на время получения данных влияния, по большому счету, не оказывает.