Назначение IP-адресов в локальных сетях с помощью DHCP
В сегодняшней статье мы затронем такую тему, как работа с сервисами выдачи IP-адресов в локальных сетях на примере DHCP. Несмотря на достаточную простоту этой области, практика показывает, что начинающие сисадмины часто теряются в ситуациях, когда в одном сетевом кластере появляется дополнительный DHCP-сервер и компьютеры получают адреса, кажущиеся с непривычки странными. Чтобы помочь джуниорам избежать сложностей с этим, освежим в памяти механику присвоения IP-адресов как таковую, а затем обратимся к тонкостям настройки отказоустойчивых и защищенных параметров.
Zeroconf и его применение
Для поддержания работы современных локальных сетей был разработан стек технологий, известный сегодня как Zeroconf. Его использование избавляет от необходимости в централизованных серверах и сервисах, поскольку он, решая следующие задачи, позволяет собрать сеть из нескольких машин, соединив их на физическом уровне.
1. Получение IP-адреса (Automatic Private IP Addressing или APIPA). Назначение IP-адреса из сети 169.254.0.0/16 (за исключением сетей /24 на границах диапазона) происходит автоматически, используя генератор псевдослучайных чисел и данные о MAC-адресе. Полученные таким образом адреса не маршрутизируются, из-за чего их называют link-local. Также благодаря этой системе исключаются конфликты адресов.
2. Поиск по имени. Машины обрабатывают как DNS сетевые имена, выдаваемые системами и сохраняют логии в кэше.
3. Поиск сетевых ресурсов. Среди наиболее популярных протоколов здесь можно назвать UPnP, умеющий открывать порты роутеров, но достаточно сложный за счет наличия надстроек вроде http, и протокол DNS-SD (DNS Service Discovery), применяющий записи SRV, помимо прочего, и во время работы mDNS.
При этом важно понимать, что Zeroconf может применяться лишь в маленьких сетях, где еще не участвуют сервера, и нет потребности для вывода локальной сети в интернет – т.е. годится либо для совсем крошечных компаний, либо для достаточно узких задач. Чтобы избавить сисадминов от мучений с настройками статических IP-адресов для каждой машины при расширении сети были разработаны особые протоколы, самым популярным из которых является DHCP.
Технология DHCP
DHCP (Dynamic Host Configuration Protocol) – специализированный сервис выдачи IP-адресов с поддержкой протоколов, который широко используется в современных локальных сетях. Также DHCP – это совместимое BOOTP-расширение, позволяющее DHCP-серверу поддерживать работу устаревших клиентов.
Его главным отличием от более ранних протоколов является то, что DHCP поддерживает временную выдачу адреса клиенту, а также может передавать ему много информации: это обеспечивается нетривиальным алгоритмом присвоения IP-адреса, отличающимся от классической схемы «запрос-ответ». DHCP динамически присваивает IP-адреса и иную информацию о сетевых настройках. Независимый DHCP достаточно прост в настройках и имеет интуитивное управление. При этом в маленьком офисе можно настроить маршрутизатор для использования DHCP-протокола без использования выделенного сервера как такового.
Сегодня сервер DHCP для Windows реализован в виде ряда автономных приложений, которые помогают выступать в роли сервера DHCP машинам без Windows Server.
Подытоживая можно еще раз сказать, что применение DHCP в локальных сетях делает куда более простым назначение IP-адресов и для персональных компьютеров, и для мобильных гаджетов. Используя централизованный DHCP-сервер можно спокойно администрировать присвоения всех динамически IP с одного общего сервера. Это делает управление IP-адресами более эффективным и позволяет любой компании работать с большей внутренней согласованностью.