Dns search что это
Перейти к содержимому

Dns search что это

  • автор:

Служба доменных имен (DNS)

Каждый компьютер, подключенный к сети, работающей по протоколу TCP/IP (например, к Internet), идентифицируется своим IP-адресом. IP-aдрес представляет собой комбинацию четырех чисел, определяющих конкретную сеть и конкретный хост-компьютер в этой сети. IP-адреса очень трудно запоминать, поэтому для идентификации хост-компьютера вместо его 1Р-адрреса можно пользоваться доменным именем. Доменное имя состоит из двух частей — хост-имени и имени домена. Хост-имя — зто собственно имя компьютера, а домен обозначает сеть, частью которой этот компьютер является. Домены, используемые в США, обычно имеют расширения, обозначающие тип сети. Например, для учебных заведений использую расширение .edu , а для коммерческих организаций — расширение .com . Международные домены обычно имеют расширения, которые обозначают страну в которой они расположены, например .du для Германии и .аu для Австралии. Комбинация хост-имени, имени домена и расширения представляет собой уникальное имя, по которому можно обращаться к компьютеру. Домен, в свою очередь, иногда разбивается на поддомены.
Как вы знаете, компьютер в сети можно идентифицировать только по его IP-адресу, даже если он имеет доменное имя. Обратиться к компьютеру в сети по доменному имени можно, но это предполагает поиск соответствующего IP-адреса в базе данных. Сеть использует для доступа к компьютеру не доменное имя, а IP-адрес. До появления очень больших сетей с протоколами TCP/IP, в частности Internet, каждый компьютер сети мог вести файл, перечнем доменных имен и IP-адресов всех компьютеров, включенных в эту сеть. В случае обращения по доменному имени компьютер искал его в этом файле и находил соответствующий IP-адрес. Так можно поступать и сейча в отношении удаленных систем, соединения с которыми устанавливаются чаще всего.
По мере роста сетей ситуация изменилась. Ведение отдельного списка всех доменных имен и IP-адресов на каждом компьютере стало непрактичным, а в случае с Internet — просто невозможным. Чтобы обеспечивать преобразование доменных адресов в IP-адреса, были разработаны и установлены на особые серверы базы данных, содержащие доменные имена и соответствующие им IP-адреса. Для того чтобы найти IP-адрес доменного имени, на сервер имен посылается соответствующий запрос. Сервер имен ищет IP-адрес и посылает его обратно. В крупной сети может быть нескольк серверов имен, обслуживающих различные части сети. Если какой-либо сервер имен не может найти необходимый IP-адрес, он посылает запрос на другой сервер. Серверы имен могут предоставлять и такую информацию, как наименование предприятия, на котором находится искомый компьютер, его адрес и даже фамилию лица, обслуживающего этот компьютер.
Запросы на серверы имен посылают особые программы, которые называют определителями (resolver). Определитель — это программа, предназначенная для получения адресов с серверов имен. Чтобы пользоваться у себя в системе доменными именами, вам придется конфигурировать собственный определитель. Конфигурация локального определителя задается файлами /etc/host.conf и /etc/resolv.conf .

файл host.conf

В файле host.conf содержатся опции программы-определителя (см. следующую таблицу). Каждая опция может иметь несколько полей, отделенных друг от друга пробелами или знаками табуляции. Для ввода комментария в начале строки нужно ставить знак # . Опции указывают определителю, каким сервисом пользоваться. Важное значение имеет порядок следования опций. Определитель начинает обработку с первой из указанных опций и переходит по очереди к следующим. Файл host.conf находится в каталоге /etc вместе с другими файлами конфигурации.

order

Задает последовательность методов преобразования имен
hosts Проверяется наличие имени в локальном файле /etc/host
bind Запрашивается адрес у сервера имен DNS
nis Для получения адреса используется база данных центра сетевой информации (NIS)
alert Проверяет наличие в локальной системе адресов удаленных узлов, пытающихся получить к ней доступ; устанавливается и отменяется ключевыми словами on и off nospoofПодтверждает правильность адресов удаленных узлов, пытающихся получить доступ к локальной системе trimУдаляет имя домена из полного имени и проверяет наличие только хост-имени. Позволяет использовать вместо IP-адреса не полное имя хост.домен.расширение , а просто хост-имя, указанное в файле hosts . multiПозволяет хост-машине иметь несколько IP-адресов в локальном файле hosts . Включается и выключается ключевыми словами on и off

В следующем примере, где представлен файл host.conf , опция order дает программе-определителю указание искать имена в локальном файле /etc/ hosts , а в случае неудачи направлять запрос на сервер имен. Не допускается использование нескольких адресов системы.

/etc/host.conf # host.conf file # Lookup names in host file and then check DNS order bind host # There are no multiple addresses multi off

Файл /etc/resolv.conf

