2. Настройка динамического DHCP сервера, связанного с DNS

Работает это следующим образом: машина в сети получает случайный IP-адрес и, при получении этого IP, DHCP сервер перенастраивает DNS сервер таким образом, чтобы у компьютеров в сети независимо от того, какой у них в данный момент IP, всегда было одно и тоже доменное имя.

Файлы /etc/named.conf, /var/named/mynet.reversed, /var/named/mynet.zone должны выглядеть точно так, как было описано здесь: Глава 3. Настройка DNS сервера.

Теперь приведем как должен выглядеть файл /etc/dhcpd.conf:

### begin of /etc/dhcpd.conf #################################################
ddns-update-style ad-hoc;

subnet 192.168.1.0 netmask 255.255.255.0 
{
    option routers 192.168.1.1;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 192.168.1.4;
    
    range 192.168.1.5 192.168.1.250;
    
    ddns-updates on;
    ddns-domainname "mynet.lan";
    ddns-rev-domainname "in-addr.arpa";

    option domain-name "mynet.lan";

    # Этот "secret" нужно пересоздать с помощью команды dnssec-keygen
    # он должен быть ОДИНАКОВЫМ в этом файле, а также в 
    # /etc/named.conf /etc/rndc.conf /etc/rnd.key
        key mykey {
	algorithm hmac-md5;
	secret "IriCelUSbPMypSjImBsiTHMauOumRPMkdBjoxVINAx0vxJZNRKGWzFCKibad";
    };

    zone mynet.lan. {
		primary 192.168.1.4;
		key mykey;
    }

    zone 1.168.192.in-addr.arpa. {
		primary 192.168.1.4;
		key mykey;
    }

    host smith # Агент Смит
    {
        hardware ethernet 00:0c:29:8b:02:e7;
#	option host-name "vasya";
	ddns-hostname "smith";
    }

    host neo # Коля Петров 
    {
        hardware ethernet 00:22:22:22:22:22;
#	option host-name "kolya";
	ddns-hostname "neo";
    }
}
### end of /etc/dhcpd.conf #################################################

В этом примере машина с МАС-адресом 00:0c:29:8b:02:e7 получит имя smith.mynet.lan, а машина с МАС-адресом 00:22:22:22:22:22 получит имя neo.mynet.lan. Имена остальных машин будут формироваться на основе запроса DHCP клиента. В случае с M$ Window$ это будет “имя компьютера”.

Для того, чтобы DHCP сервер мог управлять DNS сервером, необходимо также отредактировать следующие файлы: /etc/rndc.conf

###### begin of /etc/rndc.conf ##################
key mykey {
        algorithm hmac-md5;
        secret "IriCelUSbPMypSjImBsiTHMauOumRPMkdBjoxVINAx0vxJZNRKGWzFCKibad";
};

options {
        default-key mykey;
        default-server 127.0.0.1;
        default-port 953;
};
###### End of /etc/rndc.conf #####################

и /etc/rndc.key

key mykey {
       algorithm hmac-md5;
       secret "IriCelUSbPMypSjImBsiTHMauOumRPMkdBjoxVINAx0vxJZNRKGWzFCKibad";
};

После выполнения всех этих настроек перезапускаем DNS сервер и DHCP сервер и работаем.