faq обучение настройка
Текущее время: Вт июл 22, 2025 01:08

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу 1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: Сб дек 08, 2012 23:32 
Не в сети

Зарегистрирован: Чт май 12, 2011 21:33
Сообщений: 26
Обнаружилась такая проблема с рядом роутеров (здесь в частности буду приводить примеры с проблемным SOHO-роутером D-Link DIR-300/NRU HW Ver: B7 прошивки пробовали все доступные). Так же наблюдаем проблему с роутерами D-Link DIR-320, Asus RT-N10E.
Кроме того есть несколько моделей роутеров, с которыми данная проблема не проявляется, это роутеры D-Link DIR-300 HW Ver: B3 FW Ver: 2.06, Asus WL-500gP V2 FW Ver: 3.0.4.4, Asus RT-N16 FW Ver: 3.0.0.4.260. Здесь буду приводить примеры работы с беспроблемным роутером D-Link DIR-300 HW Ver: B3 FW Ver: 2.06.

Схема следующая:
DHCP сервер (isc-dhcp-server v.4.1.1) - vlan управления (tag 2) транзитом через DGS-3627G - (DES-3526 25-й порт тегированный - DES-3526 12-й порт не тегированный) - Подопытный роутер.

Предполагаю, что DGS-3627G к проблеме не причастен, так как исследуемый трафик проходит через него в одном и том же vlan'е и в конфигурации коммутатора отключено все, что касается dhcp.

Пробовали версии прошивок на DES-3526: 6.00-B60, 6.20-B10 и 6.20-B18.
Тут приведу работу с прошивками 6.00-B60 и 6.20-B18, то есть с последними из опубликованных.
Вообще же на всех коммутаторах DES-3526 у нас установлена прошивка 6.20-B10, поведение релея, на сколько мы увидели, не отличается между прошивками серии 6.20 начиная с 6.20-B10 и более новыми.

Часть конфига DES-3526 (для всех прошивок один и тот же):
Код:
config vlan default delete 1-26
create vlan vlan2 tag 2
config vlan vlan2 add tagged 25-26
create vlan vlan133 tag 133
config vlan vlan133 add tagged 25-26
config vlan vlan133 add untagged 1-24

config ipif System ipaddress 172.16.0.45/24 vlan vlan2

create iproute default 172.16.0.1
config dhcp_relay add ipif System 172.16.0.1
config dhcp_relay option_82 state enable
config dhcp_relay option_82 policy drop
enable dhcp_relay
enable dhcp_local_relay

config filter dhcp_server ports 1-24 state enable

config address_binding ip_mac ports 1-24 state enable
config address_binding ip_mac ports 1-24 allow_zeroip enable
config address_binding ip_mac ports 1-24 forward_dhcppkt disable
disable address_binding acl_mode
disable address_binding trap_log
config address_binding dhcp_snoop inactive_ageout_time dhcp_lease_time
config address_binding dhcp_snoop max_entry ports 1-24 limit 5
enable address_binding dhcp_snoop

Роутеры настроены в качестве DHCP клиента.

Конфигурацией DHCP сервера задано время аренды адреса в 600 секунд (10 минут).

Суть проблемы заключается в том, что проблемные роутеры не могут корректно продлить аренду адреса.
Спустя ровно пять минут после получения адреса роутер делает попытку продлить аренду отправляя пакеты DHCP-Request (unicast). C этого места поведение агента dhcp-relay на DES-3526 различается в зависимости от прошивки. В случае работы с прошивкой 6.00-B60 эти пакеты релеем не перенаправляются на DHCP сервер. В случае же работы с прошивкой 6.20-B18 эти пакеты пересылаются на DHCP сервер, сервер в свою очередь отвечает DHCP-ACK'ом, роутер получает данный пакет, однако игнорирует его.
Через некоторое время (но еще до истечения аренды) роутер начинает отправлять пакеты DHCP-Request (broadcast), эти пакеты при работе с обеими прошивками DES-3526 перенаправляются релеем на DHCP сервер, тот как обычно отвечает DHCP-ACK'ом, роутер получает данный пакет, но так же игнорирует его.
В конце концов время аренды адреса истекает. Роутер вынужден снова посылать пакеты DHCP-Discover, и вот с этого момента все проходит как надо - DHCP сервер шлет DHCP-Offer, роутер в свою очередь шлет DHCP-Request и сервер отвечает DHCP-ACK, роутер успешно получает адрес и "молчит" следующие пять минут, затем цикл повторяется как описано выше.
Данная проблема порождает жалобы абонентов - владельцев проблемных роутеров: "Часто пропадает Интернет".

