Не определяется днс сервер что делать. DNS-сервер не отвечает: что делать? Как настроить DNS в windows XP без дополнительных программ

Главная / Клавиатура

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

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

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

Система DNS является глобальной и имеет строгую иерархию. Рассмотрим следующую схему:

Верхним уровнем иерархии является корневой домен, обозначаемый точкой, который содержит информацию о доменах первого уровня, например, ru , сom , org и т.п. Работу корневой зоны обеспечивают 13 корневых серверов, расположенных по всему миру и постоянно реплицирующих свои данные между собой. На самом деле корневых серверов больше, но особенности протокола позволяют указать только 13 узлов верхнего уровня, поэтом масштабируемость и отказоустойчивость системы обеспечивается зеркалами каждого корневого сервера.

Домены первого уровня являются привычными нам доменными зонами и могут управляться как национальными, так и международными организациями и иметь свои условия использования. Каждая доменная зона первого уровня позволяет размещать неограниченное количество доменов второго уровня, которые знакомы каждому пользователю интернета как адреса сайтов.

В свою очередь домены второго уровня тоже являются доменными зонами и позволяют размещать в себе домены третьего уровня, в которые, как в матрешку, помещать домены четвертого, пятого и т.д. уровней. Для того, чтобы можно было однозначно определять узлы, находящиеся в разных зонах, введено понятие полностью определенное имя домена (FQDN, Fully Qualified Domain Name ), которое включает в себя все имена родительских доменов в иерархии DNS. Например, для нашего сайта FQDN будет: сайт. Именно так, с окончанием на точку, обозначающее корневую зону.

Это очень важный момент. В повседневном использовании завершающую точку принято отбрасывать, но в записях DNS отсутствие последней точки обозначает, что данное доменное имя принадлежит текущей доменной зоне, т.е. DNS-сервер прибавит к такому имени собственную доменную зону и все вышестоящие зоны вплоть до корня.

Например, на нашем сервере в зоне сайт мы добавляем запись типа CNAME, которая будет указывать на сторонний сервер, скажем, Яндекс-почты. Правильно запись должна выглядеть так:

MailIN CNAMEdomain.mail.yandex.net.

В данном случае имя mail не является FQDN и будет дополнено до mail.сайт. , если же мы забудем поставить точку в конце имени домена Яндекса, то это имя также не будет восприниматься как FQDN и должно быть дополнено до полного имени домена. Ниже показана неправильная запись:

Mail IN CNAME domain.mail.yandex.net

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

Еще один момент. Все записи для доменной зоны вносятся администраторами зон на собственных DNS-серверах, каким образом данные записи становятся известны системе DNS? Ведь мы же не оповещаем вышестоящие DNS-сервера, что изменили какую-либо запись.

Любая DNS-зона содержит записи только о входящих в нее узлах и дочерних зонах. Информация об узлах нижестоящей зоны хранится на ее собственных серверах. Это называется делегированием и позволяет снизить нагрузку на корневые сервера и предоставить необходимую автономию владельцам дочерних доменных зон.

Итак, вы купили домен, скажем, example.org , после чего вы должны его делегировать, т.е. указать сервера имен (DNS-сервера), которые будут содержать записи данной файловой зоны. Это могут быть как ваши собственные сервера, так и публичные сервисы, например, DNS Яндекса.

В этом случае в доменной зоне org будет добавлена запись:

Example IN NS dns1.yandex.net.

Которая будет указывать, что все записи этой зоны расположены на сервере dns1.yandex.net . По правилам, каждая доменная зона должна иметь не менее двух NS-серверов, расположенных в разных подсетях. На практике часто обходятся одним сервером, приобретая для него два IP-адреса из разных диапазонов.

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

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

В свою очередь DNS-клиент проверяет записи в файле hosts, затем в локальном кэше и, не обнаружив там нужных записей, передает запрос указанному в сетевых настройках DNS-серверу. Скорее всего это будет локальный кэширующий DNS-прокси, например, dnsmasq или локальный DNS-сервер предприятия. Данные решения обычно не являются полноценными серверами глобальной системы DNS и не входят в нее, обслуживая только локальную зону и кэшируя DNS-запросы, поэтому такой запрос, если данных не оказывается в кэше, передается вышестоящему DNS-серверу, как правило это сервер провайдера.

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

Итак, клиент отправляет DNS-запрос серверу провайдера с целью узнать адрес домена market.yandex.ru , сервер провайдера не располагает подобной информации, поэтому обращается к одному из корневых серверов, передавая ему запрос. Корневой сервер также не имеет нужных записей, но отвечает, что знает сервер, отвечающий за зону ru - a.dns.ripn.net . Вместе с данным именем корневой сервер может сразу сообщить его IP-адрес (и в большинстве случаев сообщит), но может и не сделать этого, если не располагает такой информацией, в таком случае, перед тем как обратиться к данному серверу, нужно будет выполнить еще один рекурсивный запрос, только уже для определения его имени.

Выяснив адрес сервера, отвечающего за зону ru, сервер провайдера передаст запрос ему, но данный сервер также не имеет нужных записей, но сообщит, что за зону yandex отвечает сервер ns1.yandex.ru и обязательно сообщит его адрес. Иначе рекурсию завершить не удастся, так как за зону yandex отвечает сервер, находящийся в зоне yandex . Для этого в вышестоящей зоне, кроме NS-записи об обслуживающих зону серверах имен, создается "связанная" А-запись , которая позволяет узнать адрес такого сервера.

