Windows dhcp не выдает ip

Устранение неисправностей с сервером DHCP

Если вы используете сервера DHCP для автоматической настройки параметров TCP/IP для рабочих станций в вашей организации, то нерабочий DHCP может привести к нарушению работы всей организации. К тому же, если рабочая станция не сможет получить IP адрес, то она не сможет получить доступ к ресурсам в вашей сети или в интернет. В этой статье мы обсудим некоторые техники, которые вы сможете использовать для устранения неисправностей, связанных с DHCP сервером.

Назначение неправильного адреса

Самая частая проблема, связанная с DHCP, заключается в назначении неправильного IP адреса. Например, предположим, что ваш сервер DHCP был настроен на использования интервала IP адресов с 192.168.0.1 по 192.168.50. Вам следует ожидать, что сетевому компьютеру будет присвоен IP адрес из этого интервала. Теперь предположим, что рабочая станция в вашей сети начала испытывать проблемы при обращении к другим сетевым серверам. Вам необходимо использовать команду IPCONFIG /ALL для того, чтобы увидеть сетевую конфигурацию и IP адрес. Вместо адреса из ожидаемого интервала адресов мы видим, что рабочей станции был присвоен адрес, начинающийся с 169.254. Так что же произошло? Если компьютеру в вашей сети неожиданно был присвоен адрес, начинающийся с 169.254, то вы можете быть абсолютно уверены, что этот адрес был присвоен не вашим DHCP сервером. Случилось то, что ваша рабочая станция не смогла соединиться с сервером DHCP server. Если такое происходит, что рабочая станция сама назначает себе IP адрес, с помощью средства Windows под названием Automatic Private IP Addressing (APIPA или автоматическая адресация).

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

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

Конечно, только то, что один компьютер не может получить IP адрес, вовсе не означает, что наш сервер является источником проблемы. Если другие рабочие станции успешно получают IP, то вы можете быть уверены, что сервер работает правильно. Однако, может возникнуть такая ситуация, что сервер исчерпал лимит IP адресов, которые он может назначить клиентам. Вы можете легко выявить такую проблему, сравнив количество адресов, входящих в интервал, выделенный для сервера DHCP, с количеством устройств, которые запрашивают IP адрес у сервера DHCP server. Общие проблемы серверов DHCP

Если несколько рабочих станций испытывают проблемы с получением IP адресов, то вероятней всего проблема заключается в самом DHCP сервере. Если вы подозреваете, что проблемы вызывает DHCP сервер, то вы можете проверить это с помощью нескольких простых тестов на проверку соединения (ping test) и доступность сервера DHCP по сети.

Если сервер DHCP может связаться с другими компьютерами в сети, то я рекомендую проверить, что серверу DHCP server присвоен IP адрес, и что этот адрес совместим с тем интервалом адресов, для которого этот сервер настроен присваивать адреса для рабочих станций. Например, если интервал адресов, которые сервер DHCP присваивает рабочим станциям, варьируется с 192.168.0.1 до 192.168.0.50, то сервер не сможет присваивать адреса рабочим станциям до тех пор, пока ему самому не будет присвоен статический адрес в том же самом сегменте подсети, например, 192.168.0.0 или 192.168.0.51.

Читайте также:  Как установить линукс с флешки второй системой рядом с виндовс 7

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

Конфликты IP адресов

Другая проблема, которую я наблюдал, заключается в конфликте IP адресов среди динамически распределяемых адресов. Когда вы создаете интервал DHCP scope, то сервер DHCP отвечает за то, чтобы адреса внутри интервала были уникальны для каждой машины. Если это действительно так, то откуда же возникает конфликт динамически назначаемых адресов?

Были две ситуации, с которыми я столкнулся при возникновении такой проблемы. Первый раз, когда я столкнулся с этой проблемой, я смог определить, каким компьютерам были присвоены одинаковые адреса. Когда я проверил конфигурацию TCP/IP на этих машинах, то обнаружил, что на одной из них адреса были настроены вручную. Это достаточно долгая история, но если коротко, то для работы одного из приложение на этом компьютере необходимо было, чтобы у машины был статически IP адрес. Пользователю надоела постоянно настраивать это приложение под меняющийся адрес, поэтому он просто взял адрес, который был присвоен ему динамически и сделал его статическим.