К слову сказать беспроблемные роутеры продлевают аренду успешно каждые пять минут, поэтому не "теряют" адрес.
Это касается только работы с прошивками DES-3526 серии 6.20. С прошивкой 6.00-B60 мы так же видим, что роутер вынужден отправлять DHCP-Request Broadcast'ом с адреса 0.0.0.0.

Для проблемных и беспроблемных роутеров сняты дампы DHCP-трафика как на стороне роутера, так и на стороне DHCP сервера при работе с прошивками DES-3526 6.00-B60 и 6.20-B18. Дампы отправил Колпакову Артему на имэйл.

Готов предоставить всю необходимую информацию для прояснения причины такого поведения.

Надеюсь на помощь.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 08:23 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Вт янв 18, 2011 13:29
Сообщений: 8999
Настоятельно рекомендую почитать форум - с 6.10 была сменена логика работы dhcp_relay, обсуждение перехода и проблемы, связанные с ним, уже обсуждались.
Далее - отключите dhcp_local_relay на 6.20. Из дампов видно, что в случае успешного получения адреса у вас как раз отрабатывает local_relay.
Где у вас маршрутизируется юникаст от клиента до сервера? Где находится gateway клиента 10.52.100.1? Нарисуйте полную схему участка сети.
Дальше - смотрите в сторону проблем с роутерами, т.к. они отказываются воспринимать ответ ack от коммутатора как верный.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 10:17 
Не в сети

Зарегистрирован: Чт май 12, 2011 21:33
Сообщений: 26
Артем, конечно же я читал форум. В одном месте читал, что dhcp_local_relay вроде как уже не нужно включать, но подробностей не увидел об этом. Буду благодарен за ссылку, может таки не так искал..
Юникаст у нас как раз от клиента до DHCP сервера не маршрутизируется. Я так думал, что он и не должен маршрутизироваться, для чего же тогда собственно релей агент? Шлюз для клиента находится на DGS-3627G.
Сейчас попробовал отключить dhcp_local_relay, изменений не наблюдаю. Адрес так же получает, но с продлением те же самые проблемы.

Artem Kolpakov писал(а):
Дальше - смотрите в сторону проблем с роутерами, т.к. они отказываются воспринимать ответ ack от коммутатора как верный.


Артем, что вы имеете ввиду? Проблема не в релее? То есть у нас получается парк абонентских роутеров разделился на два фронта - те, которые нормально работают, и те, которые "не дружат" с нашим оборудованием? Нам начинать составлять список "нормальных" роутеров?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 10:57 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Вт янв 18, 2011 13:29
Сообщений: 8999
apog писал(а):
Сейчас попробовал отключить dhcp_local_relay, изменений не наблюдаю.


И дампы - те же? Смотрите дампы на стороне клиента - ACK должны приходить юникастом.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 11:15 
Не в сети

Зарегистрирован: Чт май 12, 2011 21:33
Сообщений: 26
Да, ACK клиенту приходит юникастом. Так же как и раньше. Возможно dhcp_local_relay нам не мешал потому, что у нас с помощью ACL на DGS-3627G запрещена маршрутизация на сеть 172.16.0.0/16, в которой находится DHCP сервер. То есть даже при включенном dhcp_local_relay клиенты не могли достучаться до DHCP сервера напрямую. Сейчас возьму еще раз беспроблемный роутер, посмотрю как он будет работать.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 11:16 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Вт янв 18, 2011 13:29
Сообщений: 8999
Смотрите именно на беспроблемном - ранее ответы к нему шли броадкастом.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 12:15 
Не в сети

Зарегистрирован: Чт май 12, 2011 21:33
Сообщений: 26
Беспроблемный роутер как и прежде успешно продлевает аренду адреса. Да, ACK ему приходят броадкастом. Обратите внимание на содержимое Bootp flags в Request пакетах от проблемного роутера и от беспроблемного. У беспроблемного роутера этот флаг всегда выставлен в Broadcast, даже если роутер фактически отправляет пакеты юникастом. При этом сервер отвечает ACK, содержимое Bootp flags которого так же Broadcast. Видимо релей смотрит на этот флаг, и, соответственно, отдает пакет клиенту в зависимости от этого флага.
У проблемного же роутера этот флаг всегда Unicast. Поэтому от релея клиенту все пакеты отправляются юникастом. Однако первый ACK (при получении адреса) роутер понимает, а все последующие - нет.
Возможно я в чем то заблуждаюсь здесь.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 12:22 
Не в сети

