Как настроить днс сервер на ноутбуке. Видео: что делать, если DNS не отвечает, и как исправить другие неполадки

Инструкция

Если вы хотите узнать DNS-сервер вашего провайдера, запустите командную строку при помощи утилиты «Выполнить» в меню «Пуск» операционной системы Windows XP или в поисковой строке Windows Vista или Seven. Впишите в нее cmd и нажмите на клавишу Enter, после чего у вас на экране должно отобразиться небольшое окно черного цвета.

Использую латинскую раскладку клавиатуры, введите ipconfig/all. У вас должна отобразиться наиболее полная информация об используемом провайдере, включая его DNS-сервер . Обратите внимание, что на момент выполнения данного действия необходимо, чтобы подключение по локальной сети и интернет-соединение должны быть включены.

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

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

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

Видео по теме

Полезный совет

Учитесь пользоваться командной строкой.

Источники:

  • как узнать у меня xp или нет

Найти сервер в сети можно двумя способами: при помощи встроенной в систему утилиты ipconfig, отображающей основные параметры сети , а также вручную. Выберите наиболее подходящий способ для вас.

Инструкция

Запустите встроенную утилиту ipconfig. Для этого откройте главное меню вашей операционной системы и выберите пункт «Выполнить». В поле «Открыть» укажите значение cmd и подтвердите кнопкой «OK» запуск инструмента «Командная строка». Введите значение ipconfig /all в строку интерпретатора команд и команду нажатием клавиши Enter.

Воспользуйтесь следующим синтаксисом команды, чтобы определить необходимые параметры:- /all - отобразить все параметры конфигурации TCP/IP;- /release - отключить протокол TCP/IP;- /renew - обновить значения конфигурации;- /dispalydns - отобразить кэш DNS;- /flushdns - удалить кэш DNS;- /showclassid - выести класс DHCP;- /setclassid - установить класс DHCP.- /registerdns - зарегистрировать имена DNS и адреса IP в ручном режиме.

Вернитесь в меню «Пуск» и попытайтесь выполнить определение сервер а в ручном режиме, если Для этого откройте папку «Все программы». Выберите «Стандартные» и запустите «Проводник». Найдите файл под названием l2ini (или же l2a.ini и l2ex.ini), который расположен в папке system и откройте его «Блокнот».

Пропишите строку, которая содержит IP-адрес сервер а со значением ServerAddr= или воспользуйтесь бесплатным приложением l2encdec.exe, доступным для скачивания в интернете и позволяющим выполнить операцию дешифрования нужного файла. Введите в строке «Объект» значение -s l2.ini и подтвердите выбранные изменений нажатием кнопки OK. Откройте отредактированный ярлык и в строке ServerAddr= определите адрес необходимого сервер а.

Попробуйте найти в сети игровой сервер , если у вас возникла подобная необходимость. Например, для поиска сервер ов Counter-Strike 1.6 воспользуйтесь специальным игровым , скачав и запустив файл MasterServers.vdf. Подобную операцию можно проделать и с другими сетевыми .

Видео по теме

Довольно часто у пользователей интернета возникают сложности с доступом к сети по причине того, что у интернет-провайдера временно выходит из строя DNS-сервер. То есть физически интернет-канал стабильный, но нет доступа к ресурсам из-за неработоспособности сервера. В таких ситуациях может помочь локально настроенный DNS-сервер. Проблема состоит только в том, что в большинстве пользовательских операционных систем Microsoft (Windows 2000/XP/Vista) встроенного DNS-сервера нет, поэтому придется пользоваться сторонними разработками.

Вам понадобится

  • - компьютер подключенный к сети интернет;
  • - дистрибутив DNS-сервера unbound.

Инструкция

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

Скачайте unbound-DNS с сайта http://unbound.net/. Инсталлятор этого DNS-сервер а будет находиться в разделе «Downloads». Необходимо выбрать тот инсталлятор, который разработан для 32 битных операционных систем Windows (даже, если у вас установлена шестидесяти четырех разрядная операционная система от Microsoft, скорее всего данное приложение запустится в режиме совместимости).

Запустите инсталлятор unbound (unbound _setup_X.X.X. , где X – цифровые обозначения скачанной вами версии, на сайте разработчика, как правило, можно найти наиболее свежую на текущий момент версию), в диалоговом режиме следуйте согласно рекомендациям исталлятора (где потребуется, нажмите “Next”, где попросит – прочтите лицензионное соглашение и сделайте отметку о том, что ознакомились с ним). В конце инсталляции вам потребуется просто подтвердить ее окончание нажатием кнопки “Finish”. На этом установка DNS-сервер а завершена. Включать его вам не понадобится – он автоматически стартует после завершения процесса инсталляции. После перезагрузки он тоже будет автоматически запускаться, если вы принудительно не отключите его.

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

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