Вероятность возникновения такой ситуации в наши дни достаточно невелика. Когда возникла такая ситуация повсеместно использовалась операционная система Windows 98. В операционной системе Windows 98 не хватает много инструментов для безопасности, которые есть у нас на сегодняшний день. Правильно настроенная безопасность на рабочей станции с операционной системой Windows XP или Windows Vista позволит запретить все изменения конфигурации пользователю. Но, несмотря на это, я все же хотел упомянуть эту ситуацию, т.к. иногда она поможет вам решить проблему.

Гораздо чаще проблема с конфликтом адресов возникает, когда используются несколько DHCP серверов, и эти сервера DHCP имеют пересекающиеся множества адресов. Если у вас только один сервер DHCP в вашей сети, то не совершайте ошибки, и не исключайте возможность возникновения такой ситуации в вашей сети. Есть вероятность того, что в вашей сети появился пиратский (rogue) DHCP сервер, который конфликтует с вашим основным сервером DHCP.

Операционные системы Windows 2000 Server и Windows Server 2003 спроектированы таким образом, чтобы избежать проблем с пиратскими (rogue) DHCP серверами. В них сервер DHCP может присваивать IP адреса лишь после того, как он был авторизован Active Directory. Но проблема заключается в том, что это применимо лишь для серверов DHCP, которые работают на платформе Windows. Сервера DHCP, работающие на других операционных системах могут присваивать IP адреса клиентам без необходимости быть авторизованными Active Directory.

Так существует ли какая-нибудь сложность установки пиратского сервера DHCP, который работает на платформе Linux? Вероятно, нет. Гораздо более вероятное объяснение заключается в том, что вашей проблемой является беспроводная точка доступа, или маршрутизатор. Такие устройства практически всегда имеют встроенный DHCP сервер. Эти устройства обычно используют интервал адресов с 192.168.0.x или 192.168.1.x. Если так случилось, что этот же самый интервал IP адресов используется на вашем основном DHCP сервере, что тогда вы столкнетесь с ситуацией, когда оба сервера DHCP присваивают адреса из одного и того же интервала, что приводит к конфликту.

Заключение

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

Windows dhcp не выдает ip

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. Ранее мы с вами говорили про принципы работы DHCP протокола и разбирали его поэтапно. В сегодняшней заметке, мне бы хотелось осветить вопрос по защите и безопасности DHCP сервера, и речь пойдет, о авторизации и решения проблем с ней. Ситуаций в жизни бывает много, так что как говорится прокачаем свой навык траблшутинга. Уверен, что мой скромный опыт будет кому-то полезен.

Что такое авторизованный DHCP

Когда вы устанавливаете Active Directory в своей компании, то у вас появляется тройка ролей, которые очень часто идут вместе, я говорю про AD, DNS и DHCP. Эта тройка позволяет системному администратору получить все прелести и преимущества доменной структуры. Очень важным аспектом любой современной IT инфраструктуры, является аспекты безопасности и в случае DHCP, это очень актуально. Небольшое воспоминание из практики. Когда я еще только начинал свой путь инженера, то я плохо разбирался в сетевых протоколах и технологиях, знал так сказать азы. Я знал, что у нас в окружении установлен Windows DHCP сервер и, что он сам раздает ip-адреса. В один из рабочих дней мне позвонил менеджер и сказал, что у него пропал интернет и доступ к сетевым шарам.

Читайте также:  Развертывание windows 10 pro

Когда я к нему подошел, то стал проводить сетевую диагностику, где одним из этапов было вычисление полученного ip-адреса. Какого же было мое удивление, когда я за место диапазона 192.168.100.0 увидел диапазон адресов 192.168.1.0. Я точно знал, что на моем DHCP сервере такой области нет. В итоге оказалось, что один из программистов принес WIFI роутер в то время, это было диковинкой, а так как мозги данного устройства работали на Linux платформе, то его DHCP сервер отрабатывал быстрее, чем в Windows сервере, что в итоге вело к выдаче адресов из другой области. Вот для предотвращения таких вещей и есть авторизация DHCP сервера.

