В домене Windows Server 2008 локальный контроллер домена служит как DNS-, так и WINS-сервером. Это также DHCP-сервер. Одна рабочая станция используется в качестве платформы для всех администраторов различных серверов в домене. Все серверы выключаются ночью после общесистемного резервного копирования. Каждое утро существует период, в течение которого сеансы удаленного рабочего стола не могут подключаться ни к одному из серверов, IP-адреса которых назначены DHCP. Моя стратегия - зафиксировать IP-адреса этих ящиков, но сначала я хочу разобраться в проблеме. Сегодня утром проблема в следующем:
Nslookup и Nblookup согласовывают IP-адрес целевого компьютера, но когда я пытаюсь выполнить ping-запрос на целевой компьютер, ping каким-то образом определяет IP-адрес по-разному, и ping не работает. Моим первым признаком проблемы было то, что три разных сеанса удаленного рабочего стола не смогли подключиться. Если я подожду час или около того после загрузки рассматриваемых серверов, проблема исчезнет сама собой.
На рабочей станции, которая не может подключиться, я выполнил IPCONFIG / FLUSHDNS. На DHCP-сервере я настроил DHCP на использование 30-дневной аренды в соответствии с теорией, согласно которой изменение IP-адресов каким-то образом вызывает эту проблему, но на следующее утро проблема остается. Я подтвердил, что ни в каких файлах HOSTS или LMHOSTS не упоминаются компьютеры. Я не могу понять, откуда ping получает свой IP-адрес.
Любые идеи?
Nslookup и Nblookup получают свои данные непосредственно с серверов, в то время как ping сначала проходит через локальные ресурсы, файл хостов, кеш DNS, затем поиск DNS (я, возможно, пропустил шаг), поэтому, если он сначала находит ответ там, это то, что прилипает.
Эта проблема просто ушла. Я предпринял первые шаги, чтобы заставить DHCP регистрировать изменения IP-адреса в DNS (даже если об этом не просили). Это не устранило проблему. Затем я установил срок аренды на 30 дней. Это тоже не устранило проблему. После того, как проблема исчезла, я установил аренду на один час, но это не привело к повторению проблемы. Обратите внимание, что ни одно из этих действий не связано логически с реальной проблемой. Они попадают в категорию хватающих за соломинку. Я не могу придумать какой-либо веской причины, по которой после очистки DNS NSLOOKUP и NBLOOKUP выдали бы один IP-адрес и пинг (и, предположительно, приложение удаленного рабочего стола) нашли бы другой IP-адрес. (HOSTS и LMHOSTS по умолчанию без указания IP-адресов.)
Есть ли запись для этого IP-адреса в вашем локальном C:\Windows\System32\Drivers\etc\hosts
файл?
РЕДАКТИРОВАТЬ: Я только что видел, как вы упомянули, что в файле hosts ничего нет. Я не могу объяснить ваше поведение, о котором вы сообщили. Я хотел бы вернуться к исходной точке и провести серию проверок здравомыслия, чтобы убедиться, что то, что вы думаете, является правдой и правильным.
РЕДАКТИРОВАТЬ 2: служба DHCP по умолчанию настроена для обновления DNS по мере изменения аренды. Затем эти изменения необходимо реплицировать на все ваши интегрированные DNS-серверы AD через репликацию AD. Этот процесс может занять до пятнадцати минут. В это время одни DNS-серверы могут показывать правильный IP-адрес, а другие - старый. Вы можете подтвердить это, напрямую запросив DNS-серверы. Попробуйте бежать nslookup <query> <resolver>
где <resolver>
это имя вашего внутреннего DNS-сервера. Запросите каждый по очереди, чтобы убедиться, что они возвращают согласованные результаты.
Это точно похоже на проблему с DNS. Установите TTL на 1 минуту, и если у него есть настройка, позволяющая увеличить серийный номер, увеличьте его.
Если это не поможет, я бы попытался изолировать возможных виновников одного за другим. Запланируйте период обслуживания, когда никому не нужна рабочая станция (скажем, в 20:00 или как-то иначе в вашем офисе). Когда все клиентские машины все еще включены, порты сканируют весь сетевой блок, чтобы убедиться, что никто другой не использует DHCP, DNS или сервер Wins. Убедитесь, что все последние параметры на вашем DNS-сервере установлены правильно.
Если это не поможет, я бы начал с выбора нового IP-адреса в качестве вашего DNS-сервера. Когда все разойдутся по домам, настройте мастер так, чтобы он раздал этот IP всем по DHCP и выиграет. Выключите все клиентские машины. Перенесите DNS-сервер на новую чистую машину или виртуальную машину, затем также выключите мастер домена.
Затем включите мастер домена и все клиентские машины. Что случается?
Вы когда-нибудь разбирались с этой проблемой? Похоже, что-то фундаментально нарушено с назначением адреса в вашей сети.
Я бы включил Wiresharked во время пинга и наблюдал за IP-адресами, возвращаемыми ICMP ECHO и nslookup / nblookup.
Если вы находитесь в домене, nslookup по умолчанию будет возвращать IP, известный как DNS-сервер домена (и контроллер домена часто будет выдавать свой собственный адрес в качестве DNS-сервера для DHCP-клиентов в меньших доменах).
Ping полагается на ARP - хост, присоединяющийся к сети, запрашивает существующие хосты в сети, чтобы сообщить ему свои IP-адреса (и каждый хост поддерживает свой собственный список IP-адресов известных хостов, сопоставленных с их MAC-адресами).
Может случиться так, что контроллер домена запутается в назначаемых им адресах, или у вас могут быть конкурирующие DHCP-серверы в локальной сети (случайно назначающие IP-адреса в том же диапазоне), и некоторые клиенты разговаривают не с тем.
В любом случае, мне было бы интересно узнать, нашли ли вы когда-нибудь решение этой проблемы.