Наконец, отправив запрос серверу, обслуживающему зону yandex , сервер провайдера получит адрес искомого домена и сообщит его клиенту. Также он поместит полученный результат в кэш на время, предусмотренное значением TTL в SOA-записи этого домена. На практике, так как рекурсивные запросы весьма затратны, время кэширования записей у провайдеров может игнорировать значения TTL домена и достигать значений от двух-четырех часов до нескольких дней или даже недели.

Теперь рассмотрим еще один момент. Запросы могут быть рекурсивными или нерекурсивными. Рекурсивный запрос предусматривает получение готового ответа, т.е. IP-адреса или сообщения что домен не существует, не делегирован и т.п. Нерекурсивный запрос предусматривает ответ только о той зоне, за которую отвечает данный сервер или возврат ошибки.

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

В нашем случае клиент послал серверу провайдера рекурсивный запрос, который, в свою очередь, последовательно отправлял нерекурсивные запросы пока не нашел требуемый сервер, который дал необходимый ответ. При этом в кэш сервера провайдера помещаются не только результаты пользовательского запроса, но и результаты промежуточных запросов, что позволяет выполнять следующие такие запросы нерекурсивно или с минимальным количеством запросов.

Например, если пользователь после посещения Яндекс Маркета решит воспользоваться почтовым сервисом, то сервер сразу направит запрос к ns1.yandex.ru , так как уже знает, какой сервер содержит записи для зоны yandex .

От теории к практике

Когда вы приобретаете у регистратора домен, вам будет предложено его делегировать, т.е. указать DNS-сервера, на которых будет расположена доменная зона. Это могут быть сервера регистратора (обычно бесплатно), сервера хостера, публичные DNS-сервисы или собственные сервера имен, если он будет расположен в этой же доменной зоне, то вам потребуется также указать IP-адреса. Например, так выглядит окно делегирования домена у одного известного регистратора:

Что именно туда указывать? Это зависит от того, где и как вы будете размещать свой сайт. Если вы используете виртуальный хостинг, то все необходимые записи создаются хостером автоматически, при добавлении в панели управления хостингом вашего сайта, все что вам надо - это делегировать домен на NS-сервера хостера, т.е. указать их в данном окне. Этот способ хорошо подходит начинающим, благодаря своей простоте, но есть и обратная сторона, возможность управления DNS-зоной со стороны пользователя отсутствует или минимальна. Кроме того, на виртуальном хостинге IP-адрес сайта может быть изменен администраторами без уведомления пользователя, поэтому, если вы не хотите использовать NS-сервера хостера, то этот вопрос следует обязательно обсудить с техподдержкой.

Если вы переносите сайт к другому хостеру, то вам потребуется перенести сайт и поменять у регистратора сервера имен старого хостера на сервера нового. Но учтите, что информация в кэше DNS-серверов обновляется не мгновенно, а, как минимум, по истечении значения TTL-домена, поэтому в течении некоторого времени ваш сайт может быть доступен еще по старому адресу. Если вам надо срочно с ним работать, то можете, не дожидаясь обновления DNS-кэша вашего провайдера, добавить в файл hosts запись следующего содержания:

1.2.3.4 example.com

Где 1.2.3.4 и example.com соответственно новый IP-адрес и имя вашего домена.

Если у вас свой VPS или вы хотите полностью контролировать доменную зону, то следует воспользоваться серверами регистратора или публичными сервисами. Создание собственного сервера имен, на наш взгляд, не оправдывающая себя затея, если только вы не делаете собственный хостинг.

В этом случае вам нужно создать, как минимум, две А-записи, которые будут указывать на веб-сервер обслуживающий сайт в данном домене:

@ IN A 1.2.3.4
www IN A 1.2.3.4

Символ "собачки" в DNS-записях обозначает сам домен, кроме того обязательно следует создать запись для поддомена www, чтобы пользователи, набравшие адрес сайта с www, также могли получить к нему доступ.

Мы не будем рассматривать добавление записей для электронной почты, об этом можно прочесть в нашей статье:

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

Прежде всего измените значение TTL в SOA-записи. По-умолчанию оно равно нескольким часам и именно столько вам придется ждать обновления вашей записи в кэше DNS-серверов. Чтобы узнать текущее значение TTL можно выполнить команду, указав нужное доменное имя:

Nslookup -typr=soa сайт

В нашем случае это 4 часа:

Поэтому заранее, не менее 4 часов (старое значение TTL) до планируемого переноса, измените значение TTL на более низкое, например, 900 (15 минут). Затем переведите свой сайт в режим "только чтение" и перенесите его на новый сервер. Выключать или переводить на техобслуживание сайт не следует, он может и должен оставаться доступным. Но вы должны исключить изменение и добавление информации пользователями, т.е. запретить регистрацию, комментирование, размещение заказов и т.п. Также не забудьте разместить на видном месте сообщение о технических работах и примерный срок их завершения.

Для того, чтобы работать с новым сервером, не изменяя DNS-записи, добавьте нужную строку в файл hosts. Разместив сайт на новой площадке и убедившись в его нормальной работе измените DNS-записи, теперь уже через 15 минут первые пользователи начнут посещать ваш сайт на новом сервере. Работоспособность старого сервера требуется поддерживать еще некоторое время, в идеале до недели, так как не все провайдеры используют значение TTL из SOA-записи для обновления кэша, для уменьшения нагрузки на оборудование могут быть использованы собственные настройки.

После успешного переноса значение TTL следует увеличить до прежних значений, чтобы не создавать лишней нагрузки на сервера имен.

