Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Серверы Linux. Часть IV. Сервер DHCP

Оригинал: Introduction to DHCP
Автор: Paul Cobbaut
Дата публикации: 24 мая 2015 г.
Перевод: A.Панин
Дата перевода: 13 июля 2015 г.

Глава 6. Вводная информация о сервере DHCP

6.5. Резервирование конфигураций клиентов

Вы можете зарезервировать заданный IP-адрес за клиентом с определенным MAC-адресом следующим образом:

host pc42 {
hardware ethernet 11:22:33:44:55:66;
fixed-address 192.168.42.42;
}

Также вы можете добавить объявления определенных параметров с их значениями в данный блок резервирования IP-адреса.

host pc42 {
hardware ethernet 11:22:33:44:55:66;
fixed-address 192.168.42.42;
option domain-name "linux-training.be";
option routers 192.168.42.1;
}

6.6. Пример конфигурационного файла

Вы можете ознакомиться с несколькими приведенными ниже секциями конфигурационного файла /etc/dhcp/dhcpd.conf, который использовался на сервере, работающем под управлением дистрибутива Debian 6.

# Сеть организации NetSec Antwerp
subnet 192.168.1.0 netmask 255.255.255.0 {
 range 192.168.1.20 192.168.1.199;
 option domain-name-servers ns1.netsec.local;
 option domain-name "netsec.local";
 option routers 192.168.1.1;
 option broadcast-address 192.168.1.255;
 default-lease-time 7200;
 max-lease-time 7200;
}

Приведенная выше конфигурация является стандартной конфигурацией сети с пулом в 180 IP-адресов.

Ниже приведены блоки резервирования IP-адресов:

#
# Ноутбуки
#

host mac {
  hardware ethernet 00:26:bb:xx:xx:xx;
  fixed-address mac.netsec.local;
}

host vmac {
  hardware ethernet 8c:7b:9d:xx:xx:xx;
  fixed-address vmac.netsec.local;
}

6.7. Более старый пример конфигурационного файла

Ниже представлено содержимое конфигурационного файла dhcpd.conf, который использовался в дистрибутиве Fedora 14 и позволял осуществлять динамические обновления данных зон DNS.

[root@fedora14 ~]# cat /etc/dhcp/dhcpd.conf 
authoritative;
include "/etc/rndc.key";

log-facility local6;

server-identifier       fedora14;
ddns-domainname         "office.linux-training.be";
ddns-update-style       interim;
ddns-updates            on;
update-static-leases    on;

option domain-name      "office.linux-training.be";
option domain-name-servers      192.168.42.100;
option ip-forwarding    off;

default-lease-time      1800;
max-lease-time          3600;

zone office.linux-training.be {
        primary 192.168.42.100;
}

subnet 192.168.4.0 netmask 255.255.255.0 {
        range 192.168.4.24 192.168.4.40;
}

При этом были разрешены любые обновления файлов баз данных зон DNS (фрагмент файла конфигурации named.conf).

zone "office.linux-training.be" {
        type master;
        file "/var/named/db.office.linux-training.be";
        allow-transfer { any; };
        allow-update { any; };
};

Также были разрешены обновления ключей, соответствующих файлам баз данных зон DNS (фрагмент файла конфигурации named.conf).

zone "office.linux-training.be" {
        type master;
        file "/var/named/db.office.linux-training.be";
        allow-transfer { any; };
        allow-update { key mykey; };
};

Пример содержимого файла ключа:

[root@fedora14 ~]# cat /etc/rndc.key 
key "rndc-key" {
        algorithm hmac-md5;
        secret "4Ykd58uIeUr3Ve6ad1qTfQ==";
};

Вы можете сгенерировать свои собственные файлы ключей с помощью утилиты dnssec-keygen.

Файл ключа подключается к файлу конфигурации следующим образом:

include "/etc/bind/rndc.key";

