: :

ПнВтСрЧтПтСбВс

2018-04-09 12:33:52 3527 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






Введите ответ:

+

=