Зарегистрирован: Чт май 12, 2011 21:33
Сообщений: 26
Кажется я нашел то, что нам нужно. Оказывается в isc-dhcp есть опция always-broadcast. Сейчас в конфиг сервера добавил always-broadcast on;
О результатах отпишусь.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 12:47 
Не в сети

Зарегистрирован: Чт май 12, 2011 21:33
Сообщений: 26
Кажется на счет релея я прав, он действительно смотрит содержимое флага. Теперь релей всегда отправляет клиенту ACK броадкастом. НО!!! Поведение клиента не изменилось :( Он так же не слышит эти ответы.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 13:16 
Не в сети

Зарегистрирован: Чт май 12, 2011 21:33
Сообщений: 26
Продолжаю эксперименты. У нас в конфиге dhcp сервера в опции server-identifier был указан ip-адрес сервера (172.16.0.1), на котором он слушает релеи. Сейчас указал в этой опции адрес 0.0.0.0. Теперь проблемный клиент не отправляет RENEW пакеты юникастом, а сразу делает попытки продлить аренду отправляя Request броадкастом, однако флаг у него все равно юникаст. И он по прежнему не слышит ответы.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 13:28 
Не в сети

Зарегистрирован: Чт май 12, 2011 21:33
Сообщений: 26
Артем, у вас есть возможность собрать у себя стенд? Ведь все используемое оборудование производства D-Link. Почти уверен, что вы увидите проблему.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 16:12 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Вт янв 18, 2011 13:29
Сообщений: 8999
Соберите для начала правильную схему у себя, чтобы юникастовый трафик у вас маршрутизировался, чтобы и у "рабочих", и у "нерабочих" устройств у вас работал только dhcp_relay, а не что попало. Посмотрите на дампы в этом случае, проанализируйте их. Ситуацию рассматривайте только на 6.20.
По вашим описаниям стенд собирать не имеет смысла хотя бы потому, что в первом посте у вас изначально неверная схема, а то, что вы делали дальше, уже с трудом поддается воспроизведению.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн дек 10, 2012 20:18 
Не в сети

Зарегистрирован: Чт май 12, 2011 21:33
Сообщений: 26
Да, несколько огорчает. Ожидалось более внимательное отношение со стороны сотрудников Д-Линк.
Артем, укажите, пожалуйста, что конкретно в нашей схеме неверно? Вы сказали, что dhcp_relay и dhcp_local_relay одновременно включать не есть правильно. Локал релей я отключил как вы рекомендовали. Более того, в свое оправдание скажу, что ранее на этом же форуме сотрудниками вашей компании как раз рекомендовалось включать оба релея, чтобы "работало" (я бы ссылку дал, если бы была сразу под рукой, но если принципиально, я потрачу время на поиски). Собственно с тех пор вроде и работало, пока не выявилось с этими роутерами.
Еще раз говорю, локал релей не мог отрабатывать в принципе даже будучи включенным, потому как маршрутизация в сеть, в которой находится dhcp сервер, запрещена, поэтому он не мог мешать (и в дампах это видно прекрасно, если вы посмотрите внимательно). Отсюда отсутствие изменений в поведении при отключении локал релея.
Зачем маршрутизировать, если интерфейсы релей-агентов и интерфейс dhcp сервера находятся в одной сети? Возможно я не уточнил - задача использовать dhcp_relay.
Обосновывайте ваши слова. Какие из моих действий вы считаете не поддаются воспроизведению? Изменение пары опций в конфигурации dhcp сервера?
Артем, я могу еще раз снять дампы с уже выключенным локал релеем, только бы это помогло делу. Сегодня я уже смотрел на все это, говорю вам, поведение не изменилось после выключения локал релея. Беспроблемный роутер как работал, так и работает, а проблемный - косячит.
Все примеры с рабочей сети. DHCP клиенты разные - операционки M$, linux'ы, soho-роутеры, и работают ведь как то большинство из них. А вы говорите изначально неверная схема.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вт дек 11, 2012 08:57 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Вт янв 18, 2011 13:29
Сообщений: 8999
apog писал(а):
Локал релей я отключил как вы рекомендовали. Более того, в свое оправдание скажу, что ранее на этом же форуме сотрудниками вашей компании как раз рекомендовалось включать оба релея, чтобы "работало"

Все верно - на старых версиях прошивок это было необходимо, на 6.20 - уже нет, и, более того, может приводить к неверной работе.
apog писал(а):
Зачем маршрутизировать

Как минимум нужно знать где находится gateway клиента и чтобы он был - если его не будет в принципе (как в описанной вами схеме - вы утверждаете, что он и не нужен) то юникаст от клиента никуда не уйдет - клиент будет пытаться послать юникастовый пакет на мак своего шлюза по умолчанию, чтобы тот смаршрутизировал его до нужной подсети. Не будет известен мак шлюза - не будет юникастового пакета - не отработает релей. Надеюсь, вам понятна логика. То, что этот юникастовый пакет не уйдет дальше порта - вопрос другой. Если шлюза не будет - то от клиента в принципе не будет юникастового DHCP Request - отсюда и моя просьба описать рабочую схему. Поймите, что чем больше я буду доделывать в стенде - тем больше вероятность того, что у меня все будет работать, и проблему я не увижу.
apog писал(а):
и работают ведь как то большинство из них

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

Я соберу у себя стенд с L3, с проверенным и рабочим ISC DHCP, с DES-3526 в качестве релей агента и DIR-300 rev.B7 и WinXP в качестве клиентов - для сравнения.
О результате отпишу. Сдается мне, что проблема скорее в роутерах, нежели в коммутаторе.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вт дек 11, 2012 11:44 
Не в сети

Зарегистрирован: Чт май 12, 2011 21:33
Сообщений: 26
Спасибо, Артем.
Да, gateway есть конечно, они на DGS-3627G. Мы используем один клиентский vlan на один коммутатор доступа.
DGS-3627G прошивка 2.84.B15. Настраиваем его так:

Скрытый текст: показать
Код:
# VLAN

enable pvid auto_assign
config vlan default delete 1-27
config vlan default advertisement enable
create vlan vlan2 tag 2
config vlan vlan2 add tagged 1-24 advertisement disable
create vlan vlan3 tag 3
config vlan vlan3 add tagged 1-24 advertisement disable
create vlan vlan4 tag 4
config vlan vlan4 add tagged 1-24 advertisement disable
create vlan vlan6 tag 6
config vlan vlan6 advertisement disable
create vlan vlan8 tag 8
config vlan vlan8 add tagged 23 advertisement disable
create vlan vlan100 tag 100
config vlan vlan100 add tagged 1-24 advertisement disable
create vlan vlan101 tag 101
config vlan vlan101 add tagged 1-24 advertisement disable
create vlan vlan102 tag 102
config vlan vlan102 add tagged 1-24 advertisement disable
create vlan vlan103 tag 103
config vlan vlan103 add tagged 1-24 advertisement disable
create vlan vlan104 tag 104
config vlan vlan104 add tagged 1-24 advertisement disable
create vlan vlan105 tag 105
config vlan vlan105 add tagged 1-24 advertisement disable
create vlan vlan106 tag 106
config vlan vlan106 add tagged 1-24 advertisement disable
create vlan vlan107 tag 107
config vlan vlan107 add tagged 1-24 advertisement disable
create vlan vlan108 tag 108
config vlan vlan108 add tagged 1-24 advertisement disable
create vlan vlan109 tag 109
config vlan vlan109 add tagged 1-24 advertisement disable
create vlan vlan110 tag 110
config vlan vlan110 add tagged 1-24 advertisement disable
create vlan vlan111 tag 111
config vlan vlan111 add tagged 1-24 advertisement disable
create vlan vlan112 tag 112
config vlan vlan112 add tagged 1-24 advertisement disable
create vlan vlan113 tag 113
config vlan vlan113 add tagged 1-24 advertisement disable
create vlan vlan114 tag 114
config vlan vlan114 add tagged 1-24 advertisement disable
create vlan vlan115 tag 115
config vlan vlan115 add tagged 1-24 advertisement disable
create vlan vlan116 tag 116
config vlan vlan116 add tagged 1-24 advertisement disable
create vlan vlan117 tag 117
config vlan vlan117 add tagged 1-24 advertisement disable
create vlan vlan118 tag 118
config vlan vlan118 add tagged 1-24 advertisement disable
create vlan vlan119 tag 119
config vlan vlan119 add tagged 1-24 advertisement disable
create vlan vlan120 tag 120
config vlan vlan120 add tagged 1-24 advertisement disable
create vlan vlan121 tag 121
config vlan vlan121 add tagged 1-24 advertisement disable
create vlan vlan122 tag 122
config vlan vlan122 add tagged 1-24 advertisement disable
create vlan vlan123 tag 123
config vlan vlan123 add tagged 1-24 advertisement disable
create vlan vlan124 tag 124
config vlan vlan124 add tagged 1-24 advertisement disable
create vlan vlan125 tag 125
config vlan vlan125 add tagged 1-24 advertisement disable
create vlan vlan126 tag 126
config vlan vlan126 add tagged 1-24 advertisement disable
create vlan vlan127 tag 127
config vlan vlan127 add tagged 1-24 advertisement disable
create vlan vlan128 tag 128
config vlan vlan128 add tagged 1-24 advertisement disable
create vlan vlan129 tag 129
config vlan vlan129 add tagged 1-24 advertisement disable
create vlan vlan130 tag 130
config vlan vlan130 add tagged 1-24 advertisement disable
create vlan vlan131 tag 131
config vlan vlan131 add tagged 1-24 advertisement disable
create vlan vlan132 tag 132
config vlan vlan132 add tagged 1-24 advertisement disable
create vlan vlan133 tag 133
config vlan vlan133 add tagged 1-24 advertisement disable
disable qinq
disable gvrp
disable vlan_trunk
config gvrp 1-27 state disable ingress_checking enable acceptable_frame admit_all pvid 1

# SUPERVLAN

create super_vlan vlanid 6
config super_vlan vlanid 6 add sub_vlan 100-133

# ACL

create access_profile profile_id 1 ip source_ip_mask 255.255.255.0 destination_ip_mask 255.255.255.0
config access_profile profile_id 1 add access_id 1 ip source_ip 172.16.0.0 destination_ip 172.16.0.0  port 1-24 permit rx_rate no_limit
create access_profile profile_id 2 ip source_ip_mask 255.255.255.0
config access_profile profile_id 2 add access_id 1 ip source_ip 172.16.0.0  port 1-24 deny
create access_profile profile_id 3 ip destination_ip_mask 255.255.255.0
config access_profile profile_id 3 add access_id 1 ip destination_ip 172.16.0.0  port 1-24 deny
disable cpu_interface_filtering

# IP

config ipif_mac_mapping ipif System mac_offset 0
config ipif System ipaddress 172.16.0.3/24 vlan vlan2
config ipif System proxy_arp disable local disable
create ipif ip10 10.52.10.2/24 vlan6 state enable
config ipif ip10 proxy_arp disable local disable
create ipif ip100 10.52.100.1/26 vlan6 state enable secondary
config ipif ip100 proxy_arp disable local disable
create ipif ip101 10.52.101.1/26 vlan6 state enable secondary
config ipif ip101 proxy_arp disable local disable
create ipif ip102 10.52.102.1/26 vlan6 state enable secondary
config ipif ip102 proxy_arp disable local disable
create ipif ip103 10.52.103.1/26 vlan6 state enable secondary
config ipif ip103 proxy_arp disable local disable
create ipif ip104 10.52.104.1/26 vlan6 state enable secondary
config ipif ip104 proxy_arp disable local disable
create ipif ip105 10.52.105.1/26 vlan6 state enable secondary
config ipif ip105 proxy_arp disable local disable
create ipif ip106 10.52.106.1/26 vlan6 state enable secondary
config ipif ip106 proxy_arp disable local disable
config ipif ip10 ip_mtu 1500
config ipif ip100 ip_mtu 1500
config ipif ip101 ip_mtu 1500
config ipif ip102 ip_mtu 1500
config ipif ip103 ip_mtu 1500
config ipif ip104 ip_mtu 1500
config ipif ip105 ip_mtu 1500
config ipif ip106 ip_mtu 1500
config ipif System ip_mtu 1500
config ipif System dhcpv6_client disable
config ipif ip10  ip_directed_broadcast  disable
config ipif ip100  ip_directed_broadcast  disable
config ipif ip101  ip_directed_broadcast  disable
config ipif ip102  ip_directed_broadcast  disable
config ipif ip103  ip_directed_broadcast  disable
config ipif ip104  ip_directed_broadcast  disable
config ipif ip105  ip_directed_broadcast  disable
config ipif ip106  ip_directed_broadcast  disable
config ipif System  ip_directed_broadcast  disable
disable autoconfig

# ROUTE

config route preference static 60
config route preference default 1
config route preference rip 100
config route preference ospfIntra 80
config route preference ospfInter 90
config route preference ospfExt1 110
config route preference ospfExt2 115
config route preference ebgp 70
config route preference ibgp 130
create iproute default 10.52.10.1 1 primary
config ecmp algorithm ip_destination   crc_low   
enable ecmp ospf


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB