DHCP и IP-адресация
В "Работа в сети с использованием TCP/IP" мы рассматривали концепции применения IP-адресации в среде вашей сети. В этой лекции мы рассмотрим понятия открытых и частных IP-адресов. Мы рассмотрим также установку и конфигурирование DHCP.
Открытые IP-адреса
Любому компьютеру, который непосредственно подключен к интернету, присваивается открытый (public) IP-адрес. Открытый IP-адрес позволяет перемещаться в интернете с помощью различных классов адресов, которые образуют идентификатор (ID) сети и адрес узла (см. "Описание Active Directory" ). Открытые IP-адреса назначаются провайдерам услуг интернета (Internet Service Provider, ISP), такими организациями, как LIR (Local Internet Registry – Локальный реестр интернет), NIR (National Internet Registry – Национальный реестр интернет) и RIR (Regional Internet Registry – Региональный реестр интернет). Ниже приводится список доступных организаций RIR:
- APNIC, http://www.apnic.net (Азия/Тихоокеанский регион);
- ARIN, http://www.arin.net (Америка (северная) и "Черная" Африка);
- LACNIC, http://www.lacnic.net (Латинская Америка и некоторые Карибские острова);
- RIPE NCC, http://www.ripe.net (Европа, Ближний Восток, Центральная Азия и африканские страны севернее экватора).
По мере роста интернета быстро снижается доступный запас открытых адресов IPv4. Чтобы несколько узлов одной сети, использующие частные адреса, могли использовать один открытый адрес интернет, были созданы прокси-серверы и несколько протоколов для маршрутизаторов, такие как NAT (Network Address Translation – Трансляция [преобразование] сетевых адресов) и PAT (Port Address Translation – Трансляция [преобразование] адресов портов). NAT и PAT делают это, добавляя номер порта к IP-адресу входящих и исходящих пакетов. Маршрутизаторы затем отслеживают номера портов, назначенные получателям, а также рабочую станцию или устройство, которое является получателем во внутренней сети. Эти протоколы позволяют сотням рабочих станций одной сети получать одновременный доступ к интернету с помощью одного открытого IP-адреса.
Из внешнего мира кажется, что каждый PC в вашей сети использует один IP-адрес; это дает дополнительный уровень безопасности и анонимности при доступе к серверам Internet, для которых требуется, чтобы определенные порты имели взаимно однозначное соответствие с адресами. К примерам таких серверов можно отнести сервер SMTP (Simple Mail Transfer Protocol), сервер POP3 (Post Office Protocol версии 3) и серверы FTP, каждый из которых можно статически отображать с помощью NAT или PAT, используя тот же адрес, что и другие узлы данной сети.
Например, предположим, что у вас имеется два сервера во внутренней сети. Один из них – это Windows Server 2003, предоставляющий услуги FTP (порты 20 и 21); ему назначен частный IP-адрес 10.1.2.1. Еще одному серверу Windows 2003, на котором работает Exchange 2003, предоставляющий почтовые услуги SMTP (порт 25) и POP3 (порт 110), назначен адрес 10.1.2.2. С помощью NAT и одного маршрутизируемого открытого адреса 207.212.78.108 все, что поступает для портов 20 и 21, отправляется на сервер FTP, и все, что поступает для портов 25 и 110, отправляется на сервер, где работает Exchange 2003. Любой другой узел в этой сети может применять другие номера портов, для которых используется один IP-адрес. Посмотрите, сколько открытых IP-адресов мы только что сэкономили – даже в сети с десятком PC и двумя серверами.
Частные IP-адреса
Частные IP-адреса используются во внутренней сети и назначаются по вашему усмотрению. Эти адреса не могут маршрутизироваться в Интернет. В зависимости от количества мест, рабочих станций и устройств, которым требуются IP-адреса в вашей сети, имеется три различных диапазона адресов, зарезервированных для частных IP-адресов.
- Класс A от 10.0.0.0 до 10.255.255.255 (Для крупных предприятий).
- Класс B от 172.16.0.0 до 172.31.255.255 (Для средних предприятий).
- Класс C от 192.168.0.0 до 192.168.255.255 (Для небольших предприятий).
Ознакомление с DHCP
Используя сервер DHCP (Dynamic Host Configuration Protocol – Протокол динамического конфигурирования хостов) для автоматического назначения настроек конфигурации, пользователи и администраторы TCP/IP могут избежать ручного конфигурирования IP-адресов, маски подсети, адресов сервера DNS, адресов сервера WINS и других задач адресации.
Для разрешения проблемы назначения и администрирования IP-адресов в крупных масштабах Microsoft совместно с другими сетевыми специалистами разработала протокол DHCP. DHCP – это открытый стандарт, определенный в документе RFC (requests for comments) 2132. Другие производители предлагают на рынке свои серверы DHCP, но Microsoft включает свой сервер DHCP в пакет Windows Server 2003.
DHCP позволяет разрешать некоторые из наиболее серьезных проблем, характерных для TCP/IP (в его исходной версии). Он позволяет обойтись без отдельного конфигурирования каждой рабочей станции и делает практически невозможным назначение дублированных IP-адресов. DHCP рекомендуется для всех сетей Windows 2003, но только при использовании на всех компьютерах сети.
Вы можете столкнуться с проблемами перекрытия IP-адресации, когда один адрес назначается нескольким устройствам в смешанной среде. Смешанная среда образуется в тех случаях, когда некоторые компьютеры используют DHCP, а другие используют назначенные вручную IP-адреса. Даже если у вас есть компьютеры, которым нужно назначать конкретный IP-адрес, назначайте его с помощью DHCP для более эффективного ведения записей.
Истоки DHCP
DHCP происходит от BOOTP, который является унаследованным протоколом, разработанным для использования с бездисковыми рабочими станциями. Сервер BOOTP сохранял IP-адреса и другие настройки конфигурации для рабочих станций, образованные в соответствии с MAC-адресом, жестко закодированным в адаптере сетевого интерфейса каждой рабочей станции. При загрузке каждого компьютера сети его настройки TCP/IP доставлялись ему этим сервером. Когда стек TCP/IP начинал действовать, BOOTP передавал исполняемый файл загрузки операционной системы на рабочую станцию с помощью протокола TFTP (Trivial File Transfer Protocol – UDP-версия FTP); после этого рабочая станция готова к работе.
BOOTP позволил разрешить одну из основных проблем TCP/IP, устранив необходимость ручного конфигурирования каждой рабочей станции администратором или конечным пользователем. Но реально он не снял административную проблему назначения IP-адресов, поскольку он обеспечил только централизованное место для хранения настроек конфигурации. IP-настройки каждой отдельной рабочей станции по-прежнему должен был задавать администратор, сохраняя их вручную на сервере. Если в конфигурации двух различных машин случайно вводились дублированные IP-адреса, BOOTP не мог ничего сделать для обнаружения, предотвращения или исправления такой ситуации.
Выделение IP-адресов
Протокол DHCP был разработан как расширение по сравнению с BOOTP. Он сохранил лучшие аспекты своего предшественника, то есть сохранение и автоматическую доставку данных конфигурации TCP/IP, и при этом был расширен для получения лучшего решения.
DHCP может назначать IP-адреса своим клиентам, используя три различных способа.
- Ручное выделение. Это фактически эквивалент службы BOOTP; IP-адреса и другие настройки конфигурации вводятся по отдельности администратором, сохраняются на сервере и доставляются заранее определенным клиентам.
- Автоматическое выделение. Это подход, который мы называем использованием статического пула. При первой загрузке рабочей станции клиента DHCP в сети сервер DHCP назначает ему IP-адрес и другие настройки конфигурации из пула имеющихся адресов, которые были сконфигурированы администратором для использования этим сервером; они становятся постоянными настройками для данной машины. Этот метод называется отображением резервирования.
- Динамическое выделение. Это тот же метод, что и автоматическое выделение, за исключением того, что настройки TCP/IP не назначаются как постоянные; они лишь предоставляются в аренду на заданный период времени. Эта аренда должна периодически обновляться посредством (автоматического) согласования между клиентом DHCP и сервером.
Эти три метода можно использовать одновременно, обеспечивая все возможности, которые потребуются сетевым администраторам. Ручное выделение – необходимая часть, унаследованная от BOOTP, так как часто определенным компьютерам в сети требуется определенный постоянно назначенный IP-адрес, например, серверам World Wide Web и FTP. Преимуществом использования DHCP для таких компьютеров (вместо их ручного конфигурирования) является то, что всю информацию по IP-адресам для всей сети можно хранить в одном месте, и DHCP не позволит любому другому клиенту DHCP использовать адреса, которые были назначены вручную.
В сети, которая изменяется редко, можно использовать DHCP для автоматического выделения IP-адресов, создавая тем самым постоянную сетевую конфигурацию. Если какой-либо компьютер перемещается из одной подсети в другую, ему автоматически назначается новый IP-адрес для этой подсети; однако адрес, использовавшийся в старой подсети, останется занятым, пока администратор не удалит вручную эти назначения из таблицы DHCP.
Если компьютеру динамически выделяется IP-адрес, аренда этого адреса должна периодически обновляться, иначе истечет срок ее действия, что вызовет возврат данного адреса в пул свободных IP-адресов. Процесс обновления аренды выполняется автоматически и незаметен для пользователя (кроме случаев сбоя этого процесса). Если данный компьютер перемещается в другую подсеть, ему назначается подходящий IP-адрес для его новой подсети. Старый адрес возвращается в пул, когда истекает срок его аренды.
Таким образом, динамическое выделение позволило разрешить проблему "блуждающего пользователя", работающего на мобильном компьютере, с которого может выполняться вход в сеть из других офисов, других зданий или даже других городов.
Другие возможности DHCP
Ясно, что управляемое выделение IP-адресов является наиболее важной функцией DHCP, но сам по себе IP-адрес является недостаточным для полного конфигурирования стека TCP/IP. DHCP может снабжать клиента настройками для более чем 50 связанных с TCP/IP параметров, многие из которых предназначены для использования только с компьютерами, которые не являются клиентами Microsoft.
Для DHCP-клиента Windows Server 2003 или предыдущих версий Windows могут задаваться некоторые или все следующие параметры конфигурации (это наиболее употребительные параметры, передаваемые клиентам).
- IP-адрес (IP address). 32-битный разбитый точками на 4 октета десятичный адрес, используемый для идентификации определенного хоста в сети IP.
- Маска подсети (Subnet mask). 32-битное разбитое точками на 4 октета десятичное значение, которое отделяет биты адреса сети в IP-адресе от битов адреса хоста.
- Маршрутизатор (Router). IP-адреса шлюза по умолчанию, который будет использоваться клиентом для доступа к удаленным сетям (доступ к этим адресам выполняется в порядке их следования в списке).
- Серверы DNS (DNS servers). IP-адреса серверов DNS, которые будут использоваться клиентом для разрешения (преобразования) имен хостов Интернет в IP-адреса (в порядке их следования в списке).
- Имя домена (Domain name). Имя домена данного клиента.
- Адреса WINS/N-NS (Windows Internet Naming System / NetBIOS Name Server – Система именования для Интернет в Windows / Сервер имен NetBIOS). IP-адреса серверов WINS, которые будут использоваться клиентом для служб регистрации и разрешения имен NetBIOS.
- Тип узла WINS/N-T (Windows Internet Naming System/NetBIOS over TCP/IP).Код, который используется, чтобы указать, какие методы разрешения имен и в каком порядке будут использоваться клиентом.
- Идентификатор области NetBIOS (NetBIOS scope ID). Символьная строка, используемая для идентификации группы машин NetBIOS, которые могут взаимодействовать только друг с другом. (Избегайте использования такой группы: она вызывает почти всегда слишком много проблем.)
Имеются также несколько других параметров, которые используются реже, чем приведенные выше параметры. Тем не менее, они могут быть полезны клиентам в зависимости от их окружения. Вот названия некоторых из них.
- Cookie-серверы
- LPR-серверы
- Impress-серверы
- Серверы местоположения ресурсов
- Хост-имя (Host name)
Новые возможности для DHCP в Windows Server 2003
При модернизации из Windows NT Server 4.0 вы обнаружите следующие улучшения, внесенные в DHCP. (Все они были включены уже в Windows 2000.)
- Интеграция DHCP с DNS.
- Улучшенные мониторинг и отчетность.
- Поддержка опций поставщиков и опций пользовательского класса.
- Выделение групповых (multicast) адресов.
- Обнаружение и предотвращение работы неавторизованных серверов DHCP.
- Интеграция с Active Directory (AD).
- Поддержка службы кластеризации Windows 2000 Clustering Service.
- Автоматическое конфигурирование клиентов.
Автоматическое конфигурирование клиентов
Еще одно заметное улучшение в DHCP Windows Server 2003 – это работа клиента DHCP. Клиенты Windows 2000 и Windows 98, сконфигурированные для использования DHCP, могут автоматически задавать для себя IP-адрес и маску подсети, если не удается установить контакт с сервером DHCP. Процедура, которую должна выполнить служба клиента DHCP, прежде чем реально назначить для себя эту информацию, зависит от предыдущих контактов с каким-либо сервером DHCP.
После новой установки клиентская служба DHCP пытается найти какой-либо сервер DHCP для получения всей информации TCP/IP, необходимой для функционирования в сети. Если это не удается сделать, то клиент автоматически задает для себя IP-адрес класса B и маску подсети. Точнее говоря, он присваивает себе IP-адрес в диапазоне от 169.254.0.0 до 169.254.255.255 и маску подсети 255.255.0.0. Затем он объявляет этот адрес "окружающему миру", чтобы выяснить, не захвачен ли этот адрес другим компьютером. Клиент периодически пытается установить контакт с каким-либо сервером DHCP, пока эти попытки не увенчаются успехом (по умолчанию каждые пять минут).
И последняя процедура относится к клиенту, который раньше устанавливал контакт и получал информацию от какого-либо сервера DHCP. В таком случае клиент устанавливает контакт с этим сервером DHCP для обновления аренды адреса. Если клиенту не удается установить контакт с этим сервером DHCP, он отправляет команду ping своему назначенному шлюзу по умолчанию. Если ping выполняется успешно, то клиент интерпретирует неудачную попытку контакта с сервером DHCP как временное прерывание связи и продолжает использовать свою аренду адреса. Например, сервер DHCP может быть отключен для технического обслуживания или может иметь собственные проблемы связи. Клиент также продолжает попытки контакта с сервером DHCP для обновления аренды. И только при отказе команды ping клиент автоматически конфигурирует себя, используя вышеупомянутый IP-адрес класса B.
Отключение автоматического конфигурирования клиента
Автоматическое конфигурирование клиента – это, несомненно, улучшение в службе DHCP; но здесь есть и свои недостатки. Например, сможет ли клиент устанавливать контакт с другими машинами, используя IP-адрес класса B? В большинстве случаев – не сможет из-за различий в подсетях. Клиент сможет устанавливать контакт только с компьютерами той же подсети. Кроме того, клиент не сможет автоматически конфигурировать себя с помощью IP-адреса шлюза по умолчанию или сервера DNS, который помогает ему устанавливать связь. Поэтому данное средство полезно только в очень небольших окружениях.
Если вы считаете, что данная возможность не дает преимуществ в вашей среде, то можете отключить ее. Для отключения автоматического конфигурирования клиента на компьютере Windows 2000/XP выполните следующие шаги.
- Выберите Start\Run (Пуск\Выполнить), введите regedit, чтобы запустить редактор реестра (Registry editor), см. рис. 2.1. Откройте раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
- Добавьте параметр IPAutoconfigurationEnabled и задайте для него значение 0.
Более подробную информацию см. по адресу http://www.microsoft.com/technet/ treeview/ default.asp?url=/technet/prodtechnol/windowsserver2003/proddocs/datacenter/ sag_TCPIP_pro_DisableAutoConfiguration.asp.
Обнаружение и предотвращение работы неавторизованных серверов DHCP
Служба DHCP – это огромное улучшение по сравнению с ручным конфигурированием IP-адресов и других настроек TCP/IP для каждого компьютера в сети. Однако сетевое администрирование может чрезвычайно осложниться, если у вас есть неавторизованные серверы DHCP, которые "конкурируют" с авторизованными серверами DHCP за право передавать информацию клиентам. Например, какой-либо пользователь решил установить собственную службу DHCP Server на своем компьютере для передачи информации нескольким компьютерам в своей лаборатории. Оказывается, сервер DHCP, предназначавшийся, казалось бы, для локальных целей, реально обслуживает других клиентов данной сети. Такое изменение может сделать клиентов непригодными.
В большинстве случаев эти ситуации возникают случайно, но они, тем не менее, влияют на сеть. Предыдущие версии DHCP не могли справляться с такими проблемами. Администраторы должны были тщательно следить, чтобы в сети были разрешены только созданные ими серверы DHCP.
Одним из многих улучшений в DHCP является способность обнаружения и предотвращения работы неавторизованных серверов DHCP в данной сети. Каждая установка DHCP Server должна проходить через шаг авторизации путем сверки с Active Directory (AD) или выполняться кем-либо с административными привилегиями. В противном случае серверу DHCP не разрешается обслуживать клиентов.
AD может хранить список авторизованных серверов DHCP, поэтому при запуске нового сервера DHCP выясняется, является ли он авторизованным. Если он авторизован, то происходит отправка сообщений DHCPINFORM, чтобы выяснить, авторизован ли он также другими службами каталогов. Если данный сервер DHCP не авторизован, но требуется, чтобы он был авторизован, то вы должны выполнить следующие шаги.
- В оснастке DHCP выберите данный неавторизованный сервер DHCP в левой панели.
- В меню Action (Действие) выберите пункт Authorize (Авторизовать).
- Возможно, вам придется подождать несколько минут, прежде чем закончится процесс авторизации. Если вы нетерпеливы, то можете нажать клавишу F5 для обновления окна оснастки DHCP, пока не закончится авторизация.