Jump to content
Калькуляторы

DHCP-сервер на коммутаторе - в чем "фишка" ? При наличии маршрутизатора DHCP поднят на коммутаторе

На днях запускал в работу творение компании Huawei под названием MicroDC. Для тех кому искать не охота что это за агрега,т поясню вкратце - фабрично скомплектованный шкаф со всеми аксессуарами (PDU,ИБП, сервера, коммутационные панели, блок мониторинга с датчиками температуры/залития/открывания, маршрутизатор типа AR1200, коммутатор S5700, кабели) - оставляет приятное впечатление - все отмаркировано, пустые юниты в заглушках (при желании можно вообще заказать предконфигурацию по адресам и функционалу оборудования - приедет - только затаскивай на нужный этаж, подключай питание и инет).... Красота (кроме веса - около 500кг в сборе и порядка 270кг в максимально возможном разобранном варианте).

Так вот впервые столкнулся с тем, что при наличии в схеме маршрутизатора функционал DHCP-сервера сделан не на нем, а на коммутаторе (адресов выдается немного - подсетка 192.168.1.0 с маской 255.255.255.128). На маршрутизаторе соответственно NAT, DNS и т.п.

Не подскажете - в чем "фишка" подобной реализации ?!

Share this post


Link to post
Share on other sites

1. DHCP сервер должен находиться максимально близко к конечному устройству.

Рассказываю почему, есть много enterprise железок которые dhcp discover посылают с ttl1 иногда с ttl2 когда пользователи очень просили. Если DHCP будет спрятан за несколькими маршрутизаторами, никто не получит настройки. (Харьков, MaxNet это камень в твой огород)

2. Меньше BROADCAST траффика, летит на маршрутизатор.

3. Не каждый маршрутизатор нормально может работать в качестве DHCP сервера. Да этот функционал может быть, и он вроде как работает, но если завернуть сеть /23, может умереть, или же если lease-time очень маленький.

 

P.S. А если учесть что у вашего маршрутизатора заявленная скорость через wan 200-400Мбит, в зависимости от модели, железка не айс, микротик и тот больше протащит

Edited by FATHER_FBI

Share this post


Link to post
Share on other sites

1 верно

2 не верно

3 Зависит от маршрутизатора, вообще не верно.

 

Собственно вариант 1 автора выше.

DHCP это л2. Не имеет смысл утаскивать dhcp на л3 к примеру, придется городить дополнительные сущности.

Share this post


Link to post
Share on other sites

Ну в целом понятно - просто как вариант разгрузить маршрутизатор от ненужной нагрузки. ну и с вариантом 1 - согласен полностью

Share this post


Link to post
Share on other sites

1 верно

в лучшем случае спорно, зависит от ситуации

Ну да, давайте навесим кучу хелпером, л2 функции утащим на л3 девайсы. Обосновать то сможете?

Я знаю ровно 2 случая когда это имеет смысл делать на роутере.

Share this post


Link to post
Share on other sites

Я смогу. Что тут обосновывать. На l2-свитче умрет CPU от таких операций, если нет внятного контроля за контроль плейном.

Share this post


Link to post
Share on other sites

Я смогу. Что тут обосновывать. На l2-свитче умрет CPU от таких операций, если нет внятного контроля за контроль плейном.

А на роутере не может? Или там л2 запросы внезапно хардварно обрабатываться стали? =)))))

Share this post


Link to post
Share on other sites

1 верно

в лучшем случае спорно, зависит от ситуации

Ну да, давайте навесим кучу хелпером, л2 функции утащим на л3 девайсы. Обосновать то сможете?

Я знаю ровно 2 случая когда это имеет смысл делать на роутере.

 

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

Share this post


Link to post
Share on other sites

1 верно

в лучшем случае спорно, зависит от ситуации

Ну да, давайте навесим кучу хелпером, л2 функции утащим на л3 девайсы. Обосновать то сможете?

Я знаю ровно 2 случая когда это имеет смысл делать на роутере.

 

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

Ну да, рассказа о ваших кривых руках/роутере без подробностей очень веский аргумент. Надо верить.

Share this post


Link to post
Share on other sites

... И хорошее настроение не покинет больше вааас!

Друзья, на мой взгляд, ответ на вопрос ТС - Because I can. Можно ставить DHCP самыми разными способами - здесь делают так, у меня есть и на маршрутизаторе и отдельном PC, раньше были еще и на Cisco коммутаторе. Как говорится, на вкус и цвет фломастеры разные.

 

