Невозможно разрешить имена хостов по локальной сети

Невозможно разрешить имена хостов по локальной сети

Иногда наша локальная сеть перестает разрешать имена хостов. Мы понятия не имеем, почему это происходит. Как мы можем диагностировать эти проблемы?

У нас есть два маршрутизатора. Один подключен к Интернету (через оптоволоконный модем). Другой настроен как беспроводной коммутатор. То есть он обслуживает Интернет через первый маршрутизатор, но находится в другой комнате и используется для Ethernet-подключений к компьютерам в этой комнате.

Проблема, похоже, связана с первым маршрутизатором (или чем-то еще). Я сомневаюсь, что это маршрутизатор-коммутатор или какая-то проблема с конфигурацией по всей сети. Это происходит потому, что мы обычно печатаем, http://homeчтобы попасть в конфигурацию маршрутизатора для подключенного к Интернету маршрутизатора, но это не работает. Однако мы можем ввести IP-адрес и попасть на страницу конфигурации. Это происходит независимо от того, подключены ли мы к исходному маршрутизатору или маршрутизатору-коммутатору.

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

Аналогично пинг IP-адресов в сети работает, а вот имён хостов — нет.

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

решение1

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


ПРОПУСТИТЕ ЭТОТ РАЗДЕЛ, ЕСЛИ ВАШ МАРШРУТИЗАТОР СООБЩИЛ ВАМ, ЧТО DNS АКТИВЕН:

Используйте такой инструмент, какнмап. Вы можете быстро загрузить его для своего сервера Linux, поскольку он включен в большинство репозиториев пакетов по умолчанию для ваших стандартных дистрибутивов Linux (Debian, Ubuntu, CentOS, Mint, Fedora, Redhat и т. д.). В зависимости от того, используете ли вы дистрибутив на основе Debian или RPM, синтаксис вашей команды может отличаться.

  • Для Дебиан:

    • Искать nmap:sudo apt-cache search nmap
    • Установить nmap:sudo apt-get install nmap
  • Для RPM-пакетов (Fedora, Centos, RedHat и аналогичные):

    • dnf search nmap
    • dnf install nmap
  • (в более старых версиях раньше dnf:)

    • yum search nmap
    • yum install nmap

Сканирование DNS

Предположим, что IP-адрес вашего маршрутизатора — 192.168.1.1, и вам нужно выполнить сканирование UDP-сервиса ( -sU) на порту 53 ( -p53) с агрессивным разрешением ( -A), чтобы выяснить, активен ли он и работает ли:

nmap -sU -p53 -A 192.168.1.1

При условии, что услуга вернетсяОТКРЫТО|НЕФИЛЬТРОВАННЫЙ, то вы золотой. Если он появляется какЗАКРЫТОзатем покопайтесь в конфигурациях еще немного и посмотрите, есть ли варианты, которые позволяют вам перенастроить DNS или просто перезагрузить маршрутизатор в надежде, что он вернется к жизни. Если все остальное не помогает, позвоните производителю и жалуйтесь изо всех сил. Иногда это работает :)


Настройка хоста Windows:

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

Мои личные фавориты:

  • 8.8.8.8это Google 1
  • 8.8.4.4это Google 2
  • 208.67.220.220это OpenDNS 1
  • 208.67.222.222это OpenDNS 2

После этого следующим шагом вам следует проверить, сможете ли вы заставить систему Windows разрешать DNS на маршрутизаторе, вручную настроив его в сетевых параметрах TCP/IPv4.

  1. Щелкните правой кнопкой мыши значок сети в правом нижнем углу панели задач и перейдите к Networking and Sharing Center.
  2. Щелкните свой сетевой интерфейс (должен быть ethernet 1или похожий) и перейдите в properties.
  3. Щелкните Internet Protocol Version 4 (TCP/IPv4)и нажмите properties еще раз,
  4. Нажмите User the following DNS server addressesрадиальную кнопку,
  5. Введите IP маршрутизатора/DNS-сервера в качестве предпочитаемого DNS,
  6. Введите 8.8.8.8(публичный DNS Google) в качестве альтернативного DNS для отката
  7. Проверка Validate Settingsпри выходе
  8. Нажмите OK«Применить» и дождитесь устранения неполадок/перезапуска сетевого интерфейса.

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

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


Настройка Linux-сервера:

(Возможно, вам придется выполнить эти команды от имени пользователя root/ sudo, если вы увидите какие-либо ошибки прав доступа.)

Если у вас мало опыта работы с Linux, это, скорее всего, будет для вас новым приключением, но не волнуйтесь.

Начните с проверки /etc/resolv.confфайла:

cat /etc/resolv.conf

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

# 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.0.1

Есть две возможности, в зависимости от того, как выглядит ваша настройка. Одна из них заключается в том, что у вас установлен dnsmasq, и вы видите этот предупреждающий баннер, сообщающий вам, что не следует изменять resolv.conf. В этом случае у него будет loopback (127.0.0.1 или 127.0.1.1), как вы видите в моей конфигурации, что означает, что он запускает собственную службу DNS через dnsmasq. Если вы видите это, выполните следующее:

/etc/init.d/dnsmasq status

Если вы видите No such file or directory, то dnsmasq не установлен, не проблема. Вы можете двигаться дальше без него, или мы можем быстро установить его с помощью
apt-get install dnsmasq(или dnf install dnsmasq).

Если вы решили не устанавливать/перезапускать dnsmasq, вы можете просто отредактировать /etc/resolv.confфайл в вашем любимом текстовом редакторе (я предпочитаю nano), включив в него следующие строки:

nameserver 192.168.1.1 8.8.8.8 8.8.4.4    # That's your router and two fallback DNS servers

Если вы видите, что статус dnsmasq — Active/Running, то он установлен и работает правильно. Если dnsmasq неактивен/мертв, то вам следует запустить его следующим образом:

/etc/init.d/dnsmasq start

dnsmasq обычно обрабатывает разрешение DNS, динамически изменяя /etc/resolv.confфайл для вас. В случаях, когда ваш преобразователь не обрабатывает запросы должным образом или dnsmasq не настроен должным образом, я настоятельно рекомендую прочитатьего прекрасная документация.

/etc/dnsmasq.confНо на самом деле вам нужно убедиться, что для вашего . настроены только две настройки :

server=/yourlocaldomain/192.168.1.1
local=/yourlocaldomain/

Они устанавливают сервер на ваше локальное доменное имя и IP-адрес DNS-сервера, а также local=/yourlocaldomain/предотвращают попытки dnsmasq разрешить его на вышестоящих серверах имен, когда ваш домен находится в полном доменном имени хоста, который вы пытаетесь разрешить.

Например, если вы не установите этот параметр и попытаетесь разрешить emailserver.localdomain, dnsmasq спросит Google Public DNS, где emailserver.localdomainнаходится... и, конечно же, ответит: «Понятия не имею!»

Установка этого параметра заставит dnsmasq выдать сообщение: « emailserver.**localdomain**... Я должен спросить, 192.168.1.1где это находится». - и 192.168.1.1ваш маршрутизатор сможет ответить соответствующим образом, отправив правильный DNS-ответ и IP-адрес emailserver.localdomain.


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

решение2

Если в локальной сети не так много компьютеров и/или она не зависит от внутренних маршрутов DNS, задайте параметры DNS в конфигурации pv4 следующим образом:

8.8.8.8

и

8.8.4.4

Это позволит передать работу по разрешению DNS серверам Google.

Связанный контент