У нас есть сервер RHEL 6.7 для DHCP. Мне нужно прояснить, как dhcpd обрабатывает сетевую адресацию, когда кому-то нужен постоянный IP-адрес. Вот пример конфигурации с одного из наших серверов. Насколько я понимаю, их можно получить двумя способами. Резервирование DHCP и настоящий статический IP-адрес, выходящий за рамки DHCP.
subnet 192.168.100.0 netmask 255.255.255.0 {
option domain-name "domain.net";
option broadcast-address 192.168.100.255;
option routers 192.168.100.1;
# Define the scopes for this DHCP pool
pool {
range 192.168.100.2 192.168.100.200;
# static reserve = 192.168.100.201 - 192.168.100.254
}
host static-custid {
hardware ethernet 00:01:02:03:04:05;
fixed-address 192.168.100.150;
}
host static-custid {
hardware ethernet 00:01:02:03:04:05;
fixed address 192.168.100.201;
}
}
Итак, как вы можете видеть, у нас есть один статический резерв вне области DHCP и один внутри. Насколько я понимаю, dhcpd знает только о том, что находится внутри объявленного пула, поскольку клиент будет использовать протокол DHCP. Но хоть убей, я не могу заставить здесь кого-нибудь объяснить мне, почему мы объявляем статические резервы для IP-адресов, не определенных в пуле. Возможно ли, что dhcpd узнает о статическом резерве за пределами пула и присвоит ему 192.168.100.201, когда увидит этот MAC-адрес И клиент использует DHCP? Я не думаю, что это так, потому что всех этих статических резервов, выходящих за пределы пула, нет в файле dhcpd.leases.
Статические IP-адреса обычно находятся за пределами диапазона пула, поскольку вы не хотите, чтобы статические IP-адреса назначались другим хостам. Пока статические IP-адреса находятся в локальном диапазоне IP-адресов (или ретранслируются) на сервер DCHP, они могут обслуживаться.
В файле аренды записывается, какие адреса из пула были назначены хосту и когда истекает срок этого назначения. Это используется, чтобы гарантировать, что нескольким хостам не будет назначен один и тот же IP-адрес. Наличие активной аренды не означает, что хост в настоящее время подключен к сети. Поскольку статические IP-адреса известны по их определению, их не нужно записывать в файл аренды.
Если время аренды слишком велико и клиенты часто меняются, возможно, что адреса закончились, а в настоящее время подключены только несколько хостов. Это более вероятно в горячей точке или гостевой сети, чем в типичной офисной сети.
Некоторое программное обеспечение DHCP-сервера работает иначе, когда дело касается резервирования:
Читая страницы руководства для наиболее распространенного Linux DHCPd кажется, что он позволяет применять любую из вышеперечисленных политик за счет использования комбинаций опций пула:
Определение известного клиента - это тот, у которого есть запись хоста где-то в файле conf. Так что, если вы не разрешаете «известных клиентов»; в пуле нельзя выделить фиксированный адрес внутри диапазона, который используется пулом.
Конечно, для зарезервированного фиксированного адреса, динамического адреса и статически назначенных IP-адресов для обмена данными друг с другом они должны либо находиться в одной подсети в одной локальной сети, либо иметь требуемую маршрутизацию между своими подсетями.
Вы можете сделать и то, и другое: зарезервировать IP-адрес в DHCPd и установить статический IP-адрес на фактическом хосте. Это просто означает, что DHCP-сервер никогда не спрашивает, какой IP-адрес использовать, хост просто использует его. Это может помочь в самостоятельном документировании использования IP-адресов, поскольку это может обеспечить довольно центральную область хранения для того, какой IP есть у всех устройств. Хотя, как и любую технику документации, ее нужно поддерживать, иначе она бесполезна. Вместо того, чтобы документировать IP-адрес хоста на сервере DHCPd, вы также можете использовать DNS-сервер или иметь отдельную документацию.