Кроме того, вы должны убедиться в том, что сервер DNS bind обладает достаточными правами для записи данных в файл db.zone (в случае необходимости следует изменить права доступа к данному файлу или его владельца с помощью утилит chmod/chown). Данный файл конфигурации находится в директории /etc/bind в дистрибутиве Ubuntu и в директории /var/named в дистрибутиве Fedora.

6.8. Дополнительные аспекты использования серверов DHCP

6.8.1. Правило 80/20

Серверы DHCP не должны становиться единой точкой отказа. Исходя из этого, в большинстве случаев следует рассматривать возможность использования дополнительных серверов DHCP.

6.8.2. Агент ретрансляции DHCP

Для того, чтобы избежать необходимости размещения сервера DHCP в каждом из сегментов сети, вы можете использовать агенты ретрансляции DHCP (DHCP relay agents).

6.8.3. Неподконтрольные администратору сети серверы DHCP

Наличие в сети неподконтроьных администратору серверов DHCP чаще всего является проблемой без очевидного решения. Такой сервер может появиться в сети, к примеру, в результате случайного подсоединения к сети хаба/коммутатора (которое на первый взгляд не может вызвать каких-либо сложностей) с собственным сервером DHCP.

6.8.4. Серверы DHCP и DDNS

Сервер DHCP может автоматически передавать данные серверу DNS после конфигурации клиентского компьютера. Протокол DDNS может использоваться как с ключами для шифрования данных, так и без них.

При корректной настройке упомянутых серверов ресурсные записи могут добавляться автоматически в файл базы данных зоны DNS:

root@fedora14~# tail -2 /var/named/db.office.linux-training.be
ubu1010srv         A     192.168.42.151
                   TXT   "00dfbb15e144a273c3cf2d6ae933885782"

6.9. Практическое задание: сервер DHCP

1. Убедитесь в том, что вы используете уникальные фиксированные IP-адреса на машинах для установки серверов DNS и DHCP (их проще установить на одной машине).

2. Установите сервер DHCP и рассмотрите описания параметров в поставляемом по умолчанию файле конфигурации /etc/dhcp/dhcpd.conf или /etc/dhcp3/dhcpd.conf.

3. Выберите корректное описание сети в файле конфигурации и активируйте его.

4. Протестируйте с помощью клиента работоспособность вашего сервера DHCP.

5. Используйте сниффер Wireshark для захвата данных четырех широковещательных передач в процессе получения клиентом IP-адреса (в первый раз).

6. Используйте сниффер Wireshark для захвата передач DCHPNAK и DHCPRELEASE.

7. Зарезервируйте IP-адрес для определенного клиента (на основе MAC-адреса этого клиента).

8. Настройте ваши серверы DHCP/DNS с использованием корректных имени узла и имени домена (вам понадобятся файлы /etc/hosts, /etc/hostname, /etc/sysconfig/network в дистрибутиве Fedora/RHEL, /etc/resolv.conf в дистрибутиве Debian/Ubuntu). Кроме того, вам придется остановить службу NetworkManager в дистрибутивах для рабочих станций, таких, как различные варианты дистрибутива Ubuntu с различными окружениями рабочих столов.

9. Убедитесь в том, что ваш сервер DNS все еще успешно функционирует и является ведущим сервером, обслуживающим (как минимум) один домен.

Существует несколько способов выполнения заданий 10-11-12. Вы можете воспользоваться поисковой системой Google для получения информации о настройке сервера DDNS с использованием ключей для шифрования данных, с использованием файлов ключей и без использования ключей.

10. Настройте ваш сервер DNS таким образом, чтобы был разрешен прием динамически отправляемых сервером DHCP сообщений с информацией о клиентских компьютерах.

11. Настройте ваш сервер DHCP таким образом, чтобы он динамически отправлял вашему серверу DNS сообщения с информацией о клиентских компьютерах.

12. Проверьте работоспособность технологии динамических обновлений данных зон DNS (Dynamic DNS).


Предыдущий раздел: Оглавление Следующий раздел:
Глава 6. Вводная информация о сервере DHCP   Глава 7. Использование системы Linux в качестве маршрутизатора