У каждого вендора своя технология авторизация данного сервиса, например в Cisco оборудовании есть технология DHCP snooping, которая делит порты на которых работает служба на да типа, на которых, это можно делать и на которых нельзя. Там где нельзя, все пакеты с DHCP сервиса будут дропаться. В Windows среде есть авторизация сервера в инфраструктуре Active Directory. Вся соль в том, чтобы если в сети появится Windows DHCP сервер и он не будет авторизован в Active Directory, то его скоупы просто не заработают и выдачи ip-адресов не будет.

Требования к серверу перед авторизацией

Авторизация DHCP сервера является обязательной процедурой и требует соблюдения некоторых вещей:

  • Ваш сервер DHCP должен быть членом Active Directory
  • У вас должны быть права на авторизацию его в AD, администратор предприятия или делегированная группа.
  • Не должно быть проблем с созданием и редактированием атрибутов и классов в схеме Active Directory

Интересные моменты

  • Сервер DHCP проверяет свою авторизацию в AD DS каждый час. Он использует протокол LDAP [MS-ADTS] для связи с Active Directory и проверки, авторизован ли он для обслуживания IP-адресов.
  • При установке в среде с несколькими лесами DHCP-серверы запрашивают авторизацию изнутри. После авторизации серверы DHCP в среде с несколькими лесами сдают в аренду IP-адреса всем доступным клиентам.
  • Если вы устанавливаете роль DHCP на контроллере домена, сервер автоматически авторизуется. Если вы устанавливаете его на рядовой сервер, вам нужно будет вручную выполнить процесс авторизации одним из следующих способов.
  • Если в сети появится DHCP сервер, отличный от Windows платформы, то он сможет раздавать IP-адреса и авторизация ему не потребуется. Чтобы этого избежать нужны технологии на подобии DHCP snooping и системы анализа трафика.

Методы авторизации DHCP в Active Directory

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

  • Авторизация после установки из оснастки в мастере
  • Из оснастки, после всех настроек
  • Авторизация после установки роли, через PowerShell
  • Авторизация сервиса после установки роли через командную строку и утилиту netsh

Первый метод авторизации DHCP

Я покажу его на примере Windows Server 2019, когда вы установили роль DHCP, вас попросят закончить настройку. В итоге у вас откроется окно мастера, где вас попросят авторизовать в Active Directory, обращаю внимание, что вы на этом этапе можете ее пропустить. Напоминаю, что права должны быть минимум администратора домена или аналогично делегированные.

Второй метод авторизации DHCP

Вторым методом я могу выделить возможность, произвести авторизацию сервиса в AD в самой оснастке, после настройки области IPV4 или IPV6. Для этого нажмите в оснастке по самому корню правым кликом и выберите в контекстном меню пункт «Авторизовать».

Так же в данной оснастке можно авторизовать и удаленный сервер, для этого щелкните правым кликом по корню и выберите пункт «Список авторизованных серверов».

Читайте также:  Утечка трафика windows 10

В окне «Список авторизованных серверов» нажмите кнопку «Авторизовать». У вас откроется дополнительное окно, где можно указать DNS имя или IP-адрес. Я впишу мой второй дополнительный сервер с ip-адресом 192.168.31.3.


Произойдет поиск роли DHCP на данном сервере. Если она там есть то появится дополнительное окно, где нужно нажать «ОК».

Все сервер у вас должен появится в списке авторизованных.

Авторизовать DHCP-сервер с помощью Netsh

Откройте командную строку с правами администратора и введите следующую команду для авторизации DHCP-сервера.

Команда показывает мои текущие авторизованные серверы в домене, как видим у меня он один dc01/root/pyatilistnik.org. В окне «Управление авторизованными серверами» его видно. Далее авторизуем новый сервер svt2019s01.root.pyatilistnik.org с ip-адресом 192.168.31.3

