Мы небольшая организация на 300 человек со смешанной средой BYOD и Active Directory (Windows Server 2012 Standard, Windows 7 Enterprise), и у нас возникла очень странная проблема, связанная с ошибками очень конкретной области при разрешении доменного имени нашей организации в нашем домене. -соединенные, управляемые компанией машины. Для целей этого обсуждения я буду использовать company.com вместо нашего доменного имени.
Задний план:
Сценарий 1:
Сценарий 2:
Сценарий 3:
Сценарий 4:
Заключительные примечания:
Эта проблема, по-видимому, распространяется на все компьютеры, принадлежащие компании. Мы используем общий образ системы для всех компьютеров компании, который был загружен только в августе. Я рыскал по Интернету в поисках возможных решений и пока ничего не нашел - я очень ценю любые предложения или советы, которые могут у вас возникнуть.
Подключенные к домену компьютеры будут искать свой DC, а не просто выполнять поиск на основе DNS. Поскольку домен совпадает с общедоступным веб-сайтом, они будут искать запись SRV, чтобы сообщить им, как добраться до DC и получить информацию о домене. Поскольку в удаленной сети нет контроллера домена, они не могут разрешить это имя с помощью обычных частей Windows, поддерживающих AD.
Когда вы используете ping или (почти) любое приложение Windows, оно использует полный стек IP-адресов Windows, включая части, которые взаимодействуют с AD. В то время как NSLookup на самом деле просто выполняет DNS-запрос. Вы проверили это с помощью трассировки Wireshark, Windows не выполняет поиск при попытке перейти на company.com, но nslookup показывает правильный поиск DNS. Вот почему вы не можете разрешить домен через ping или веб-браузер, но nslookup в порядке.
Решением для первой части этого является использование www.company.com для доступа к веб-сайту как изнутри, так и извне, чтобы клиенты полностью игнорировали поиск DC.
Решение для второй части сложнее, в зависимости от того, к чему subdomain.company.com относится как внутри, так и снаружи. Есть ли у DC запись DNS для поддомена или эти запросы просто отправляются на внешний DNS-сервер? Если у него есть запись DNS, на что указывает эта запись?
Я бы проверил файл HOSTS (http://en.wikipedia.org/wiki/Hosts_%28file%29#Location_in_the_file_system) на машине не содержит записей для хостов, к которым вы пытаетесь подключиться. Я думаю, что инструмент NSLOOKUP обходит файл hosts, а веб-браузер - нет.
Я также хотел бы проверить, что у вас не настроен прокси-сервер в веб-браузере, поскольку некоторые типы прокси также разрешают DNS.
Я бы также попробовал запустить браузер в его «безопасном режиме» (т.е. со всеми отключенными надстройками и плагинами) с IE («iexplore -extoff») или Firefox (удерживайте клавишу Shift при запуске или «firefox -safe-mode»).
В идеале, если возможно, попробуйте использовать другой веб-браузер, чтобы сузить круг вопросов, будь то веб-браузер или ОС.
Затем, если я все еще ничего не добился, я бы проверил, какие службы привязаны к сетевому адаптеру (сумасшедший брандмауэр с конкретными правилами мешает?)
Наконец, и это становится все более маловероятным, NSLOOKUP будет автоматически добавлять имя домена компьютера или соединения в запросы. Например, мой маршрутизатор устанавливает доменное имя как «router», поэтому любой nslookup для чего-то вроде «matthew» на самом деле ищет DNS для «matthew.router», возможно, веб-браузер этого не делает .. как вы сказали, что сделали пакет захват не звучит так, как будто это ваша проблема ... но на тот случай, если вы пропустили это при захвате пакетов или ваша среда захвата была не совсем правильной :-).
Это то, что я бы попробовал, и, надеюсь, это вам тоже поможет :-).