С Новым Годом)

Share this post


Link to post
Share on other sites

Хм, у меня на практике роутер 2911-кошка загибалась только от DNS-запросов из внутренней подсетки... по DHCP - 0,1-0,2% загрузки - чему там сильно грузиться то ? если сетка более-менее постоянная - раз в день-два-три(по времени жизни выдачи адресов) ответил на запрос и "уснул".

Формально - пока только ответ с "максимальным приближением DHCP-сервера к конечным устройствам" звучит наиболее логично. Есть еще конечно вариант - когда реализация DHCP-сервера на коммутаторе может быть урезаннее чем на роутере. Хоть опрос открывай - "При наличии одинакового функционала DHCP-сервера на коммутаторе и роутере - на чем бы вы подняли ?" - думаю что процент за роутер будет выше (исходя из практики людей).... но такой опрос будет аналогичен "windows vs linux"

Share this post


Link to post
Share on other sites

***ь вы за***... dhcp это л2 dns это l3... причем тут днс? учите, ***ь хоть минимальную матчасть. ровно 2 смысла существования dhcp на роутере

1) Роутер меж 2мя сетями на физ. интерфейсах.

2) На роутере управление dhcp реализовано более удобно.

точка, все. иначе - пункт первый.

Share this post


Link to post
Share on other sites

Хм, у меня на практике роутер 2911-кошка загибалась только от DNS-запросов из внутренней подсетки... по DHCP - 0,1-0,2% загрузки - чему там сильно грузиться то ? если сетка более-менее постоянная - раз в день-два-три(по времени жизни выдачи адресов) ответил на запрос и "уснул".

Формально - пока только ответ с "максимальным приближением DHCP-сервера к конечным устройствам" звучит наиболее логично. Есть еще конечно вариант - когда реализация DHCP-сервера на коммутаторе может быть урезаннее чем на роутере. Хоть опрос открывай - "При наличии одинакового функционала DHCP-сервера на коммутаторе и роутере - на чем бы вы подняли ?" - думаю что процент за роутер будет выше (исходя из практики людей).... но такой опрос будет аналогичен "windows vs linux"

Вот вам кстати пример по 1 пункту с моего поста

DHCP options:
   Name: server-identifier, Value: 10.12.12.115
   Name: router, Value: [ 91.193.175.254 ]
   Code: 1, Type: ip-address, Value: 255.255.255.0
   Name: domain-name, Value: TRIOLAN
   Name: name-server, Value: [ 8.8.8.8, 109.86.2.21, 109.86.2.2 ]

 

Видно что DHCP сервер 10.12.12.115, делаем трассу на него

tracert 10.12.12.115

Трассировка маршрута к 10.12.12.115 с максимальным числом прыжков 30

 1    <1 мс    <1 мс    <1 мс  192.168.1.1
 2     1 ms     1 ms     1 ms  91.193.175.254
 3    <1 мс    <1 мс     1 ms  10.12.12.115

Трассировка завершена.

И судя по тому что когда моя железка отсылает dhcp discover и мне не возвращается ответ, не сложно догадаться что на 91.193.175.254 не настроена корректная ретрансляция DHCP пакетов, они тупо маршрутизируют дальше. На другом провайдере ситуация еще хуже, там DHCP за 2-мя маршрутизаторами.

 

Пару пруфов http://forums.whirlpool.net.au/archive/2207944 и http://forums.juniper.net/t5/SRX-Services-Gateway/SRX-DHCP-client-sends-discover-request-with-TTL-1/td-p/99180

 

P.S. В одном комьюнити специалисты писали что это по RFC, пакет dhcp discovery должен отправляться с ttl-1, для этого и делается ретрансляция DHCP пакетов, что бы не срезался ttl. В RFC пробовал искать но так и не нашел, если кто кинет ссылку, буду признателен.

Share this post


Link to post
Share on other sites

И судя по тому что когда моя железка отсылает dhcp discover и мне не возвращается ответ, не сложно догадаться что на 91.193.175.254 не настроена корректная ретрансляция DHCP пакетов, они тупо маршрутизируют дальше. На другом провайдере ситуация еще хуже, там DHCP за 2-мя маршрутизаторами.

 

Что-то не очень понятна связь между link-local DHCPDISCOVER и его маршрутизацией. All ones broadcast куда-то маршрутизируется?

Share this post


Link to post
Share on other sites