Обратите внимание

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

Полезный совет

Узнать шлюз вашего интерне-провайдера можно выполнив команду ipconfig /all в командной строчке

Источники:

  • Запуск DNS-сервера под Windows

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

Инструкция

Скачайте программу BIND с официального сайта разработчика. После завершения загрузки распакуйте полученный архив и запустите файл BINDInstall.exe. В качестве параметра Targert Directory для удобства укажите путь C:BIND, в поле Service Account Name введите имя пользователя, а в Service Account Password – пароль. Данные пункты заполняются в целях безопасности. Нажмите кнопку Install и дождитесь окончания инсталляции.

Создайте конфигурационный файл named.conf в директории C:BINDetc и введите параметры настройки сервер а. Также вы можете найти готовый файл в интернете.

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

На компьютерах с установленной Windows Server создать DNS можно через панель управления. Выберите «Пуск» - «Панель управления» - «Администрирование» - «Управление сервер ом».

В левой части окна раскройте вкладку «Управление сервер ом» (Server Manager) и выберите объект «Роли». В правой части панели кликните «Добавить роль» (Add Roles).

В появившемся Мастере ролей выберите «DNS Сервер». Далее следуйте инструкциям мастера. Нажмите «Установить» и дождитесь появления уведомления об успешной инсталляции.

Для введения параметров сервер а перейдите в консоль управления («Пуск» - «Все программы» - «Администрирование» - DNS). Чтобы открыть мастер настройки выберите имя вашего компьютера и нажмите пункт меню «Действия» - «Конфигурация». Следуя указаниям на экране, введите нужные настройки. По завершении процедуры Нажмите клавишу «Готово».

Полезный совет

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

Источники:

  • BIND

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

Инструкция

Включите компьютер и зайдите в операционную систему в качестве администратора. Вызовите главное меню, нажав кнопку «Пуск» в левой нижней части экрана. Откройте раздел «Выполнить» и укажите “ping” добавив доменное имя вашего DNS-сервера , которое должно советовать данным, которые указаны в ADSL- , или на сайте DNS-провайдера. Нажмите кнопку «Ок» и ознакомьтесь с результатом. В итоге появится командная строка, в которой будет указан IP-адрес вашего сервера .

Определите IP-адрес игрового DNS-сервера . Для этого необходимо запустить игру и установить соединение. После этого сверните ее окно без завершения работы. Зайдите в меню «Пуск» и выберите раздел «Выполнить». Укажите в поле «Открыть» cmd и нажмите «Ок» или Enter.

На современном рынке обеспечения надежности и безопасности интернет-соединения все чаще и чаще начинают появляться самые разнообразные службы, и в частности, здесь особое место уделяется серверам 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-сервер существует в серверной версии Windows, но благодаря стараниям маркетологов Microsoft его нет в десктоп-редакции (Windows 2000/XP/Vista), поэтому, как это часто бывает, обратимся к щедрому миру Unix. Самые известные DNS-сервера - это BIND , djbdns , PowerDNS , MaraDNS и Unbound . BIND рассматривать нет желания, djbdns в силу своих особенностей жестко привязан к Unix, у PowerDNS Windows-версия не обновляется, поэтому остаются MaraDNS и Unbound. Вы можете попробовать или один или другой, однако, следует помнить, что одновременно они работать не будут.

Руководство будет в стиле краткого HowTo для подготовленного пользователя (скорее, системного администратора), поэтому, если ничего не понятно - позовите знакомого «компутерщика».

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

Unbound

Заходим на сайт http://unbound.net/ в раздел Downloads , находим строки:

Windows 32-bit version compiled from the source.
Installer:

По ссылке (на момент написания статьи - unbound_setup_1.3.0) скачиваем дистрибутив. Запускаем файл, нажимаем «Next», читаем лицензионное соглашение, если согласны нажимаем «I Agree», убираем галочку с «DLV - dlv.isc.org» (проверять DNSSEC-сигнатуры нам не нужно), нажимаем «Next», «Next», «Install», «Finish». Сервис автоматически устанавливается и стартует. Все что нужно для работы (включая README.txt) находится в C:\Program Files\Unbound.

MaraDNS

Запуск MaraDNS под Windows, как оказалось, довольно нетрививальное занятие, поэтому, если очень хочется - можете попробовать сами.

Настройка Windows

