У меня есть сервер с Active Directory и DNS на Windows Server 2012 со следующим поддоменом:
ac: alm.local <--- 10.0.0.3
DNS-хосты:
javi.a.alm.local <---- 10.0.0.20
когда я решаю в Windows:
nslookup javi.a
server: localhost
address: 127.0.0.1
name: javi.a.alm.local
address: 10.0.0.20
но когда я получаю результат в Debian:
nslookup javi.a
Server: 10.0.0.3
Address: 10.0.0.3 # 53
** server can't find javi.a: NXDOMAIN
почему это не решает?
resolv.conf:
nameserver 10.0.0.3
search alm.local
решение1
По умолчанию Linux resolver не применит search
домен к запрашиваемому имени, которое уже содержит точку. Поэтому javi.a
оно будет рассматриваться как полное доменное имя и не будет иметь домена, alm.local
добавленного к нему.
Вы можете изменить это поведение с помощью ndots
option
. Это говорит о минимальном количестве точек, которое может быть в имени, чтобы оно рассматривалось как полное доменное имя. По умолчанию это 1
.
resolv.conf(5)
Перед тем как сделать это, вам следует также учесть предупреждения на странице руководства .
Запросы к решателю, имеющие менееndots точки (по умолчанию 1) в них будут попытаны использовать каждый компонент пути поиска по очереди, пока не будет найдено совпадение. Для сред с несколькими поддоменами, пожалуйста, прочтитепараметры ndots:нниже, чтобы избежать атак типа «человек посередине» и ненужного трафика для root-dns-servers. Обратите внимание, что этот процесс может быть медленным и будет генерировать много сетевого трафика, если серверы для перечисленных доменов не являются локальными, и что запросы будут истекать по тайм-ауту, если ни один сервер не будет доступен для одного из доменов.
И документация для options ndots
:
Устанавливает пороговое значение для количества точек, которые должны присутствовать в имени, присвоенномres_query(3) (см.решатель(3)) перед тем, как будет сделан начальный абсолютный запрос. Значение по умолчанию для n равно 1, что означает, что если в имени есть точки, имя будет сначала опробовано как абсолютное имя, прежде чем к нему будут добавлены какие-либо элементы списка поиска. Значение для этого параметра молча ограничено до 15.
(Обратите внимание, что это подразумевает, что имя будет опробовано в поисковых доменах после того, как будет опробовано в качестве полного доменного имени, но на практике этого не происходит. Оно вообще не опробуется в поисковых доменах. Вот почему вы разместили здесь сегодня сообщение.)
Итак, в resolv.conf вы можете добавить:
options ndots:2
И имя с одной точкой теперь будет иметь добавленный домен поиска, но имена с двумя или более точками не будут. Как говорится на странице руководства, вы можете установить это значение до 15, если необходимо.