И судя по тому что когда моя железка отсылает dhcp discover и мне не возвращается ответ, не сложно догадаться что на 91.193.175.254 не настроена корректная ретрансляция DHCP пакетов, они тупо маршрутизируют дальше.

Машрутизируют броадкаст? Это сильно. Фактически невероятно.

 

пакет dhcp discovery должен отправляться с ttl-1

На ттл можно положить, пакеты с dst ip 255.255.255.255/32 дальше первого хопа не уйдут.

 

RFC пробовал искать но так и не нашел, если кто кинет ссылку, буду признателен.

https://www.ietf.org/rfc/rfc2131.txt

Share this post


Link to post
Share on other sites

пакет dhcp discovery должен отправляться с ttl-1

На ттл можно положить, пакеты с dst ip 255.255.255.255/32 дальше первого хопа не уйдут.

 

1) Такие пакеты могут попасть в dhcp-relay

2) В некоторых маршрутизаторах можно выставить маршрут к IP/сети 255.255.255.255 :)

Share this post


Link to post
Share on other sites

Что-то не очень понятна связь между link-local DHCPDISCOVER и его маршрутизацией. All ones broadcast куда-то маршрутизируется?

Машрутизируют броадкаст? Это сильно. Фактически невероятно.

Я писал за маршрутизацию DHCP пакетов, в cisco это называется DHCP Relay и на сколько мне известно, cisco не срезает ttl а перехватывает этот пакет и юникастом маршрутизирует по иерархии выше или на DHCP сервер если он в прямой видимости.

Этот документ я видел, но про эталонное значение ttl в dhcp discover там ничего не сказано.

Share this post


Link to post
Share on other sites

Что-то не очень понятна связь между link-local DHCPDISCOVER и его маршрутизацией. All ones broadcast куда-то маршрутизируется?

Машрутизируют броадкаст? Это сильно. Фактически невероятно.

Я писал за маршрутизацию DHCP пакетов, в cisco это называется DHCP Relay и на сколько мне известно, cisco не срезает ttl а перехватывает этот пакет и юникастом маршрутизирует по иерархии выше или на DHCP сервер если он в прямой видимости.

Функционал Relay Agent тут как раз ни у кого удивления не вызывает.

Но вы же сами писали, что первом хопе провайдера "не настроена корректная трансляция DHCP пакетов, они тупо маршрутизируются дальше". Это вызывает массу вопросов.

 

tracert 10.12.12.115

Трассировка маршрута к 10.12.12.115 с максимальным числом прыжков 30

 1    <1 мс    <1 мс    <1 мс  192.168.1.1
 2     1 ms     1 ms     1 ms  91.193.175.254
 3    <1 мс    <1 мс     1 ms  10.12.12.115

Трассировка завершена.

 

Если предположить, что первый хоп не ваш, а провайдера, тогда Relay Agent на 192.168.1.1 перехватывает DISCOVER, который дальше unicast'ом маршрутизируется через второй хоп к третьему, на втором ttl=1 срезается и обратно уходит icmp error. Такой сценарий вероятен. Но что-то мне подсказывает, что первый хоп в этой трассировке ваша железка.

Share this post


Link to post
Share on other sites

1) Такие пакеты могут попасть в dhcp-relay

2) В некоторых маршрутизаторах можно выставить маршрут к IP/сети 255.255.255.255 :)

1) И? Релей-агент шлёт этот пакет уже непосредственно на dst ip/32 dhcp сервера, никакого броадкаста.

2) Можно, но смысл машрутизировать летающее говно?

 

Я писал за маршрутизацию DHCP пакетов

Нет такого понятия как "маршрутизация дхцп пакетов", есть ретрансляция.

Share this post


Link to post
Share on other sites

Нет такого понятия как "маршрутизация дхцп пакетов", есть ретрансляция.

Правильнее сказать - не должно быть. Если после Relay Agent у вас цепочка маршрутизаторов, на которых этот самый Relay не настроен вообще, то DHCP, переделанный Relay в unicast, как и любой другой unicast, будет именно маршрутизироваться, теряя на каждом хопе ttl. В инторнетах есть душераздирающие темы на форумах, как у некоторых ISP не хватает и 64 линуксовских хопа, чтобы получить адрес. Но это все довольно редкие исключения.

Видимо это FATHER_FBI и имеет ввиду. Но я никак в толк не возьму, как у него с ttl=1 не работает при двух хопах-то.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.