После этого я сделал вывод списка авторизованных DHCP и вижу, что их теперь два.

Авторизовать DHCP-сервер с помощью PowerShell

Естественно я не могу обойти стороной любимый язык PowerShell, так как он с поставленной задачей справляется на 5+. Откройте свой PowerShell в режиме администратора и выведите для начала список текущих DHCP адресов в домене.

Вижу, что в данный момент он один.

Теперь, чтобы добавить второй сервер, выполните команду:

Как деактивировать DHCP сервер

Логично предположить, что методов деактивации тоже четыре.

  • Из оснастки DHCP сервера, для этого правым кликом по названию сервера и из контекстного меню выбираем пункт «Запретить».

  • Второй метод деактивации — это из окна «Управление авторизованными серверами», выбираем нужный и нажимаем кнопку «Запретить»

  • Третий метод запретить конкретный сервис, это утилита командной строки netsh.
  • Последний метод деактивации, это в PowerShell

Где прописывается DHCP в конфигурации Active Directory

Теперь хочу вам показать, где в классах и с какими атрибутами прописываются записи авторизованных DHCP серверов. Откройте редактор атрибутов AD и зайдите в раздел конфигурации. Перейдите по пути: CN=Services,CN=Configuration,DC=root,DC=pyatilistnik,DC=org. В данном контейнере вы увидите записи ваших авторизованных DHCP сервисов и очень важную запись CN=DhcpRoot, если ее нет, то это плохо.

Когда вы успешно авторизовываете ваш сервис в Active Directory, то он должен создать запись класса dHCPClass в CN должно быть его имя и различающееся имя (distinguished name). Если зайти в свойства любой записи сервиса, то вы обнаружите атрибут dhcpServer, тут должен быть прописан ip-адрес и его DNS-имя.

Во времена Windows 2000, атрибут dhcpServer должен был заполняться у записи CN=DhcpRoot в соответстующем атрибуте, с Windows Server 2003, перестало записываться (https://blogs.technet.microsoft.com/askpfeplat/2015/06/22/windows-server-dhcp-server-migration-two-issues-from-the-field/). Так же записи из контейнера CN=Services AD — сайты и службы (Active Directory Site and Service)вы можете посмотреть и из оснастки. Единственное, вам нужно включить опцию «Показать узел служб»

В итоге у вас появится контейнер «Services», далее «NetServices», в котором вы увидите весь список.

Из-за не правильной деактивации DHCP или восстановлении сервера из резервной копии приличной давности, он у вас может не запускать и при попытке пройти авторизацию написать «Параметр задан неверно»

В таких случаях вам нужно проверять наличие CN=Services,CN=Configuration,DC=root,DC=pyatilistnik,DC=org записи вашего сервера. Если ее нет, то придется создать ее с нуля. Через правый клик создаем новый объект AD.

Выбираем класс объекта dhcpServer.

Прописываем Common-name вашего сервера.

dhcp-Unique-key ставим 0.

dhcp-type ставим 1.

В dhcp-identification прописываем distinguished name сервера.

После создания записи, попробуйте перезапустить DHCP на нужно сервере. Если не поможет, то удаляете данную запись, и заново пробуете его авторизовать, бывает помогает.

Как дать права на авторизацию DHCP сервера

На сколько мне известно, чтобы у вас была возможность авторизовывать серверы DHCP, то вы должны быть администратором предприятия (Enterprise Admin). Понятно, что в данной группе должно быть минимум людей. Вы можете делегировать данные права, любой группе или пользователю. Для этого, в оснастке Active Directory — сайты и службы с включенной опцией «Показать узел служб» вы нажимаете правым кликом по контейнеру NetServices и выбираете пункт делегирование управления.

На первом шаге, вам необходимо указать пользователя или группу, для которой будут выданы права на управление DHCP авторизацией.

Выбираем создание особой задачи для делегирования.

Оставляем пункт «Этой папкой, существующими в ней объектами и созданием новых объектов в этой папке»

На следующем шаге, даем полные права. После этого у нужной группы появится возможность авторизовывать сервера DHCP в вашем домене Active Directory.

Оцените статью