Настройка через файл.
apt-get install isc-dhcp-server
/etc/dhcp
/var/lib/dhcp
Список сетевых интерфейсов на которых работает сервер:
INTERFACES="eth0 eth1"
1. Добавить в конец файла dhcpd.conf
log-facility local7;
2. Создать файл:
local7.* /var/log/dhcpd.log & ~
service isc-dhcp-server restart
Промежуток времени в секундах, на который выделяется адрес клиенту, в случае если клиент самостоятельно не указал время использования адреса
Максимальный промежуток времени в секундах, на который выделяется адрес клиенту
Настройка PXE на примере установки MikroTik — OpenWRT.
Сервер с поддержкой LDAP.
Если использовать механизм репликации то можно получить надёжное решение, которое позволить вносить изменения в одном месте (в БД LDAP) и они будут приниматься сразу на всех DHCP серверах.
Не все параметры будут обновлены автоматически, подробное описание в теме ldap-method.
dc=domain | ||||||||||||||||
ou=dhcp | ||||||||||||||||
cn=config | ||||||||||||||||
cn=SharedNetwork | ||||||||||||||||
cn=10.1.0.0 | ||||||||||||||||
cn=host1 | ||||||||||||||||
cn=pool1 | ||||||||||||||||
cn=10.2.0.0 | ||||||||||||||||
cn=host1 | ||||||||||||||||
cn=pool2 | ||||||||||||||||
cn=server | ||||||||||||||||
apt-get install isc-dhcp-server-ldap
dhcp.ldif, источник схемы: пакет isc-dhcp-server-ldap
, файл /usr/share/doc/isc-dhcp-server-ldap/dhcp.schema.gz
dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: dhcpHWAddress eq - add: olcDbIndex olcDbIndex: dhcpClassData eq
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/dhcp.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f olcDbIndex_dhcp.ldif
dhcp.schema
isc-dhcp-server-ldap_4.3.5-3+deb9u1_amd64.deb deb://CONTENTS/usr/share/doc/isc-dhcp-server-ldap/dhcp.schema.gz
dn: ou=dhcp,dc=domain objectClass: organizationalUnit ou: dhcp
dn: cn=server,ou=dhcp,dc=domain cn: server objectClass: dhcpServer objectClass: top dhcpServiceDN: cn=config,ou=dhcp,dc=domain dhcpComments: DHCP server
dn: cn=config,ou=dhcp,dc=domain cn: config objectClass: top objectClass: dhcpService objectClass: dhcpOptions dhcpPrimaryDN: cn=server,ou=dhcp,dc=domain dhcpStatements: ddns-update-style none dhcpStatements: authoritative dhcpStatements: update-static-leases on dhcpStatements: default-lease-time 60000 dhcpStatements: max-lease-time 86400 dhcpOption: netbios-node-type 8 dhcpComments: DHCP config
dn: cn=SharedNetwork,cn=config,ou=dhcp,dc=domain cn: SharedNetwork objectClass: top objectClass: dhcpSharedNetwork
dn: cn=10.1.0.0,cn=SharedNetwork,cn=config,ou=dhcp,dc=domain cn: 10.1.0.0 objectClass: top objectClass: dhcpSubnet objectClass: dhcpOptions dhcpNetMask: 24 dhcpOption: domain-name "sub1.domain.ru" dhcpOption: domain-name-servers 10.1.0.1, 10.1.0.2 dhcpOption: netbios-name-servers 10.1.0.3, 10.1.0.4 dhcpOption: routers 10.1.0.1 dhcpOption: subnet-mask 255.255.255.0 dhcpOption: ntp-servers 10.1.0.1 dhcpOption: netbios-node-type 8 dhcpRange: 10.1.0.10 10.1.0.20
dn: cn=Host1,cn=10.1.0.0,cn=SharedNetwork,cn=config,ou=dhcp,dc=domain cn: Host1 objectClass: top objectClass: dhcpHost dhcpHWAddress: ethernet 01:01:02:03:04:05 dhcpStatements: fixed-address 10.1.0.101
dn: cn=server2,cn=10.1.0.0,cn=SharedNetwork,cn=config,ou=dhcp,dc=domain cn: pool1 dhcpcomments: 1 dhcprange: 10.1.0.200 10.1.0.210 objectclass: dhcpPool
dn: cn=10.2.0.0,cn=SharedNetwork,cn=config,ou=dhcp,dc=domain cn: 10.2.0.0 objectClass: top objectClass: dhcpSubnet objectClass: dhcpOptions dhcpNetMask: 24 dhcpOption: domain-name "sub2.domain.ru" dhcpOption: domain-name-servers 10.2.0.1 dhcpOption: netbios-name-servers 10.2.0.1 dhcpOption: routers 10.2.0.1 dhcpOption: subnet-mask 255.255.255.0 dhcpOption: ntp-servers 10.2.0.1 dhcpOption: option tftp-server-name "http://pbx/provisioning"; dhcpOption: option time-offset 10800; dhcpOption: netbios-node-type 8 dhcpRange: 10.2.0.10 10.2.0.20
dn: cn=Host1,cn=10.1.0.0,cn=SharedNetwork,cn=config,ou=dhcp,dc=domain cn: Host1 objectClass: top objectClass: dhcpHost dhcpHWAddress: ethernet 02:01:02:03:04:05 dhcpStatements: fixed-address 10.2.0.101
dn: cn=server2,cn=10.2.0.0,cn=SharedNetwork,cn=config,ou=dhcp,dc=domain cn: pool2 dhcpcomments: 1 dhcprange: 10.2.0.200 10.2.0.210 objectclass: dhcpPool
ldap-server "ldap"; ldap-port 389; ldap-base-dn "ou=dhcp,dc=domain"; ldap-dhcp-server-cn "server"; ldap-method dynamic; #ldap-username "uid=srvs,dc=domain"; #ldap-password "ПАРОЛЬ"; #ldap-debug-file "/var/log/dhcp-ldap.log"; log-facility local7;
DNS имя LDAP сервера.
Номер TCP-порта LDAP сервера.
Базовый путь внутри дерева.
Имя сервера, объект у которого objectClass: dhcpServer
Пример: cn=server
Имя пользователя для подключения к LDAP серверу.
Пароль пользователя для подключения к LDAP серверу.
Можно не указывать если к нужным объектам разрешён анонимный доступ.
Файл протокола, удобно использовать для отладки.
В этот файл выводятся данные в формате файла dhcpd.conf
Метод получения данных с LDAP сервера:
static
- все данные загружаются один раз при старте сервера;dynamic
- данные объектов objectClass: dhcpHost
загружаются по запросу, остальные при старте сервера, при изменении параметров нужен перезапуск.Настройка отдельного файла протокола (лога).
local7.* /var/log/dhcpd.log & stop
/var/log/dhcpd.log { monthly rotate 12 compress delaycompress missingok copytruncate notifempty create 640 root }
log-facility local7;
service isc-dhcp-server restart; service rsyslog restart