Мы рассмотрели самую простую схему, но на практике, кроме сайта, обычно есть еще офисная сеть, многие ресурсы которой должны быть также доступны извне. Рассмотрим следующую схему:

У нас имеются публичные сервера для сайта и электронной почты и офисная сеть, для которой мы выделили поддомен office . Если с почтой и веб-сервером особых вопросов нет, то с офисной зоной есть варианты. Обычно локальная зона обслуживается собственным DNS и никак не связана с материнской зоной. Для глобальной системы DNS зона office.example.com не существует, но существует одноименный хост. Это оправдано, если сеть предприятия находится за NAT и ее узлы имеют только серые адреса, а доступ извне осуществляется только к шлюзу, на который проброшены соответствующие порты от внутренних узлов.

В этом случае DNS записи зоны example.com могут выглядеть следующим образом:

@ IN A 1.2.3.4
www IN A 1.2.3.4
mail IN A 1.2.3.5
office IN A 5.6.7.8

Но возникает некоторая сложность, внутри сети клиенты обращаются к сетевым сервисам по внутренним именам: corp.office.example.com или rdp.office.example.com , которые указывают на внутренние "серые" адреса". Однако за пределами локальной сети разрешить IP-адрес для таких имен не представляется возможным, так как содержащей их зоны для глобальной системы DNS не существует. Выйти из положения позволяет механизм, называемый Split-DNS, который позволяет отдавать различные результаты в зависимости от положения клиента.

В локальной сети DNS-запросы клиентов обслуживает локальный сервер, которые имеет соответствующие записи, за ее пределами запросы будут направлены серверу, обслуживающему зону example.com . При этом все корпоративные ресурсы, которые в локальной сети представлены различными серверами, извне доступны по единственному адресу: office.example.com . Поэтому самое время вспомнить о записи псевдонима или CNAME. Данная запись позволяет связывать с реальным именем хоста дополнительные мнемонические имена или псевдонимы. При этом учтите, что использовать в других записях псевдонимов недопустимо. В нашем случае следует добавить записи:

Corp.office IN CNAME office.example.com.
rdp.office IN CNAME office.example.com.

Теперь клиент, вне зависимости от своего местоположения, может использовать для доступа к ресурсам одно и тоже имя, но результат получать при этом будет разный. В локальной сети он получит реальный адрес сервера и подключится напрямую, а за ее пределами будет направлен на шлюз сети.

Также записи типа CNAME можно использовать для перенаправления за пределы обслуживаемой доменной зоны. Главное условие - CNAME запись должна указывать на реальное имя в формате FQDN.

Еще одно применение псевдонимов - это сокращение адреса. Допустим, в качестве почтового сервера для всего домена example.com мы хотим использовать сервер, который расположен в московском офисе и имеет адрес mail.office.msk.example.com , согласитесь, выглядит не слишком привлекательно. Гораздо удобнее был бы адрес вида mail.example.com , нет ничего проще, добавим следующую запись:

Mail IN CNAME mail.office.msk.example.com.

Но помните, что в остальных ресурсных записях следует использовать только реальные имена, поэтому такая запись будет неверной:

Example.com. IN MX 10 mail

Правильно будет так:

Example.com. IN MX 10 mail.office.msk

Напоследок поговорим о делегировании доменных зон. В примере выше мы рассмотрели ситуацию, когда внутри домена различным подразделениям выделены свои поддомены, так как у каждого подразделения имеется своя инфраструктура, то есть смысл делегировать им управление собственными доменными зонами. Для этого в зоне example.com следует разместить NS и связанную с ней A-запись для каждой зоны. Например:

Msk IN NS ns1.msk.example.com.
msk IN NS ns2.msk.example.com.

ns1.msk IN A 1.2.3.4
ns2.msk IN A 5.6.7.8

Теперь при обращении по адресу, скажем mail.office.msk.example.com сервера имен зоны example.com будут выдавать имя и адрес сервера, обслуживающего зону msk.example.com . Это позволяет администраторам зоны самостоятельно вносить необходимые изменения, не затрагивая при этом функционирования вышестоящей зоны и не обращаясь к ее администраторам по любому вопросу, требующему изменения записей.

Расскажет нам о настройке DNS сервера в Linux. Для начала, поговорим немного о том, для чего это нужно и как работает? DNS (Domain Name System - Система Доменных Имен) очень важна для работы Интернета, так как для соединения с конечным узлом (компьютером) необходима информация о его IP-адресе, а для людей проще запоминать буквенные (обычно осмысленные) адреса, чем последовательность цифр IP-адреса.

Чтобы мы могли использовать такие удобные имена как сайт, а не адрес вида 91.204.74.143, была давным-давно придумана DNS. В некоторых случаях это позволяет использовать виртуальные серверы, например, HTTP-серверы, различая их по имени запроса.

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

С ростом Сети возникла необходимость в эффективном и автоматизированном механизме, которым и стала DNS. Хотя этот файл можно использовать и сейчас, он имеет больший приоритет при получении IP адреса чем DNS, т.е. сначала идет обращение в DNS кэш, потом в файл hosts и в самом конце - на внешний сервер DNS.

