Вариант 82 DHCP реле D-Link DGS-1210

У меня возникли проблемы с ретранслятором DHCP (опция 82) на коммутаторе DGS-1210-10. Конфигурация является следующим:

  • порт 1-8 это без тегов VLAN 80 (это тоже его)
    Порты 9 и 10 помечены тегами VLAN 80 и 99 (где 99-моя управляющая VLAN)

  • коммутатор имеет статический IP-адрес на VLAN 99 (управление).

  • клиенты подключены через порты 1-8.

Я хотел бы, чтобы коммутатор вставил агент ретрансляции DHCP Информационная опция (опция 82) на сообщениях DHCP для определения порта.

Я сделал это на других коммутаторах, но не могу заставить его работать на D-Link DGS-1210

вот что я пробовал:

  1. включено состояние ретрансляции DHCP в DHCP-ретрансляции ->глобальные настройки DHCP-ретранслятора (и ничто другое). Информация агента ретрансляции DHCP не вставлена, и коммутатор, кажется, ничего не делает вообще.

  2. включить DHCP в локальной реле и config влан с VID 80. Информация агента ретрансляции DHCP вставлена, но ответ от сервера DHCP отброшен коммутатором. Клиент не видит ответ и продолжает отправлять сообщения обнаружения.

  3. в настройках интерфейса DHCP Relay я могу установить DHCP-сервер, но тогда сообщения DHCP поступают на другой интерфейс. Я могу настроить DHCP-сервер для прослушивания обоих интерфейсов, но затем я получаю предупреждение Multiple interfaces match the same shared network: eth0 eth1. eth1-неправильный интерфейс. Мне нужен DHCP-сервер для прослушивания eth0.

мой вопрос: есть ли способ настроить DGS-1210, чтобы просто вставить информацию агента ретрансляции DHCP (опция 82) на сообщениях DHCP? У меня больше нет вариантов. Наверное, мне стоит переключиться.

предоставление коммутатору IP-адреса в подсети DHCP не является опцией.

Edit: я хотел бы указать на несколько вещей.

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

2) я не согласен с тем, что агент DHCP не может быть запущен на коммутаторе уровня 2, хотя я согласен, что это не обязательно. Однако это можно сделать, и мой DGS-1210 это делает. Я вижу информацию агента ретрансляции DHCP с анализатором пакетов как tcpdump.


Edit:

рассмотреть этот сценарий:

Я хотел бы, чтобы мой DHCP-сервер назначал IP-адреса клиентам на основе того, к какому порту подключен клиент. Если клиент находится на Порту 1, я хотел бы, чтобы его IP был 192.168.0.1, клиент, подключенный к порту 2, должен получить 192.168.0.2 и так далее. Теперь нам нужна информация с коммутатора. Это может быть сделано SNMP, но это, вероятно, будет медленным. Так что, если сообщение DHCP DISCOVER содержало порт? Да, именно здесь вступает в игру вариант 82. Цепь идентификатор может содержать порт. И это то, что делают переключатели. Коммутатор вставляет опцию 82 в сообщения DHCP и вперед сообщения к серверу DHCP.

5
задан Ron Maupin
источник

2 ответов

отвечая на мой вопрос. После того, как попробовал все, я думаю, что единственный способ сделать эту работу состоит в том, чтобы позволить коммутатору пересылать сообщения DHCP на его VLAN управления. Это вариант 3 в моем первоначальном вопросе.

в настройках интерфейса DHCP Relay я могу установить DHCP-сервер, но затем сообщения DHCP поступают на другой интерфейс. Я могу настройте сервер DHCP для прослушивания обоих интерфейсов, но затем я получаю предупреждение несколько интерфейсов совпадают общая сеть: интерфейс eth0 eth1. eth1-неправильный интерфейс. Мне нужен DHCP-сервер для прослушивания eth0.

вставка идентификатора канала агента и идентификатора удаленного агента сделана как ожидалось без проблем вообще, несмотря на это являющийся коммутатором уровня 2. Он может иметь некоторую функциональность уровня 3, скрытую где-то. : -)

DHCP сервер доволен, кроме предупреждения Multiple interfaces match the same shared network. Да, DHCP-сервер работает правильно; Существует несколько интерфейсов в одной общей сети, но так оно и есть...

решением этой проблемы было бы объединить два интерфейса, но пока это работает, я в порядке.

обратите внимание: этот вопрос был о коммутаторах серии D-Link DGS-1210, а не о том, как использовать (или не использовать) агент ретрансляции DHCP. DGS-1210 может действовать как агент ретрансляции DHCP. Это может быть настроено от веб-интерфейса. Она также описана в руководстве.

2
отвечен Jeff Merlin 2016-11-13 10:22:02
источник

основываясь на ваших комментариях, я думаю, вы неправильно понимаете агенты ретрансляции DHCP и параметр DHCP 82. Я объясню это ниже.

вы должны понимать разницу между layer-2 (MAC) адресами и layer-3 (IP) адресами, и как они используются.

адреса уровня 2 используются в локальной сети для доставки кадры от одного хоста в локальной сети непосредственно к другому хосту в локальной сети. Кадры уровня 2 имеют адреса уровня 2 (MAC) источника и назначения. Хозяин отправки Хост на той же самой LAN будет использовать layer-2 (MAC) адрес хоста назначения в качестве уровня назначения-2 (MAC) адрес, и протокол уровня 2 (ethernet) поставит кадры непосредственно хостам назначения. Хост отправки кадры из одной локальной сети в другую LAN будет использовать layer-2 (MAC) адрес настроенного шлюза (маршрутизатора) в качестве целевого layer-2 (MAC) адреса. Отправляющий хост ничего не знает о том, как ethernet делает это (через прямое соединение, коммутатор, концентратор или что-нибудь еще); он только знает, что он посылает кадры out его интерфейс. Это означает, что хост не знает ни о каких коммутаторах или портах коммутатора в локальной сети.

