Как обрабатываются два оператора «ip helper-address»?

15

Я обнаружил подсеть с двумя операторами ip helper-address. Это не наша нормальная конфигурация.

interface Vlan300
 ip address 10.1.3.2 255.255.255.0
 ip helper-address 10.2.1.10
 ip helper-address 10.3.1.10

Глядя на наши DHCP-серверы, кажется, что у них обоих есть аренда.

Я понимаю, что это не рекомендуется, и два DHCP-сервера могут не знать о назначении аренды друг у друга (я уверен, что они этого не делают).

Вопрос в том, как это обрабатывается коммутатором Cisco (4510 Sup7 12.2)?

  • Это первый сервер DHCP, чтобы ответить?
  • Это первый, затем второй, если первый тайм-аут?
  • Это круговая малиновка?
Pseudocyber
источник

Ответы:

12

Команда ip helper-addressобозначает адрес, на который передаются широковещательные сообщения; он отправит исходный пакет на каждый из перечисленных адресов.

Если оба отвечают, оба ответа пересылаются обратно в ЛВС.

ytti
источник
1
Таким образом, хост получит IP-адрес от того, какой DHCP-сервер ответит первым - шансы, что один из них побеждает, если другой находится через глобальную сеть?
Псевдоцибер
2
Обычно да. Одной из причин для этого будет отказоустойчивость / HA DHCP (например, ISC DHCPD поддерживает это)
LapTop006,
2
ACK LapTop006 прав. DHCP-клиент будет корректно обрабатывать эту ситуацию двойного предложения, никакой конкретной реализации не требуется.
ytti
6

Ваш ip-помощник является правильным способом сделать это для резервирования и является рекомендуемым методом.

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

Обычно выигрывает первый DHCP-сервер. Оба DHCP-сервера могут (и должны) отправлять DCHPOffers клиенту. Именно клиент решает, какой из них оставить, а затем отправляет DHCPRequest (одноадресный) на сервер, который предложил его для IP-адреса, который он хочет использовать. Серверу необходимо DHCPAck, чтобы запрос завершил процесс.

Для обеспечения избыточности, но для того, чтобы не нарушать правило DHCP о том, что перекрывающиеся области не определены для ваших пулов IP, вам нужны два ip-помощника. Поскольку серверы DHCP не знают друг друга, пулы IP должны быть уникальными. Обычный метод резервирования DHCP - это взять типичную подсеть / 24 и разделить ее на две / 25 для своих областей (по одной на сервер).

Пример: 192.0.2.0/24 - это ваша настоящая сеть, поэтому вы делите ее на 192.0.2.0/25 и 192.0.2.128/25. Таким образом, примерно 256 адресов разделены на два пула по 128 адресов и назначены для каждой области DHCP. Теперь у вас нет перекрывающихся адресов + избыточность.

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

generalnetworkerror
источник
1
На самом деле вы не хотите делить их, а настраиваете одинаковую область действия на всех серверах DHCP и настраиваете уникальные диапазоны исключения для каждого из них. Таким образом, у вас будет лучшая маневренность, если один сервер отключится на некоторое время.
pauska
1
Исключения, как правило, скрываются в конфигурации, и я предпочитаю видеть две области, легко идентифицируемые с их отдельными пулами, поэтому нет никаких сомнений в том, что делает каждый сервер DHPC. Пока проект может обрабатывать сбойный DHCP-сервер в течение некоторого периода времени, я не вижу в этом проблемы, но я согласен, что для некоторых лучше выбрать маршрут исключения. (Эти комментарии касаются графического интерфейса Windows DHCP, который скрывает некоторые детали.)
generalnetworkerror
2

IIRC отправляет как настроенным помощникам, так и побеждает самый быстрый.


источник
1

Что касается вашего беспокойства о том, что DHCP не знает о других арендных платах, то до того, как DHCPOFFER отправляется на хост, DHCP-сервер отправляет ICMP-сообщение на IP-адрес, если DHCP-сервер получает сообщение ICMP Echo Reply, DHCP Сервер выбирает другой IP-адрес и отправляет другое ICMP-сообщение на этот IP-адрес до тех пор, пока не будет получено эхо-сообщение ICMP, а затем DHCP-сервер отправляет IP-адрес в DHCPOFFER на хост.

Дейв
источник
Если так настроено. Можно настроить их DHCP-сервер таким образом, чтобы он не «охранял» назначения.
Рикки Бим
Я бы пошел немного дальше, чем Рики, и сказал бы, что это больше не является обычной практикой во многих крупных сетях, поскольку это может создать проблему производительности на DHCP-серверах. Большинство станций теперь используют локальный межсетевой экран и часто не отвечают на запросы проверки связи, но серверу все еще приходится ждать некоторый период ожидания для каждого запроса. Это также делает эту функцию менее полезной (станция с брандмауэром не будет отвечать, серверу пришлось ждать, пока истечет время ожидания запроса, и конфликт IP все равно будет возникать).
YLearn