DNS обладает следующими характеристиками :

  • Распределённость администрирования. Ответственность за разные части иерархической структуры несут разные люди или организации. Т.е. нельзя так просто взять и отключить целый домен.
  • Распределённость хранения информации. Каждый узел сети в обязательном порядке должен хранить только те данные, которые входят в его зону ответственности и (возможно) адреса корневых DNS-серверов. Сервера отвечают только за свою зону или за ее часть.
  • Кеширование информации. Узел может хранить некоторое количество данных не из своей зоны ответственности для уменьшения нагрузки на сеть.
  • Иерархическая структура, в которой все узлы объединены в дерево, и каждый узел может или самостоятельно определять работу нижестоящих узлов, или делегировать (передавать) их другим узлам.
  • Резервирование. За хранение и обслуживание своих узлов (зон) отвечают обычно несколько серверов, разделённые как физически, так и логически, что обеспечивает сохранность данных и продолжение работы даже в случае сбоя одного из них.


Принцип работы рекурсивного DNS сервера.

Предположим, мы набрали в браузере адрес сайт. Наш клиент спрашивает у первого (указанного в настройках подключения к сети) сервера DNS: «какой IP-адрес у сайт»?

Однако, сервер DNS может ничего не знать не только о запрошенном имени, но даже обо всём домене сайт. В этом случае он может обратиться к другому серверу, ответственному за зону ru или корневому серверу - например, 198.41.0.4 Предположим, что этот узел сообщает - «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 является ответственным за зону ru.» Тогда сервер DNS направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном домене, но я знаю, что 207.142.131..» Наконец, тот же запрос отправляется к третьему DNS-серверу и находится нужный ответ - IP-адрес, который и передаётся клиенту - браузеру.

Структура имен напоминает дерево, где корень (root) это его верх, а зоны - его "ветки". Выглядит это примерно так, как показано на схеме (фото ниже - кликабельно):

Из-за существовавших в прошлом ограничений на размеры DNS-пакета (512 байт) в DNS-ответ могло быть помещено всего 13 серверов (от A до M - тринадцатой буквы в алфавите), сейчас за этими 13 именами стоят более 200 серверов. Ближайший (к пользователю) адрес «зеркала» корневого сервера выбирается автоматически благодаря IP AnyCast.

Так, при обращении к K.root-servers.net, пользователь из Новосибирска, скорее всего, обратится к новосибирскому серверу (в NSK-IX).

Опровержение распространённых заблуждений :

  1. Не весь интернет-трафик проходит через корневой сервер;
  2. Не каждый DNS-запрос обрабатывается корневым узлом;
  3. Корневые зоны обслуживаются не добровольцами в качестве хобби, а профессионалами, и хорошо финансируются;
  4. Ни одна организация (коммерческая или правительственная) не контролирует всю систему.

Также есть несколько типов DNS-записей:

  • Запись A (address record) или запись адреса связывает имя компьютера или сервера с адресом IP. Например, запрос A-записи на имя referrals.icann.org вернет его IP адрес - 192.0.34.164
  • Запись AAAA (IPv6 address record) связывает имя хоста с адресом протокола IPv6. Например, запрос AAAA-записи на имя K.ROOT-SERVERS.NET вернет его IPv6 адрес - 2001:7fd::1
  • Запись CNAME (canonical name record) или каноническая запись имени (псевдоним) используется для перенаправления на другое имя. Например www..ru
  • Запись MX (mail exchange) или почтовый обменник указывает сервер(ы) обмена почтой для данного домена. Их может быть несколько, для каждого можно выставить приоритет, чем ниже цифра, тем он приоритетнее по сравнению с остальными. По умолчанию - 10
  • Запись NS (name server) указывает на DNS-сервера для данного домена.
  • Запись PTR (pointer) или запись указателя связывает IP хоста с его каноническим именем. Запрос в домене in-addr.arpa на IP хоста в reverse форме вернёт имя (FQDN) данного хоста (см. обратный DNS-запрос). Например, (на момент написания), для IP адреса 192.0.34.164: запрос записи PTR 164.34.0.192.in-addr.arpa вернет его каноническое имя referrals.icann.org. В целях уменьшения объёма нежелательной корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR записи для хоста, с которого происходит отправка. В этом случае PTR запись для IP адреса должна соответствовать имени отправляющего почтового сервера, которым он "представляется" в процессе SMTP-сессии.
  • Запись SOA (Start of Authority) или начальная запись зоны указывает, на каком узле хранится эталонная информация о данном домене, содержит контактную информацию лица, ответственного за данную зону, тайминги (параметры времени) кеширования зонной информации и взаимодействия DNS-серверов.
  • SRV-запись (server selection) указывает на серверы для сервисов. Используется, в частности, для Jabber (альтернатива ICQ) и Active Directory (групповое администрирование пользователей)

На этом покончим с теорией и перейдем к практике.

Установка и настройка bind9

Теперь давайте настроим свой DNS сервер для локального домена, например home . Вы можете выбрать любое название, но учтите, что оно не должно пересекаться с настоящими доменами, так как Вы не сможете потом обратиться к настоящим (внешним) сайтам в Интернете. Т.е. создав зону com и в ней запись о сайте vk.com вы не сможете обратиться к настоящему сайту, если конечно не укажете там правильную информацию. Рекомендую использовать выдуманную зону, как например home , office или название организации.

Так как cамым популярным для *NIX систем сервером DNS является Bind , мы тоже будем использовать его. Установим bind на наш сервер, для этого выполним команду apt-get install bind9 также будет установлен пакет bind9utils. Если все прошло хорошо, то сразу после установки он запустится, о чем будет сообщено в терминале.

* Starting domain name service... bind9

Теперь приступим к настройке сервера Bind. Перейдем в его каталог командой cd /etс/bind/ и создадим там файл с именем myzones.conf, для этого выполним команду touch myzones.conf и откроем его nano myzones.conf

