После установки dhcpd, файл БД не создается. Однако он требуется для нормальной работы сервера dhcp и поэтому необходимо самостоятельно создать пустой файл с названием: /var/state/dhcp/dhcpd.leases.
Для того что бы предотвратить бесконтрольный рост размеров файла он время от времени создается заново и перезаписывается. Сначала создается временный файл БД куда сбрасываются все актуальные записи, затем старый файл переименовывается в /var/state/dhcp/dhcpd.leases~. Ну и наконец, временный файл переименовывается в /var/state/dhcp/dhcpd.leases.
Здесь существует проблема с безопасностью системы в плане DoS. Если процесс dhcpd был принудительно завешен (убит)или система упала в момент когда старый файл уже переименован, а новый еще не перемещен на место, то после перезагрузки системы окажется что отсутствует файл /var/state/dhcp/dhcpd.leases. В этом случае dhcpd просто не сможет стартовать и потребуется ручное вмешательство. Первое что приходит на ум - создавать пустой файл. Никогда не делайте этого - таким образом вы рискуете ввергнуть систему в хаос, потеряв информацию о ранее распределенных адресах. Вместо этого просто переименуйте /var/state/dhcp/dhcpd.leases~ в /var/state/dhcp/dhcpd.leases, тем самым восстановив предыдущее состояние.
lease ip-address {выражения...}
Каждая запись включает в себя единственный IP-адрес, тот что был выделен клиенту. Инструкции в скобках определяют кому и на какой срок выдан адрес.
Начало и окончание срока использования клиентом адреса записываются с использованием инструкций:
``starts'' и ``ends''
starts дата;
ends дата;
дата - означает следующее:
день_недели год/месяц/день
час:минута:секунда
день_недели присутствует для облегчения чтения и указывается цифрой от 0 до 6, где 0 - воскресение. День_недели игнорируется при вводе. Год указывается четырьмя цифрами. Месяц указывается числом начиная с 1 (Январь). Дни месяца также начинаются с 1. Часы - числа от 0 до 23, минуты и секунды 0 - 59
Время указывается по Гринвичу (GMT),а не согласно местной временной зоне.
MAC адрес сетевого интерфейса, который был использован при получении IP адреса записывается с помощью инструкции hardware:
hardware hardware-type mac-address;
MAC адрес записывается последовательностью шестнадцатеричных октетов разделенных двоеточиями.
Если для получения адреса клиент использует идентификатор клиента (client identifier), то он фиксируется
в инструкции uid:
uid client-identifier;
Идентификатор клиента записывается последовательностью шестнадцатеричных октетов,
независимо от того, указывает ли клиент строку ASCII или использует
более новый формат - hardware type/MAC адрес.
Если клиент посылает серверу собственное имя используя опцию Client Hostname
как указанно в некоторых версиях DHCP-DNS Interaction draft, то имя хоста записывается
с использованием инструкции
client-hostname.
client-hostname "hostname";
Если клиент посылает серверу собственное имя используя опцию Hostname
так как это делает Windows 95,то имя хоста записывается
с использованием инструкции
hostname.
hostname "hostname";
Сервер DHCP, в некоторых случаях, может определить что выделенный адрес не правильно
используется, например если клиент которому был выделен адрес не подтверждает его получение,
или потому что при попытке проверить используется ли адрес перед тем как его выдать сервер
обнаруживает что адрес занят. В таких случаях инструкция abandoned используется
что бы показать что данный адрес "отказной" и не может быть переназначен.
abandoned;
Когда клиент запрашивает новый адрес и сервер обнаруживает что свободные адреса закончились, то в этом случае сервер просматривает адреса помеченные как abandoned и выдает клиенту адрес с наименьшим числом отказов. Если конфликты с выданным адресом продолжаются он повторно переводится в разряд "отказных". d.
Если клиент запрашивает "отказной" адрес, то сервер считает что причиной помещения этого адреса в разряд "отказных" было повреждение файла БД и данный клиент и есть та машина что отвечала при тестировании адреса перед его распределением. В этом случае адрес незамедлительно назначается клиенту.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |