## Установка DHCP&DNS сервера на базе BIND9 & isc-dhcp ### Для начала выполним установку необходимых пакетов ``` apt update apt install isc-dhcp-server bind9 bind9utils ``` Далее выполняем ``` rndc-confgen ``` И далее, берём верхушку этого файла (всё, что без комментариев) и пихаем в файл /etc/bind/rndc.conf После этого необходимо поменять права, что-бы файл мог редактировать только рут и пользователь bind ``` chmod 660 /etc/bind/rndc.conf chown root:bind /etc/bind/rndc.conf ``` Так-же перейдём в директорию dhcp и скопируем туда наш ключ, после чего поменяем ему права и даже переименуем ``` cd /etc/dhcp cp /etc/bind/rndc.conf /etc/dhcp/ mv rndc.conf rndc.key chown root:root rndc.key cnmod 640 rndc.key ``` И очень важно `nano rndc.key` И там убираем всё кроме блока `key` Далее приступим к работе над DHCP сервером Сделаем копию исходного конфигурационного файла ``` mv /etc/dhcp/dhcpd.conf{,.ORIG} ``` Далее создадим файл пустышку и будем работать с ним ``` nano /etc/dhcp/dhcpd.conf ``` Туда вписываем необходимую нам конфигруацию Пример: ``` authoritative; default-lease-time 600; max-lease-time 10000; log-facility local7; ddns-domainname "reisber.god."; ddns-rev-domainname "in-addr.arpa."; ddns-update-style interim; ignore client-updates; update-static-leases on; use-host-decl-names on; option domain-name "reisber.god"; include "/etc/dhcp/rndc.key"; update-optimization off; update-conflict-detection off; zone reisber.god. { primary 172.16.100.1; key rndc-key; } zone 100.16.172.in-addr.arpa. { primary 172.16.100.1; key rndc-key; } subnet 172.16.100.0 netmask 255.255.255.0 { range 172.16.100.2 172.16.100.200; option subnet-mask 255.255.255.0; option routers 172.16.100.254; option domain-name-servers 172.16.100.1; host gateway { hardware ethernet 00:11:22:33:44:55; fixed-address 172.16.100.254; } } ``` После этого идём в `/etc/default/isc-dhcp-server` И там вписываем интерфейс на котором у нас будет работать DHCP У нас, в целом, уже работает DHCP сервер и клиенты без проблем получают IP-шники Нужно только настроить статический IP интерфейсу `nano /etc/network/interfaces` и там просто: ``` auto enp4s0 iface enp4s0 inet static address 172.16.100.1 netmask 255.255.255.0 ``` Далее настроим bind9 ``` nano /etc/bind/named.conf