: | : |
‹ | › | |||||
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
2018-04-09 12:33:52 5865 0
Установка и настройка DHCP сервера на CentOS7
DHCP(протокол динамической настройки узла) — сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемому серверу DHCP, и получает от него нужные параметры.
dhcpd – свободная реализация DHCP-сервера от Internet Systems Consortium.
Установку dhcpd будем производить на сервере с операционной системой CentOS7
Подключаем epel репозиторий
sudo yum install -y epel-release
Устанавливаем демон dhcpd
sudo yum install -y dhcp
Если к наш сервер имеет несколько интерфейсов и мы хотим чтобы DHCP работал только на определенном, то мы можем прописать это либо в файле /etc/sysconfig/dhcpd или указать интерфейс в юните systemd
Файл /etc/sysconfig/dhcpd
cat /etc/sysconfig/dhcpd
DHCPDARGS="имя интерфейса"
Юнит dhcpd.service
cat /usr/lib/systemd/system/dhcpd.service
ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd \ --no-pid "your_interface_name(s)"
Главный конфигурационный файл демона dhcpd /etc/dhcp/dhcpd.conf, в нем будем проводить настройки. Существует файл /etc/dhcp/dhcpd6.conf, в котором производятся найстройки для ipv6.
cat /etc/dhcp/dhcpd.conf
#Вначале идут общие настройки для всех сетей и диапозонов #Время аренды адреса default-lease-time 600; max-lease-time 7200; #Если сервер является авторитетным сервером для этой сети, то указываем это authoritative; #Возможность динамического обновления зон: none -отключена, ad-hoc - устаревший # interim - рекомендуемый режим для включения динамического обновления ddns-update-style none; #Настройка для отправки логов в syslog log-facility local7; #Далее указание сетей subnet 192.168.10.0 netmask 255.255.255.0 { option routers 192.168.10.1; #Шлюз по-умолчанию option subnet-mask 255.255.255.0; #Маска сети option domain-name "test.un"; #Имя домена option domain-name-servers 192.168.10.1, 10.10.10.1; # DNS-сервера range 192.168.10.100 192.168.10.200; #Диапозон выдаваемых адресов #Указание еще одного диапозона внутри посети range 192.168.10.210 192.168.10.215; } #Статическая привязка ip-адреса host radius { option host-name "radius.test.un"; #Доменное имя хоста hardware ethernet 00:16:3e:34:da:6e; #MAC-адрес хоста fixed-address 192.168.10.90; #Привязка адреса
Параметров много их пожно посмотреть в документации.
Можно применять группы, для указания общих параметров
group { #Общие опции для группы option routers 192.168.20.1; option domain-name "linux.test.un"; option domain-name-servers 192.168.20.20; host www { option host-name "www.test.un"; hardware ethernet 00:50:56:c0:00:01; fixed-address 192.168.20.101; } host samba { option host-name "samba.test.un"; hardware ethernet 00:50:56:c0:00:08; fixed-address 192.168.20.110; } }
Если мы хотим описать разные подсети, находящиеся в одной сети и дать им разные параметры то необходимо использовать shared-network
shared-network test { option domain-name "test.un"; option routers 192.168.0.1; subnet 192.168.1.0 netmask 255.255.252.0 { option domain-name-servers 192.168.1.10; range 192.168.1.100 192.168.1.200; } subnet 192.168.2.0 netmask 255.255.252.0 { option-domain-name-servers 192.168.2.10; range 192.168.2.100 192.168.2.200; } }
Если у нас есть одна подсеть, но мы хотим указать разные параметры для разных пулов этой сети, будем использовать pool
subnet 192.168.100.0 netmask 255.255.255.0 { option routers 192.168.100.1; pool { option domain-name-servers 192.168.100.10; max-lease-time 3600; range 192.168.100.30 192.168.100.100; } pool { option domain-name-servers 8.8.8.8; max-lease-time 7200; range 192.168.100.120 192.168.100.200; } }
Далее запускаем демона
sudo systemctl start dhcpd
sudo systemctl enable dhcpd
Введите ответ:
+
=