4

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

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

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

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

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

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

2 ответа2

1

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


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

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

  • Для Debian:

    • Для поиска 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 работать, так как он немного проще и у вас есть графический интерфейс, на который можно рассчитывать. Я рекомендую настроить резервный 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. В этом случае он будет иметь петлю (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 спросит общедоступный DNS Google, где находится emailserver.localdomain ... и, конечно, ответит: « Понятия не имею!"

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


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

0

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

8.8.8.8

а также

8.8.4.4

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .