Сервер DNS, доступный из внешней сети
Сервер DNS, доступный из внешней сети
Работа сети Internet базируется на использовании взаимодействующих между собой серверов DNS. Чтобы понять, как сервер, установленный в локальной сети, позволяет внешним пользователям обращаться к локальным компьютерам по именам, необходимо рассмотреть процесс обмена данными между различными серверами DNS. Предположим, что к серверу DNS обратился Web-броузер, пользователь которого задал URL http://www.whitehouse.gov. Сервер DNS должен преобразовать символьное имя www.whitehouse.gov в IP-адрес узла сети. Локальный сервер DNS начинает процесс преобразования с того, что обращается к корневому серверу DNS. IP-адреса компьютеров, выполняющих функции корневых серверов, указаны в конфигурационном файле каждого сервера DNS; вероятность того, что эти адреса изменятся, крайне мала. Обращаясь к корневому серверу DNS, локальный сервер передает ему имя, предназначенное для преобразования (в данном примере это имя www.whitehouse.gov). В большинстве случаев корневой сервер не знает IP-адреса, соответствующего указанному имени, но имеет информацию о доменах верхнего уровня (TLD — top-level domain). Примерами таких доменов являются .com, .gov, .uk и т.д. Поэтому корневой сервер возвращает локальному серверу адреса компьютеров, поддерживающих DNS-сервер .gov, после чего локальный сервер передает запрос одному из компьютеров, обеспечивающих работу домена .gov. Сервер DNS .gov также не может преобразовать имя, но он знает IP-адреса компьютеров, ответственных за поддержку домена whitehouse.gov, поэтому передает их локальному серверу DNS. Сервер whitehouse.gov знает IP-адрес, соответствующий имени www.whitehouse.gov, поэтому, получив запрос локального сервера, он возвращает ему требуемую информацию. После получения IP-адреса локальный сервер DNS передает его Web-броузеру, который использует адрес при формировании запроса к Web-серверу. Процесс преобразования адресов условно показан на рис. 18.1. Детали этого процесса скрыты от пользователя. С точки зрения прикладной программы или работающего с ней пользователя дело обстоит так, как будто локальный сервер DNS имеет информацию о соответствии символьных имен и IP-адресов всех узлов Internet.
Рис. 18.1. Процесс преобразования адреса предполагает передачу запросов различным серверам DNS
На первый взгляд описанная здесь процедура кажется сложной. Создается впечатление, что для ее выполнения потребуется много времени, однако реально преобразование имени завершается за несколько секунд. Существуют также способы ускорить этот процесс. Один из них состоит в том, что локальные серверы DNS кэшируют результаты преобразования адресов. Поэтому если два пользователя передадут серверу DNS запросы на преобразование одного и того же имени и между этими запросами пройдет не слишком много времени, то второй запрос будет обработан мгновенно. Сервер DNS лишь вернет второму пользователю результаты, полученные для первого пользователя. В кэше также сохраняются адреса серверов тех доменов, обращения к которым осуществляются наиболее часто. Например, локальный сервер DNS почти наверняка имеет сведения о серверах домена верхнего уровня .com, поэтому он не станет обращаться к корневому домену. Информация хранится в кэше в течение ограниченного времени, поэтому, если администратор изменит IP-адрес одного из своих компьютерах, это не приведет к возникновению проблем при обращении к этой машине.
Если вы хотите, чтобы к компьютерам вашей сети можно было обращаться извне по именам, вам необходимо включить его в состав иерархии DNS. Другими словами, вы должны установить сервер DNS, который будет выполнять для вашего домена те же действия, которые сервер whitehouse.gov выполняет для своего домена. После того как ваш сервер будет настроен и запущен, а также после того как сервер DNS, поддерживающий домен более высокого уровня, узнает о существовании вашего сервера, каждый пользователь Internet сможет преобразовать имена компьютеров вашей сети в IP-адреса.
На заметку
Официальные организации, осуществляющие поддержку DNS, требуют, чтобы каждый домен обслуживался как минимум двумя серверами DNS. Несмотря на то что для поддержки протокола преобразования имен достаточно одного сервера DNS, второй сервер создает избыточность, позволяющую повысить надежность системы. Если один их серверов выйдет из строя, второй сможет обрабатывать запросы. Если размеры вашей сети малы, вы можете установить в ней лишь один (первичный) DNS-сервер, а второй (вторичный) сервер разместить за пределами сети.
Вместо установки собственного сервера DNS, вы можете использовать один из серверов, предоставляющих услуги по преобразованию имен. Этим занимаются многие организации, осуществляющие поддержку DNS, и провайдеры Internet. Часто подобные услуги предоставляются бесплатно, в других случаях за них надо платить, но плата невелика (обычно она составляет несколько долларов в год). Так, например, бесплатное DNS-обслуживание предлагает организация Granite Canyon (http://www.granitecanyon.com). Советую вам не слишком полагаться на бесплатные услуги; помните правило: "Вы получите то, за что заплатите". В любом случае сторонние организации предоставят вам возможность разместить либо один, либо оба сервера DNS, необходимых для обслуживания вашей сети.
Существует специальное динамическое DNS-обслуживание, которое предоставляется в основном пользователям DSL и кабельных модемов. Организации, которые предоставляют динамическое DNS-обслуживание, поддерживают обычные серверы DNS, но они позволяют быстро обновлять записи, которые соответствуют изменяющимся IP-адресам. Многие организации предпочитают использовать статические IP-адреса и статические средства преобразования имен. Динамическое DNS-обслуживание в основном предоставляется отдельным пользователям, поддерживающим собственные серверы. Динамическое DNS-обслуживание обеспечивают многие организации. Полный их список занял бы слишком много места, поэтому здесь приводятся лишь два URL: http://www.technopagan.org/dynamic/ и http://www.oth.net/dyndns.html.
Если вы не уверены в том, что сможете должным образом осуществлять поддержку сервера DNS, воспользуйтесь услугами сторонних организаций. Учитывая, что бесперебойная работа DNS важна для нормальной работы других служб, имеет смысл предоставить возможность настраивать и обслуживать сервер квалифицированным специалистам.
Даже если вы приняли решение использовать внешние серверы DNS, вам необходимо хотя бы в общих чертах представлять себе конфигурацию сервера такого типа. Дело в том, что заполняя формы для провайдеров DNS, вам придется указывать ту же информацию, которую вы включили бы в конфигурационные файлы локального сервера DNS. Вопросы конфигурации домена будут рассмотрены далее в этой главе.