Впишем в файл такую строку: zone "home" {type master; file "/etс/bind/db.home";}; эта запись значит, что для нашей зоны home данный сервер будет главным (master), а вcя информация о зоне хранится в файле /etс/bind/db.home который нам нужно будет создать чуть позже.

Сохраняем этот файл и открываем файл named.conf командой nano named.conf в конец файла дописываем include "/etс/bind/myzones.conf"; и тоже сохраняем. Эта надпись подключит при запуске служб bind файлик myszones.conf в котором мы указали наши зоны (домены).

Приступим к созданию файла зоны о котором писалось чуть выше. Для этого выполним команду nano db.home и впишем туда следующее:

Первое что нужно знать при редактировании файла зоны, это то, что при каждом внесении изменении нужно увеличивать значение serial . Общепринято и правильно это делать в таком виде YYYYMMDDRR, где YYYY текущий год, MM месяц, DD день, RR номер правки за текущий день.

Например, сегодня 9 сентября 2013 года. Это будет наша первая правка зоны за день, получаем serail равный 2013090900, так как в программировании счет начинается с ноля, первая правка будет иметь номер 00, вторая 01 и т.д. Хотя это не принципиально в данном случае, главное чтобы цифра была хотя бы на единицу больше предыдущего значения.

Строка @ IN NS ns1.home. гласит, что для текущей зоны сервер DNS имеет имя ns1.home, далее строкой ns1 IN A 127.0.0.1 мы указываем что у хоста ns1 IP-адрес равен 127.0.0.1 (т.е. он находится на этом же компьютере).

Чтобы добавить новую запись об имени хоста, добавим такую строку: server IN A 192.168.0.254 где server это имя хоста (компьютера), а 192.168.0.254 его IP-адрес, т.е. компьютер с этим IP-адресом будет иметь имя server.home. Таких записей может быть сколько угодно. Также можно назначать несколько имен для одного IP. Это бывает необходимо, если нам нужно настроить несколько виртуальных web-серверов. Сохраняем этот файл.

Для того чтобы DNS сервер применил последние наши настройки, его нужно перезапустить. Для этого используется такая команда /etс/init.d/bind9 restart Если конфигурация оказалась без ошибок, мы увидим следующее

* Stopping domain name service... bind9 [ OK ]
* Starting domain name service... bind9 [ OK ]

Если сервер не смог запуститься, проверьте конфигурационные файлы, которые мы редактировали.

Внимание : основная причина ошибок это пропущенные символы вроде точки, двоеточия или точки с запятой. Проверьте синтаксис написания, также заметьте что после все имен, кроме названия хостов, в файле db.home стоят точки, это - важно.

Если все запустилось, проверим правильно ли работает наш сервер? Для этого воспользуемся утилиткой nslookup, она есть в каждой ОС. Для этого выполним на сервере в командной строке команду nslookup

Далее введем команду server 127.0.0.1 это укажет, что мы хотим использовать сервер находящийся по адресу 127.0.0.1, после напишем имя какого-нибудь хоста, который мы указали в нашей зоне, например server.home Вот как должны выглядеть правильные ответы сервера:

roоt@CoоlServ:/etс/bind# nslookup

> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53

> server.home
Server: 127.0.0.1
Address: 127.0.0.1#53
server.home canonical name = home.

Если все совпадает, значит все работает правильно. Теперь можно использовать этот сервер для работы. Если не совпадает, проверьте настройки, возможно служба не запустилась или не удалось найти зону, те она была указана с ошибкой.

Также можно использовать наш DNS на нашем же сервере, для этого нужно указать его IP в файле /etс/resolv.conf. Для этого запустим nano /etс/resolv.conf и впишем в самом начале файла строку nameserver 127.0.0.1 , а в следующей строке - nameserver 8.8.8.8

Первая строчка укажет нашему серверу, что по умолчанию нужно использовать DNS-сервер на локальном хосте, в случае если он перестанет отвечать на запросы, использовать DNS по адресу 8.8.8.8 (это IP публичного DNS от Google). Сохраняем файл и на этом настройка DNS окончена.

Использование ресурсов провайдера/другой сети через свой DNS

Может возникнуть задача использовать ресурсы провайдера или имена из другой «серой» сети, которые невозможно получить через всемирные DNS. Для ее решения нужно подредактировать конфигурацию нашего сервера.

Предположим, нужно получить доступ к зоне lan Интернет провайдера. Для этого в файл myzones.conf допишем такую строку zone "lan" IN { type forward; forward only; forwarders { 10.0.0.1; 10.0.0.2;}; }; где lan название зоны, а 10.0.0.1 и 10.0.0.2 DNS сервера провайдера или другой сети. Теперь при запросе к этой зоне, компьютер будет обращаться к ней напрямую, а не тратить время на поиск того же узла в Интернете.

Настройка альтернативного (slave) DNS

Пришлось мне однажды настраивать slave сервер, чтобы поддержать друга в его начинаниях.

Slave сервера нужны для обеспечения отказоустойчивости зоны. Например, если с главным сервером что-то случится (он «упадет», повреждение Интернет магистрали и другие неприятные вещи) зона будет продолжать работать дальше на резервном, пока главный сервер не начнет нормально функционировать. Для этого на альтернативном сервере нам потребуется написать вот такую строку в файле /etс/bind9/myzones.conf

zone "home." IN { type slave; file "/etс/bind/slave/mirror.home"; masters { 192.168.0.254; }; }; где 192.168.0.254 наш первичный DNS сервер, а /etс/bind/slave/mirror.home файл в котором будет храниться копия DNS зоны основного сервера. Также нужно создать папку командой mkdir /etс/bind/slave/ и передать ее пользователю bind, для этого выполним chown bind:bind /etс/bind/slave/