Layer-2 (MAC) имеет специальный широковещательный адрес (ff-ff-ff-ff-ff-ff), что означает кадры С этим адресом доставляются на все хосты в локальной сети. запрос DHCP использует этот широковещательный адрес в качестве адреса назначения уровня 2 (MAC), поэтому каждый хост в локальной сети, включая DHCP-сервер, получит его. Layer-2 кадры существуют только в локальной сети, в которой они были созданы (описано ниже), поэтому это представляет проблему для широковещательных сообщений, включая запросы DHCP, поскольку они не могут быть отправлены из локальной сети в другую локальную сеть. Именно поэтому были созданы агенты ретрансляции DHCP и DHCP опция 82.

адреса уровня 3 используются для доставки пакетов от одной локальной сети к другой локальной сети, и они имеют адреса источника и назначения уровня 3 (IP). Когда маршрутизатор получает Уровень 2 рама С ним адрес слоя-2 (МАК), он обнажает и сбросит слой-2 рама, включая layer-2 (MAC) адреса, чтобы выставить layer-3 пакета. Маршрутизатор будет смотреть на уровень 3 (IP) адрес назначения и сравнивать его с целевыми сетями в его таблице маршрутизации. Если if находит, что layer-3 (IP) address совпадает с одной из сетей в его таблице маршрутизации, это передаст пакета к следующему интерфейсу, и он будет создать новый слой-2 рама для протокола нового интерфейса, который может или не может использовать MAC-адреса, но адреса уровня 2 для нового уровня-2 рама будет для нового интерфейса; весь предыдущий слой-2 рама информация была отброшена.

когда хост отправляет запрос DHCP, он отправляется на широковещательный адрес уровня 2 (MAC) в рама и широковещательный адрес уровня 3 (IP) (255.255.255.255, что не допускается для маршрутизации) в пакета. Если DHCP-сервер находится в той же локальной сети, что и запрашивающий узел, это работает хорошо, поскольку DHCP-сервер получает запрос. Затем DHCP-сервер отправит предложение DHCP обратно запрашивающему узлу. В зависимости от того, как сервер DHCP настроен, это может передать его к широковещательному адресу уровня 2 (MAC) или адресу хоста уровня 2 (MAC), потому что это изучило это от запроса DHCP уровня 2 рама. Это также хорошо работает, если DHCP-сервер и запрашивающий хост находится в той же локальной сети. Специальные параметры DHCP не требуются.

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

для решения этой проблемы были созданы агенты ретрансляции DHCP. протокол DHCP агент ретрансляции настроен на интерфейсе локальной сети маршрутизатора. Маршрутизатор получит запрос DHCP, потому что он передается широковещательному адресу уровня 2 (MAC). Агент ретрансляции DHCP настроен с адресами уровня 3 (IP) одного или нескольких серверов DHCP. Это потому, что DHCP-серверов на другие Ланс. Агент ретрансляции DHCP примет широковещательный запрос DHCP и упакует его в layer-3 пакета и отправить его в локальные сети, где находятся DHCP-серверы.

следующая проблема возникает, когда DHCP-сервер должен отправить обратно предложение DHCP. Это обычно передавало бы его к широковещательному адресу уровня 2 (MAC) или уровню 2 (MAC) исходный адрес, замеченный в запросе DHCP рама в локальной сети DHCP-сервера, но запрашивающий хост находится не там. Это не будет работать, поскольку запрашивающий узел находится в другой локальной сети. Это-то, где опция 82 DHCP входит.

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

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


Edit:

рассмотрим такой сценарий:

Я хотел бы, чтобы мой DHCP-сервер назначение IP-адресов клиентам к какому порту подключен клиент. Если клиент находится на Порту 1, я бы как это IP, чтобы быть 192.168.0.1, клиент, подключенный к порту 2 должен вам 192.168.0.2 и так далее. Теперь нам нужна информация с коммутатора. Это может быть сделано SNMP, но это, вероятно, будет медленным. Так что если сообщение DHCP DISCOVER содержало порт? Да, вот где вариант 82 приходит в игру. Идентификатор канала может содержать порт. И это что делают переключатели. Тот опция 82 вставок коммутатора в сообщениях DHCP и пересылает сообщения DHCP-серверу.

Как я объяснил в своих комментариях, коммутатор является прозрачным устройством, и как DHCP-сервер, так и хосты, подключенные к коммутатору, не знают о коммутаторе или портах коммутатора. Это не то, как работает DHCP-сервер, и DHCP не назначается так, как вы хотели бы, и если вы должны были переместить хост из одного порта коммутатора в другой во время его аренды DHCP, он все равно получит тот же IP адрес, поскольку он основан на его MAC-адрес.

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

Если ваша забота знает, какой IP-адрес назначен на какой порт коммутатора, вы можете найти эту информацию, сравнивая назначения MAC/IP-адресов DHCP (говорит вам какой IP-адрес назначен, к которому MAC-адрес) и таблица MAC-адресов коммутатора (говорит вам, к какому порту коммутатора подключен MAC-адрес).

0
отвечен Ron Maupin 2016-11-12 18:53:29
источник

Другие вопросы dhcp dhcp-server networking relay switch