Для того чтобы программа-определитель могла выполнять свою задачу ей должен быть предоставлен доступ к серверам доменных имен. В фале resolv.conf содержатся адреса серверов имен, к которым имеет доступ данная система. В этом файле можно создавать три типа записей, каждая из которых предваряется одним из трех ключевых слов: domain, nameserver, search . В записи domain вводится доменное имя локальной системы. В записи search приводится список доменов на тот случай, если задается только хост-имя. Если к какой-либо системе пользователь обращается часто, он может ввести имя ее домена в запись search, а затем использовать в качестве адреса только хост-имя. Определитель попытается найти полное доменное имя по имени домена, указанному в записи search.
После записей search идут записи nameserver, если таковые имеются. Для каждого сервера имен, к которому имеет доступ данная система, вводиься ключевое слово nameserver и IP-адрес. Таких серверов может быть несколько, и порядок их следования в списке очень важен. Во многих сетях имеется основной сервер имен и несколько вспомогательных. Основной сервер должен запрашиваться первым. Для этого его IP-адрес должен быть введен в первую запись nameserver.
Ниже приведен пример файла resolv.conf . Домен хост- компьютера berkeley.edu . IP-адреса серверов имен этого домена указаны в записях name server. Запись search позволяет использовать в качестве адреса только xoct-имя для компьютеров в домене unc.edu . Например, чтобы обратиться системе sunsite.unc.edu , пользователь должен ввести в качестве адреса толькй хост-имя, sunsite .

/etc/resolv.conf # resolv.conf file domain berkeley.edu search unc.edu nameserver 204.199.87.2 nameserver 204.199.77.2

Организация собственного сервера имен: демон named

Если, будучи администратором сети, вы решили организовать в ней сервер имен, то можно конфигурировать на работу в качестве такого сервера любую Linux-систему. Для этого необходимо запустить демон named . Этот демон запускается одновременно с системой и ожидает запросов о доменных именах. Демон named пользуется несколькими файлами конфигураци которые позволяют ему отвечать на запросы. В файле named.boot указывается домен, который обслуживает данный сервер, и имя каталога, предназначенного для его рабочих файлов. В файле named.hosts хранится информация об этом домене. Она состоит из Записей, содержащих сведения о хост-компьютерах, находящихся в данном домене. В этих записях используется весьма специфический формат, с кодами в соответствующих полях. Файл named.rev содержит данные о соответствии между IP-адресами и хост-именами. Файл named.ca организует кэширование для сервера имен. Процесс организации собственного сервера имен может быть довольно сложным. Следует обратиться к документам HOW TO, странице диалогового руководства по программе named и литературе по администрированию сети, включающей в свой состав Linux-системы.

dns search несколько доменов

Есть ли совсем простая возможность без поднятия локального bind (и настройки правильного форвардинга), указать к какому dns серверу идти в зависимости от суфикса?

Например сервер(debian) видит три сети (подключаются через ovpn как клиенты): firma1.local,firma2.local и firma3.local

Например делаем ping hx.firma2.local, резов должен идти на dns домена firma2.local

zooooo ★
28.07.15 22:34:15 MSK

Самый костыльный, но самый простой вариант — пропись /etc/hosts, но будет работать только на локальной машине. Именно туда при резолве система смотрит в первую очередь, а потом уже по параметрам /etc/resolv.conf обращается к остальным dns.

nickleiten ★★★
( 29.07.15 00:29:11 MSK )
Последнее исправление: nickleiten 29.07.15 00:29:51 MSK (всего исправлений: 1)

Ответ на: комментарий от nickleiten 29.07.15 00:29:11 MSK

Это понятно, лениво пусть и 10-20 записей в hosts сапортить, bind милее.

zooooo ★
( 29.07.15 22:21:26 MSK ) автор топика
Ответ на: комментарий от zooooo 29.07.15 22:21:26 MSK

Так подними bind, там ничего сложного в конфигурации.

Что такое NSLOOKUP и как ей пользоваться

В этой статье мы расскажем, что такое DNS Lookup и как узнать, какие DNS-записи прописаны для домена с помощью утилиты NSLOOKUP.

Что такое NSLOOKUP

DNS ― это центральный элемент интернет-системы. DNS соединяет IP-адрес с доменным именем, которое ему соответствует. Благодаря этой системе, нам не нужно запоминать набор цифр (например 123.123.123.123), чтобы перейти на сайт. Достаточно ввести домен в поисковую строку и браузер автоматически преобразует его в IP-адрес. Чтобы найти сайт, браузер обращается к DNS-системе. Процесс поиска нужного IP называется DNS lookup (DNS-поиск). Браузер делает его при загрузке каждого сайта.