Здесь меня ждал подводный камень: так как до этого мне не приходилось сталкиваться с такими серверами, я никак не предполагал, что служба не сможет писать временный файл в эту папку даже с полными правами!

На анализ логов и поиск решения ушла добрая часть ночи, было пролистано пол поисковика, пока на каком-то англоязычном форуме я не наткнулся на такое решение. Нужно открыть файл nano /etс/apparmor.d/usr.sbin.named найти строку /etс/bind/zones/** r, и заменить ее на /etс/bind/zones/** rw, т.е. дописать атрибут w чтобы bind получил право на запись в эту директорию. Перезапустить /etс/init.d/apparmor reload и /etс/init.d/bind9 restart и после этого сервер сразу заработал, как нужно!

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

Однако наиболее важный элемент, влияющий на то, насколько эффективно будет работать ваш DNS - настройки этого сервера, которые нужно выполнить предельно грамотно.

Что такое DNS?

DNS - это специализированная определения соответствия между числовым IP-адресом компьютера и его именем. Такая адресация является наиболее удобной с точки зрения машинной обработки всевозможных но при этом - абсолютно неприемлемой для использования человеком. Ведь человеку запомнить наборы огромнейшего количества цифр намного сложнее по сравнению с осмысленными именами.

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

При этом в любом адресе главенствующее место занимает именно индивидуальное доменное имя сервера.

Зачем нужны DNS-серверы?

Таким образом, можно определить основное предназначение, которое имеет настройка DNS-сервера и его дальнейшее использование:

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

Почему важна правильная настройка?

К примеру, в Ubuntu настройка DNS на детальном уровне требует наличия некоторых знаний, а также полного понимания того, что представляют собой те или иные настройки. В данном случае не может идти никакой речи о том, чтобы экспериментировать, занимаясь изменением сервера внутри определенной компании. Ведь если в Ubuntu настройка DNS будет осуществлена хотя бы с одним опрометчивым действием, то вся сеть данной компании будет представлять собой чуть более, чем большое количество проводов, так как ни один сервис не сможет нормально работать.

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

Windows 8

  1. Чтобы настроить сервер в этой операционной системе, вам первоначально нужно будет навести мышку на нижний левый угол экрана, нажать ЛКМ на кнопку «Пуск», после чего открыть через
  2. Теперь переходите в раздел "Сеть и Интернет", далее "Центр управления сетями" и теперь заходим в "Изменение параметров адаптера".
  3. В появившемся меню вам нужно будет из списка выбрать соответствующее сетевое подключение. После того как вы его найдете, нажмите на него ПКМ и выберите пункт "Свойства".
  4. Теперь откроется новое окно, и в частности вкладка "Общие", на которой вам нужно будет выбрать пункт "Использовать адреса DNS".
  5. После того как вы поставите соответствующую галочку, у вас разблокируется возможность вводить различные данные в строчки ниже и теперь вы сможете ввести в поля параметры сервера DNS, настройки которого вас интересуют.

После этого вам нужно будет нажать «Ок» для того, чтобы введенные вами изменения были сохранены. Отдельное внимание стоит уделить тому, что вписывать параметры нужно не в верхние строчки (IP), а именно в нижние, так как в противном случае вы не сможете ввести нужные вам параметры DNS, настройки которого должны быть изменены.

Windows 7

  1. Опять же, как и в случае с предыдущей операционной системой,
  2. В разделе "Сеть и Интернет" выбираем пункт "Просмотр состояния сети и задач".
  3. В строке "Просмотр активных сетей" необходимо будет выбрать пункт, который находится справа от кнопки "Подключения".
  4. В появившемся окне вам нужно будет нажать кнопку "Свойства", "Состояние подключения".
  5. В появившемся списке "Отмеченные компоненты используются данным подключением" вам следует выбрать параметр "Протокол Интернета версии 4 (TCP/IP)" и также нажать кнопку "Свойства".
  6. Теперь откроется новое окно, и в частности вкладка "Сеть", на которой вам нужно будет выбрать пункт "Использовать адреса DNS".
  7. После того как вы поставите соответствующую галочку, у вас разблокируется возможность вводить различные данные в строчки ниже и теперь вы сможете ввести в поля параметры сервера DNS, настройка которого вас интересует.

Нажимаем «Ок», и настройки сохраняются.

Windows XP

  1. Через меню "Пуск" заходим в "Панель управления".
  2. Теперь выбираем и ищем то, которое нам нужно.
  3. Зайдя на вкладку "Общие", в строке с названием "Состояние подключения" необходимо будет выбрать вариант "Свойства".
  4. Теперь нужно снова перейти в раздел "Общие", прокрутить вниз, после чего выбрать раздел "Протокол Интернета (TCP/IP)" и снова выбрать "Свойства".
  5. В разделе "Общие" в нижней части установите галочку возле "Использовать адреса DNS", после чего у вас будет возможность ввести нужные данные.

Нажимайте клавишу «Ок» и закрывайте все окна. Настройки будут сохранены.

Windows Vista

Теперь рассмотрим, как проверить настройки DNS и внести в них изменения в операционной системе Windows Vista:

  1. "Пуск">"Панель управления".
  2. "Центр управления сетями"
  3. В разделе "Сеть" необходимо будет выбрать вариант "Просмотр состояния каждого соединения".
  4. В появившемся перед вами окне нужно нажать на "Свойства".
  5. Как и в предыдущем случае, прокрутите список вниз до того момента, пока у вас не появится возможность выбрать "Протокол Интернета версии 4 (TCP/IP)", после чего нажимайте на "Свойства".
  6. Установите галочку напротив "Использовать адреса DNS", после чего вы сможете вводить различную информацию.

Нажимайте «Ок» и закрывайте все окна, любые настройки будут сохранены.

Linux (Ubuntu)

В Linux настройка DNS осуществляется с помощью сервиса resolvconf, при помощи которого корректировка параметров осуществляется на базе данных, полученных от различных подсистем. Одним из полезных свойств такого нововведения является то, что теперь файл этой системы генерируется полностью автоматически, причем не индивидуально каждой отдельной программой, которой нужно внести различные изменения, а при помощи общего программного интерфейса. Таким образом, любые изменения в данный файл, которые вы будете пытаться вносить собственноручно, в конечном итоге просто будут утеряны.

В связи с этим информация о DNS, предназначенных для статических интерфейсов, должна быть внесена в специализированный файл etc/network/interfaces в раздел параметров search, nameservers, а также domain. При этом данные параметры должны соответствовать тем характеристикам, которые указаны в файле resolv.conf.

Debian

Если вам требуется в Debian настройка DNS, то эта процедура практически не отличается от той, которая предоставляется вам другими дистрибутивами. Вам необходимо будет добавить индивидуальное имя хоста, а также его IP-адрес в отдельный файл etc/hosts для осуществления различных статических запросов. Чтобы ваш компьютер впоследствии постоянно отправлял всевозможные запросы соответствующему серверу, вам достаточно добавить адрес этого ресурса в отдельный файл etc/resolv.cong.

К примеру, если у вас используется компьютер с адресом 192.168.1.1, который должен будет непрерывно отправлять всевозможные запросы на определенный DNS-сервер, то в таком случае в файле resolv.conf должна присутствовать следующая строка: nameserver 192.168.3.2.

Таким образом, вы сможете изменять настройки DNS-серверов в любых операционных системах. Важно устанавливать точные адреса, которые вам предоставляет оператор, так как в противном случае вы просто не сможете получить соединение.

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

Популярные DNS-серверы представлены на нашем сайте в разделе Безопасные DNS-сервисы . Чаще всего настройка DNS помогает эффективнее работать VPN и прокси , обеспечивая более высокий уровень защиты вашей конфиденциальности и анонимности.

Предлагаем вашему вниманию подробные инструкции, как настроить DNS на компьютере с операционными системами Windows 10, 8.1, 8, 7, Vista и XP.

Настройка DNS с помощью DNS Jumper

Запустите утилиту, выберите в списке DNS сервер предпочтительный сервер (например, Google Public DNS) и нажмите кнопку Применить DNS .

Настройка DNS в Windows 10, 8.1, 8

1. Чтобы открыть (также доступен в меню Панель управления > Сеть и Интернет ), нажмите сочетание клавиш Windows + R и в окне «Выполнить» введите следующую команду и нажмите ОК :

Control.exe /name Microsoft.NetworkandSharingCenter

2. В разделе Просмотр основных сведений о сети и настройка подключений , выберите пункт сеть для .

3. В открывшемся окне выберите пункт Свойства .

4. В окне свойств подключения в списке Отмеченные компоненты используются этим подключением выберите пункт IP версии 4 (TCP/IPv4) в Windows 10 или и нажмите кнопку Свойства .

5. В открывшемся окне на вкладке Общие выберите пункт .

6. Введите выбранные вами адреcа DNS, например Google DNS , в поля Предпочитаемый DNS-cepвep и Альтернативный DNS-cepвep (в зависимости от выбранного сервиса поле может оставаться пустым).

7. Поставьте галочку для и нажмите OK , чтобы сохранить изменения.

  • Нажмите правой кнопкой мыши по значку Windows (меню Пуск) и выберите Командная строка (администратор) или Windows PowerShell (администратор)
  • Введите команду ipconfig /flushdns и нажмите клавишу Enter (Ввод)

Настройка DNS в Windows 7

1. Нажмите правой кнопкой мыши на значок интернета в трее, выберите .

2. В разделе Просмотр активных сетей , выберите пункт справа от :

3. На вкладке Общие в окне нажмите кнопку Свойства .

4. На вкладке Сеть окна свойства подключения, прокрутите вниз и выберите , нажмите кнопку Свойства .

5. На вкладке "Общие" окна Свойства, в нижней части, выберите , а затем введите IP-адреса выбранного DNS-сервиса, например, Google DNS .

6. Поставьте галочку для Подтвердить параметры при выходе и нажмите OK , чтобы сохранить изменения.

Обновите DNS-кэш следующим образом :

  • Нажмите меню Пуск > введите cmd в поле "Найти программы и файлы" > нажмите правой кнопкой мыши по найденной ссылке и выберите Запустить от администратора
  • В Командной строке введите команду ipconfig /flushdns и нажмите клавишу Enter (Ввод).
  • Сделайте перезагрузку компьютера.

Настройка DNS в Windows XP

  1. В меню Пуск, откройте Панель управления .
  2. В окне Панель управления> выберите Сетевые подключения , затем выберите текущее подключение.
  3. На вкладке Общие в окне Состояние подключения нажмите кнопку Свойства.
  4. На вкладке "Общие" окна Свойства подключения, прокрутите вниз и выберите Протокол Интернета (TCP/IP) , затем нажмите Свойства .
  5. На вкладке "Общие" окна Свойства Протокол Интернета (TCP/IP), в нижней части, выберите , а затем введите IP-адреса выбранного DNS-сервиса, например Google DNS .
  6. Нажмите кнопку ОК и закройте все окна.

Настройка DNS в Windows Vista

  1. В меню Пуск, откройте Панель управления .
  2. В окне Панель управления выберите .
  3. В разделе Сеть, выберите Просмотр состояния каждого соединения.
  4. На вкладке Общие в окне Состояние подключения нажмите кнопку Свойства.
  5. На вкладке Сеть cвойства подключения, прокрутите вниз и выберите , нажмите кнопку Свойства.
  6. На вкладке "Общие" окна Свойства, в нижней части, выберите , а затем введите IP-адреса выбранного DNS-сервиса, Google DNS .
  7. Нажмите кнопку ОК и закройте все окна.

Чтобы можно было использовать безопасные сервисы DNS необходимо произвести настройку Вашего роутера(маршрутизатора), который раздает интернет по беспроводному каналу Wi-Fi или проводному. При этом, все устройства, которые будут подключены к интернету с помощью роутера, также будут работать с выбранным сервисом DNS. Поэтому необходимо wifi роутер dns правильно настроить, чтобы не было проблем с работой интернета при подключении с помощью роутера.

Что же такое dns? Для современных пользователей интернета более понятна и привычна символьная запись адреса сайта, например test.ru. Такие адреса довольно понятны и просто набрать. Но есть еще технология доменных имен(DNS), с помощью которой эти символьные адреса функционируют. Чтобы использовать адресацию узлов Интернета необходимо использование специальных числовых кодов, то есть ip адресов. В связи с этим и используется для преобразований символьных и числовых адресов система DNS. Обычный ip адрес можно записать при помощи всего четырех чисел, если использовать десятичную систему(194.86.92.93). При помощи системы DNS можно преобразовать запись числового ip адреса в символьный, например 194.86.92.93 = test.ru При такой записи символьному адресу в DNS будет соответствовать текстовая строка, составленная по определенным правилам. Среди этих правил самое большое значение составляет иерархия доменов. Вся система адресов, используемая DNS, сформирована по древовидной структуре. И узлы такой структуры называют доменами.

Рассмотрим методику настройки DNS для роутеров.

Как настроить роутер днс

У пользователей часто возникают проблемы такого плана, что невозможно открыть сайт если компьютер подключен к интернету через роутер. На одном из устройств, которое подключено к роутеру, внезапно могут перестать открываться сайты. При этом на других устройствах, которые также подключены к роутеру, все может работать нормально. В таких случаях необходимо правильно настроить днс на компьютере, к которому подключен роутер.

Сначала необходимо нажать меню компьютера “Пуск” и выбрать там пункт “Панель Управления”.

В открывшемся окне с настройками параметров компьютера Вам нужно найти пункт Сеть и Интернет, и нажать на Просмотр состояния сети.

Просмотр состояния сети

В новом открывшемся окне нужно выбрать пункт для изменения параметров адаптера.

изменение параметров адаптера

В открывшемся окне отобразятся все установленные в системе сетевые карты. Здесь нужно выбрать используемый для связи с роутером сетевой адаптер.

В нашем случае к роутеру подключен адаптер с названием “2Router”. Вам необходимо кликнуть на нем правой кнопкой мышки и выбрать в появившемся списке пункт “Свойства”.

меню Свойства адаптера

В окне с настройками свойств адаптера нужно отметить галочками Протокол интернета 4 (TCP/IPv4) и установить его свойства, нажав соответствующую кнопку.

настройки свойств адаптера

В окне настроек протокола интернета Вам нужно ввести вручную в соответствующие поля используемые адреса DNS. Чтобы эти поля стали активными нужно отметить пункт – Использовать следующие адреса. Здесь можно ввести адреса для предпочитаемого сервера DNS и альтернативного(запасного).

Ввод адресов DNS

Теперь DNS сервер на компьютере, к которому подключается роутер, настроен.

Если необходимо настроить роутер dns в настройках самого роутера, то это не сложно сделать в веб интерфейсе роутера. Чтобы зайти в настройки роутера, в адресной строке используемого Вами браузера необходимо ввести IP адрес роутера. Этот адрес можно узнать из инструкции роутера. В большинстве случаев роутеры для домашних сетей используют адрес 192.168.1.1, но чтобы убедиться, можно точно узнать ip адрес в ОС Windows таким образом.

Вам необходимо выбрать меню Пуск на компьютере и выбрать пункт Выполнить. Здесь нужно ввести с клавиатуры – cmd и нажать OK. Если используется Windows 7, то нужно зайти в пункт Стандартные программы и выбрать пункт Командная строка. В окне командной строки нужно набрать с клавиатуры команду ipconfig и нажать ввод. После этого Вы можете увидеть на экране ip адрес Вашего роутера, он помечен как – основной шлюз.

После ввода адреса роутера откроется окно с авторизацией, в котором Вам нужно ввести логин и пароль к роутеру, которые можно узнать в инструкции роутера. В меню настроек роутера нужно выбрать вкладку с настройками wifi роутер днс. Окно с такими настройками будет выглядеть примерно, как на рисунке ниже. Здесь нужно ввести значения адресов для DNS-сервиса и сохранить внесенные изменения.

Как Настроить DNS Сервер? (видео):

© 2024 mchard.ru -- Ноутбук. Работа с текстом. Монитор. Гаджеты. Компьютер. Skype. Восстановление