Итак, DNS-сервер мы установили и запустили, необходимо теперь настроить Windows.

В свойствах соединения с интернетом («Пуск», «Настройка», «Сетевые подключения», нужное соединение, контекстное меню, «Свойства») на вкладке «Общие» открываем «Протокол интернета TCP/IP», если стоит настройка «Получить адрес DNS-сервера автоматически» необходимо сменить её на «Использовать следующие адреса DNS-серверов» и прописать адрес 127.0.0.1. В случае если у вас активирован параметр «Использовать следующие адреса DNS-серверов» и указаны адреса DNS-серверов провайдера, удалить или оба или один из них (предварительно записав на бумажку) и прописать тот же 127.0.0.1. Указывать один и тот же адрес (127.0.0.1) два раза нет необходимости. Нажимаем «OK», «OK», ждем пока все сохранится и пробуем открыть какой-нибудь сайт. Другой метод проверки - для настоящих админов. Заходим в консоль, запускаем nslookup, далее выполняем:

> server 127.0.0.1 Default Server: localhost Address: 127.0.0.1 > www.mail.ru Server: localhost Address: 127.0.0.1 Non-authoritative answer: Name: www.mail.ru Addresses: 194.67.57.26, 194.67.57.126, 194.67.57.226, 194.67.57.20 > exit

В данном случае у нас успешно разрешилась запись (A-типа) для www.mail.ru.

Если не получается, проверяем что у вас подключен интернет, сделав ping на шлюз провайдера (узнать можно через ipconfig /all). Если подключен, смотрим в Диспетчере задач, чтобы был запущен процесс DNS-сервера. Если не запущен, смотрим оснастку «Службы» (в консоли запустить services.msc): пробуем запустить сервис и проверяем, чтобы стоял автоматический запуск. Если не помогает - либо читаем документацию (DNS-сервера), включаем лог и проверяем свой firewall и конфигурационный файл DNS-сервера (хотя, он должен быть по умолчанию уже настроен), либо зовем кого-то более квалифицированного, либо удаляем программу, возвращаем настройки назад, и [грустим | идем гулять | пить пиво | ...].

Однако, теоретически ничего сложного в описанном процессе нет, поэтому должно заработать (как у автора).

Примечания:

  • Обычно все сервера идут со сравнительно безопасными настройками по-умолчанию, но нелишним будет проверить, что ваш DNS-сервер слушает 53 порты TCP и UDP на 127.0.0.1, а не на 0.0.0.0 (все локальные адреса). Сделать это можно с помощью TCPView . В «Options» активируйте параметр «Show Unconnected Endpoints» и деактивируйте «Resolve Adresses». Найдите процесс DNS-сервера, для него должно быть две записи: TCP с Local Adress 127.0.0.1:53 и State LISTENING и UDP с тем же адресом и пустым полем State.
  • Автор не пользуется DNS-серверами под Windows, и соответственно материалом этой статьи на практике, поэтому просьба не писать писем в стиле «у меня не работает, что делать?».
  • Для написания статьи автор использовал Windows XP, если у вас другая версия Windows - адаптируйте пути и команды под свою версию ОС.
  • Если вы пытаетесь сделать это на компьютере в организации, то лучшим решением будет попросить вашего сисадмина настроить офисный шлюз в Интернет под GNU Linux/*BSD с настоящим (под Unix) DNS-сервером, а если он этого не может - найти такого человека.
  • Статья предельно упрощена, поэтому если вы нашли ошибку, неточность или неясный момент - пишите, если вам кажется, что материал раскрыт недостаточно широко (например, не описано в чем разница между рекурсивными и авторитетным/полномочным/authoritative DNS-сервером) - писать не стоит, в Интернете достаточно руководств по устройству DNS (включая документацию на сайтах программ).
  • Windows - не лучшая платформа для работы DNS-сервера (как минимум - портированного из Unix) поэтому все это может работать не идеально (в первую очередь, в плане скорости).
  • В обычном случае общения «десктоп - DNS-сервер провайдера» для разрешения имени в подавляющем большинстве случаев отсылается один запрос и получается один ответ. В нашем случае запросов и ответов будет в несколько раз больше, т. к. мы берем функции провайдерского DNS-сервера на себя. На общем трафике это скажется незначительно, поскольку DNS-запросы и ответы очень маленькие, но может сказаться на скорости начала открытия сайтов. Но, поскольку запросы кэшируются, заметно это будет, скорее всего, только в первые минуты работе в Интернете.

Вот и все, спасибо за внимание.

Расскажет нам о настройке 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 и после этого сервер сразу заработал, как нужно!

Статьи по теме: