Протокол DHCP позволяет каждому клиентскому компьютеру, у которого отсутствует IP-адрес, запросить его у любого ожидающего DHCP-сервера. Помимо обеспечения годных к употреблению IP-адресов, DHCP предлагает клиентам необходимую конфигурационную информацию, сообщая им адреса их IP-шлюзов, адресов одного или нескольких DNS-серверов для разрешения доменных имен, и тому подобные данные. Таким образом, DHCP облегчает работу администратора, автоматически назначая IP-адреса компьютерам.
Принцип работы протокола DHCP:
- Клиент рассылает широковещательный запрос DHCP Discover на поиск DHCP-сервера
- Сервер, приняв такой запрос, предлагает клиенту IP-адреса и параметры сети в пакете DHCP Offer
- Приняв предложение сервера, клиента подтверждает свой выбор в пакете DHCP Request
- Выполнив регистрацию нового хоста, сервер посылает подтверждение клиенту DHCP Ack
DHCP-серверы способны управлять одним или несколькими диапазонами IP-адресов, каждый из которых можно рассматривать адресным пулом. В пределах каждой отдельной области IP-адресов служба DHCP может выделить отдельные адреса или совокупности адресов, которые не должны распределяться между клиентскими машинами. Это позволяет DHCP координировать существующие диапазоны IP-адресов, некоторые из которых могут быть присвоены маршрутизаторам и серверам. Стоит отметить, что выполнять функцию DHCP-сервера может маршрутизатор.
В нашем случае мы будем рассматривать настройку DHCP на сервере Ubuntu. На стороне клиента необходимо сразу же выставить режим автоматического получения IP-адресов. В Windows это настраивается так: Пуск -> Панель управления -> Сеть и Интернет -> Управление сетями и общим доступом -> Изменение параметров адаптера -> пр. кнопкой мыши по Подключение по локальной сети -> Протокол Интернет версии 4 (TCP/IPv4) -> ставим Получить IP-адрес автоматически
В Linux это настраивается в конфигурационном файле /etc/network/interfaces. Вводим команду:
$ sudo nano /etc/network/interfaces
Ищем строку # The primary network interface и ниже нее необходимо выставить следующие настройки интерфейса:
После чего сохраняемся Ctrl + X -> Y > Enter. Выполняем команду:
$ sudo /etc/init.d/networking restart
Переходим к самому главному – настройке DHCP-сервера. Первым делом устанавливаем пакет isc-dhcp-server:
$ sudo apt-get install isc-dhcp-server
Переходим в режим редактирования DHCP-сервера в файле dhcp.conf
$ sudo nano /etc/dhcp/dhcp.conf
Файл изначально пустой, необходимо прописать настройки вручную:
Теперь по порядку объясняю каждую строку:
- default-lease-time – промежуток времени в секундах, на который выделяется IP-адрес клиенту, если он сам не указал данный промежуток
- max-lease-time – максимальный промежуток времени, на который выделяется IP-адрес
- subnet – адрес подсети
- netmask – маска подсети
- range – пул Ip-адресов для выдачи клиентам
- option router – адрес шлюза по-умолчанию
- option domain-name -servers – адреса DNS-серверов
- option domain-name – имя домена
Перезапускаем демон DHCP командой:
$ sudo /etc/init.d/isc-dhcp-server restart
Для того, чтобы запросить Ip с компьютера-клиента под управлением Widnows в командной строки выполните
ipconfg /renew