Установка и настройка DHCP сервера на Linux CentOS 7
Тематические термины: DHCP, IP-адрес, MAC-адрес
Быстрый старт
Определенный интерфейс
Резервирование IP
Подключение конфигурационных файлов
Список арендованных адресов
Настройка логов
Базовая настройка
Устанавливаем DHCP:
yum install dhcp
Теперь откроем на редактирование конфигурационный файл:
vi /etc/dhcp/dhcpd.conf
И внесем в него, примерно, следующее:
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option domain-name-servers 192.168.0.10, 192.168.0.11;
option domain-name "dmosk.local";
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
}
* где
- subnet обозначает сеть, в области которой будет работать данная группа настроек;
- range — диапазон, из которого будут браться IP-адреса;
- option domain-name-servers — через запятую перечисленные DNS-сервера;
- option domain-name — суффикс доменного имени;
- option routers — шлюз по умолчанию;
- option broadcast-address — адрес сети для широковещательных запросов;
- default-lease-time, max-lease-time — время и максимальное время в секундах, на которое клиент получит адрес, по его истечению будет выполнено продление срока.
** все примеры настроек можно увидеть в файле /usr/share/doc/dhcp*/dhcpd.conf.example (вместо * будет версия установленного dhcp).
Проверить корректность конфигурационного файла можно командой:
dhcpd -t -cf /etc/dhcp/dhcpd.conf
Разрешаем автозапуск сервиса:
systemctl enable dhcpd
и запускаем его:
systemctl start dhcpd
Добавляем правило в firewalld:
firewall-cmd --permanent --add-service=dhcp
firewall-cmd --reload
Определенный интерфейс для работы
Если в системе присутствует несколько сетевых адаптеров, а сервер DHCP должен работать только для определенных, открываем на редактирование следующий файл:
vi /etc/sysconfig/dhcpd
И добавляем в него следующее:
DHCPDARGS=ens32
* в данном примере сервер будет работать только для интерфейса ens32.
Перезапускаем сервис:
systemctl restart dhcp
Резервирование IP
Резервирование создается по MAC-адресу сетевого адаптера.
Пример настройки dhcpd.conf:
vi /etc/dhcp/dhcpd.conf
host host1 {
hardware ethernet 28:10:7B:27:C2:A0; fixed-address 192.168.0.101;
}
host host2 {
hardware ethernet 28:10:7B:27:C2:A1; fixed-address 192.168.0.102;
}
* где host1 — имя узла, для когорого резервируем адрес (не обязательно должен совпадать с реальным); 28:10:7B:27:C2:A0 — mac-адрес; 192.168.0.101 — IP, который будет назначать узлу. Аналогичо, для второго узла.
Подробнее, процесс описан в статье Резервирование IP-адреса на сервере DHCP.
Подключение конфигурационных файлов
Для удобства, некоторые блоки с настройками можно вынести в отдельные файлы и подключить их в основном конфигурационном файле:
vi /etc/dhcp/dhcpd.conf
include "/etc/dhcp/conf.d/subnets.conf";
Список арендованных адресов
Для просмотра списка адресов, которые были выданы DHCP-сервером вводим команду:
cat /var/lib/dhcpd/dhcpd.leases
Настройка логов
По умолчанию, сервер dhcp ведет лог в файле /var/log/messages, что не очень удобно, так как это общий лог-файл, в котором может находиться много записей.
Для того, чтобы сервер сохранял записи в отдельный файл, открываем на редактирование rsyslog.conf:
vi /etc/rsyslog.conf
И добавляем следующее:
local6.* /var/log/dhcp.log
Далее открываем конфигурационный файл dhcp:
vi /etc/dhcp/dhcpd.conf
И добавляем:
log-facility local6;
Перезапускаем сервисы:
systemctl restart dhcpd
systemctl restart rsyslog