Nslookup разрешает поисковый домен, а ping - нет (14.10)

В моей компании многие из наших конфигурационных скриптов и т. Д. Используют только имя сервера. Например, http://server скорее, чем http://server.company.com, Я настроил поисковый домен в инструменте сетевых подключений GUI. Я также настроил это в /etc/resolvconf/resolv.conf.d/head, но это не работает правильно.

Странно то, что некоторые инструменты, такие как nslookup или host, разрешают корректный IP, но другие инструменты, такие как ssh, ping, git и веб-браузеры, этого не делают. Я могу подключиться, если я использую полное доменное имя. Что может помешать правильному разрешению поискового домена?

Ниже найдите соответствующий вывод некоторых команд.

Nslookup:

$ nslookup server
Server:     192.168.200.53
Address:    192.168.200.53#53

server.company.com  canonical name = server001.company.com.
Name:   server001.company.com
Address: 192.168.200.103

Ведущий:

$ host server
server.company.com is an alias for server001.company.com.
server001.company.com has address 192.168.200.103

Пинг:

$ ping server
ping: unknown host server

$ ping server.company.com
PING server001.company.com (192.168.200.103) 56(84) bytes of data.
64 bytes from server001.company.com (192.168.200.103): icmp_seq=1 ttl=64 time=4.61 ms

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

Дайте мне знать, если вам нужно больше конфигурационных файлов или информации.

В /etc/hosts нет информации, касающейся сервера, к которому я пытаюсь подключиться.

Вот /etc/resolv.conf, сгенерированный resolvconf.

# Add Company Nameservers and Domain
nameserver 192.168.200.53
nameserver 192.168.200.65
search company.com
nameserver 127.0.1.1
search company.com
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search hsd1.co.comcast.net

И /etc/network/interfaces:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

3 ответа

Ваш файл resolv.conf - беспорядок. Должно быть не более одного search строка в файле, например. Похоже, что-то отличное от resolvconf пишет в файл. Resolvconf всегда записывает файл resolv.conf в следующем формате:

head
base + dynamic content
tail

где head, base а также tail это файлы в /etc/resolvconf/resolv.conf.d/. Файл head обычно просто содержит комментарий # Dynamic resolv.conf(5) file... OVERWRITTEN, Вы говорите, что добавили search строка файла, но ваш файл resolv.conf содержит другие элементы над вышеупомянутым комментарием.

Я предполагаю, что /etc/resolv.conf больше не является символической ссылкой на /run/resolvconf/resolv.conf и / или что вы используете какое-то стороннее программное обеспечение для настройки сети, которое отображается в /etc/resolv.conf в Кстати, это не совместимо с Ubuntu.

Решение: прекратите использование этого программного обеспечения или исправьте его, а затем запустите sudo dpkg-reconfigure resolvconf восстановить символическую ссылку в /etc/resolv.conf.

Я уверен, что ping, ssh и, возможно, другие используют файл /etc/host. Возможно, вы захотите попытаться определить там и имена серверов. 192.168.1.100 server Затем либо создайте исходный файл, либо выйдите из системы и войдите снова. На этот раз, когда вы пингуете сервер или ssh user @ server Это должно работать. Что касается веб-сервера, вам нужно будет добавить запись A в IP-адрес вашего DNS-сервера. Затем вы сможете получить доступ через http://server/.

редактировать

Является ли какая-либо часть этой настройки с использованием Samba или Wins Server, или я что-то совершенно неправильно понял.

Пытаться

echo "        dns-search company.com" >> /etc/network/interfaces

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

Другие вопросы по тегам