DHCP-server в Linux
У современных комьютеров и телефонов есть функция автоматического получение IP-адреса, но для его пулчения должен быть DHCP-server.
DHCP — это аббревиатура от Dynamic Host Configuration Protocol. Так называется протокол, отвечающий за динамическую настройку узла сети с использованием модели OSI. DHCP получил новую прикладную реализацию для современного IPv6. Схема работы — клиент-серверная.
Схема работы DHCP.
Discover (Обнаружение)
Клиент DHCP подключается к сети и приступает к инициализации (состояние INIT). Первым делом он ищет в сети подходящий DHCP-сервер, для чего отправляет запрос DHCPDISCOVER на широковещательный адрес 255.255.255.255. В качестве своего адреса клиент указывает 0.0.0.0, поскольку своего адреса у него еще нет. Также в запросе клиент указывает свой MAC-адрес. Запрос доставляется всем компьютерам, находящимся в данном сегменте сети, но отвечают на него только DHCP-сервера.
Offer (Предложение)
DHCP-сервер, получивший запрос DHCPDISCOVER, анализирует его содержимое, выбирает подходящую конфигурацию сети и отправляют ее в сообщении DHCPOFFER. Обычно DHCPOFFER отправляется на MAC-адрес клиента, указанный в DHCPDISCOVER, хотя иногда может использоваться широковещание. Если в сети находятся несколько DHCP-серверов, то клиент получает несколько ответов DHCPOFFER и выбирает из них один, как правило полученный первым.
Request (Запрос)
Получив ответ сервера, клиент отвечает сообщением DHCPREQUEST, в котором ″официально″ запрашивает у сервера предоставленные настройки. В сообщении DHCPREQUEST содержится та же информация, что и в DHCPDISCOVER, а также IP-адрес выбранного DHCP-сервера. DHCPREQUEST отправляется на широковещательный адрес и те DHCP-сервера, чей адрес отсутствует в сообщении, понимают что их предложение отвергнуто.
Acknowledge (Подтверждение)
DHCP-сервер, адрес которого указан в DHCPREQUEST, получает сообщение и понимает, что его выбрали. Он фиксирует привязку для клиента и отвечает сообщением DHCPACK, подтверждая выданные клиенту настройки. DHCPACK отправляется на MAC-адрес клиента, указанный в DHCPREQUEST. Клиент получает сообщение DHCPACK, проверяет настройки и применяет конфигурацию (состояние BOUND), которая была получена в сообщении DHCPOFFER.
Перейдем к найстройке DHCP-cервера в Linux.
Для начла нам нужно установить пакет isc-dhcp-server.
#apt-get install isc-dhcp-server
Настройка на какие интерфейсы будет работать DHCP – server.
#vi /etc/default/isc-dhcp-server
Находим или добавляем cтроки.
subnet 172.16.100.0 netmaks 255.255.255.0 {
range 172.16.100.65 172.16.100.75;
option routers 172.16.100.1;
}
subnet 172.16.200.0 netmaks 255.255.255.0 {
range 172.16.200.65 172.16.200.75;
option routers 172.16.100.1;
}
Где: subnet - Адрес сети; netmask - Маска сети; range - Пул адресов, которые DHCP-cервер будет раздавать; option routers - Шлюз;
Если вам необходимо добавить фиксированный адрес для хоста.
host ISP { hardware ethernet 00:0c:29:8f:36:f5 fixed-address 192.168.0.22; option routers 192.168.0.1; }
Где: hardware ethernet - Физический адрес или MAC-адрес; fixed-address - Фиксированный адрес для хоста; option routers - Шлюз;
Перезапускаем DHCP – server.
#service isc-dhcp-server restart