Однако посмотреть DNS может не только браузер. Любой пользователь может получить информацию о записях через сервис Whois или через NSLOOKUP. NSLOOKUP — это утилита, которая позволяет через командную строку узнать содержимое DNS. Утилита поможет:

  • узнать IP-адрес,
  • узнать A, NS, SOA, MX-записи для домена.

Как использовать утилиту NSLOOKUP

В Windows и macOS утилита встроена, поэтому можно сразу переходить в терминал и начинать с ней работать. Для Linux-систем иногда нужна её установка.

Для установки утилиты в CentOS и Ubuntu в терминале введите:

yum install nslookup

Для установки утилиты в Debian введите:

apt-get install nslookup

Теперь можно переходить к работе с утилитой. Если вы хотите сделать несколько запросов NSLOOKUP, можно включить утилиту в интерактивном режиме. Тогда вам не придется каждый раз писать nslookup в командах. Для этого введите:

nslookup

Чтобы выйти из интерактивного режима, введите exit .

Как узнать A-запись домена

С помощью А-записи домен прикрепляется к IP-адресу. Таким образом, А-запись позволяет найти IP.

nslookup site.ru

Где site.ru ― доменное имя, А-запись которого вы хотите узнать.

Вы увидите следующую информацию:

Как использовать NSLOOKUP 1

NSLOOKUP: указать DNS-сервер

Как узнать MX-запись

При создании электронной почты в ресурсных записях прописывают MX-записи .

Для определения MX-записей введите команду:

nslookup –type=MX site.ru

Где site.ru ― нужный домен.

Перед вами появится вывод:

Как использовать NSLOOKUP 2

DNS MX lookup

Как определить NS-записи домена

Утилита NSLOOKUP позволяет определить, какие NS-серверы использует сайт.

Для этого введите команду:

nslookup –type=ns site.ru

Где site.ru ― нужное доменное имя.

Перед вами появится список NS:

Как использовать NSLOOKUP 3

Как определить SOA-запись

SOA-запись (Start of Authority) — начальная запись зоны, которая указывает местоположение эталонной записи о домене. Она содержит в себе контактную информацию лица, ответственного за зону, время кэширования информации на серверах и данные о взаимодействии DNS.

Для определения SOA-записи введите команду:

nslookup –type=SOA site.ru

Где site.ru ― нужный домен.

Как использовать NSLOOKUP 4

Как изменить интервал ожидания

Когда интернет слабый, для ответа сервера нужно больше времени, чем обычно. Если ответ не приходит в течение 5 секунд, запрос либо повторяется, либо появляется ошибка. Чтобы ответ от сервера успел дойти, нужно увеличить время ожидания. Для этого введите команду:

nslookup –timeout=10 site.ru
  • 10 ― это количество секунд, за которое должен прийти ответ,
  • site.ru ― нужное доменное имя.

Что значит authoritative и non-authoritative

В ответе на любую команду утилита показывает, с какого сервера была получена информация. Ответ приходит от серверов двух типов:

  • authoritative,
  • non-authoritative.

Authoritative answer (авторитетный ответ) – это ответ, который получен от основного (официального) сервера. Non-authoritative answer (неавторитетный ответ) – это ответ от промежуточного сервера. Например, на скриншотах из нашей статьи можно увидеть, что ответ приходил от non-authoritative сервера:

Как использовать NSLOOKUP 5

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

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

Помогла ли вам статья?

Спасибо за оценку. Рады помочь ��

Domain search и Network Manager

Для того, чтобы Network Manager стал использовать зону example.com для поиска, надо сделать следующее
sudo apt-get install resolvconf
Добавить строку search example.com в файл /etc/resolvconf/resolv.conf.d/base
Перепустить сетевые соединения

А теперь немного слов, для чего этот рецепт предназначен.

Domain search — это такая директива настройки сети, которая указывает возможный суффикс для DNS адресов, если не удалось найти адрес в том виде, в котором он был указан. В linux системах за это отвечает директива search в файле /etc/resolv.conf.

Я очень привык пользоваться разными плюшками Network Manager, но меня раздражало, что в нём нет возможности указать свой domain search и при этом не отказаться от всех примочек DHCP, которыми я тоже активно пользуюсь.

Директива очень удобна для системных администраторов и разработчиков. Предположим, что в компании много машин. Все машины находятся в общей зоне example.com. Для того, чтобы обратиться к машине по имени, приходится каждый раз писать что-то вроде ssh oval.example.com. В результате в день приходится упоминать example.com десятки раз и это начинает мешать. Если добавить строку search example.com в файл /etc/resolv.conf, все эти строки можно будет сократить до ssh oval.

На своей настольной машине я использую Ubuntu, потому ручное редактирование /etc/resolv.conf не приводит к положительным результатам, ибо Network Manager туда упорно регулярно записывает свою конфигурацию. Значит надо научить Network Manager работать с нужной мне зоной. Рецепт дан в самом начале.

Добавить комментарий

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