myst Posted February 3, 2021 · Report post Добрый день уважаемые коллеги. Наткнулся на грабельку. Есть связка 6505 SUP720 с ip unnumbered + dhcp relay на борту. К каталисту подключен DES-3028. Реализуется схема влан на коммутатор. Настройки 65й ip dhcp relay information option ip dhcp relay information policy keep no ip dhcp relay information check ip dhcp relay information trust-all interface Loopback1 ip address 194.х.х.1 255.255.255.128 interface Vlan667 description # TEST_USR_ACC # ip unnumbered Loopback1 ip helper-address 192.168.100.100 no ip unreachables no ip proxy-arp ip local-proxy-arp interface Vlan666 description # MGM # ip address 192.168.101.1 255.255.255.0 secondary ip address 192.168.102.1 255.255.255.0 secondary ip address 192.168.103.1 255.255.255.0 secondary ip address 192.168.100.1 255.255.255.0 ip helper-address 192.168.100.100 no ip redirects no ip unreachables ip local-proxy-arp ip route-cache same-interface Где 192.168.100.100 это MGM (условный) интерфейс Carbon Billing На DES-3028 enable dhcp_relay config dhcp_relay hops 16 time 0 config dhcp_relay option_82 state enable config dhcp_relay option_82 check enable config dhcp_relay option_82 policy replace config dhcp_relay option_82 remote_id default config dhcp_relay add ipif System 192.168.100.100 config dhcp_relay ports 1-28 state enable На карбоне смотрим в tcpdump 4:51:45.002876 In 1c:af:f7:6c:2e:2e ethertype IPv4 (0x0800), length 383: (tos 0x0, ttl 128, id 3002, offset 0, flags [none], proto UDP (17), length 367) 192.168.100.12.bootpc > 192.168.100.100.bootps: BOOTP/DHCP, Request from 00:1d:72:0d:e9:c3, length 339, hops 1, xid 0xf0af1e1b, Flags [none] Gateway-IP 192.168.100.12 Client-Ethernet-Address 00:1d:72:0d:e9:c3 Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: Request Client-ID Option 61, length 7: ether 00:1d:72:0d:e9:c3 Requested-IP Option 50, length 4: 194.x.x.2 Server-ID Option 54, length 4: 192.168.100.100 Hostname Option 12, length 9: "technics1" FQDN Option 81, length 13: "technics1." Vendor-Class Option 60, length 8: "MSFT 5.0" Parameter-Request Option 55, length 11: Subnet-Mask, Domain-Name, Default-Gateway, Domain-Name-Server Netbios-Name-Server, Netbios-Node, Netbios-Scope, Router-Discovery Static-Route, Classless-Static-Route-Microsoft, Vendor-Option Vendor-Option Option 43, length 3: 220.1.0 Agent-Information Option 82, length 18: Circuit-ID SubOption 1, length 6: ^@^D^BM-^[^@^B Remote-ID SubOption 2, length 8: ^@^F^\M-/M-wl.. 14:51:45.005255 Out d4:ae:52:b9:db:1b ethertype IPv4 (0x0800), length 344: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 328) 192.168.100.100.bootps > 192.168.100.12.bootps: BOOTP/DHCP, Reply, length 300, hops 1, xid 0xf0af1e1b, Flags [none] Your-IP 194.x.x.2 Gateway-IP 192.168.100.12 Client-Ethernet-Address 00:1d:72:0d:e9:c3 Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: ACK Server-ID Option 54, length 4: 192.168.100.100 Lease-Time Option 51, length 4: 3600 Subnet-Mask Option 1, length 4: 255.255.255.128 Default-Gateway Option 3, length 4: 194.x.x.1 Domain-Name-Server Option 6, length 4: 8.8.8.8 Agent-Information Option 82, length 18: Circuit-ID SubOption 1, length 6: ^@^D^BM-^[^@^B Remote-ID SubOption 2, length 8: ^@^F^\M-/M-wl.. Привязка абонента в биллинге по port vlan nas Абонент адрес получает. Мак на порту видится #sh mac address-table | i 667 667 001d.720d.e9c3 dynamic Yes 0 Gi4/6 Но не создается статик роут #sh ip route | i 194.x.x.2 # Абонент соответственно не пингуется. Добавляю ручками ip route 194.х.х.2 255.255.255.255 vlan 667 Сразу все начинает работать. Есть идеи куда можно посмотреть? s72033-adventerprisek9_wan-mz.122-33.SXI6.bin VS-S720-10G PS: с dhcp snooping та же самая картина, биндинг создается, роут нет Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
passer Posted February 4, 2021 · Report post На делинке используйте dhcp_local_relay. Тогда кошка сможет переслать широковещательный запрос и создаст роут на абона Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Reskiner Posted February 5, 2021 · Report post Поскольку ТС сегодня пока отписаться не может, я, как коллега, дополню что попробовали Local_relay - Результат отрицательный. Если при работающем DHCP_relay на сервер хотя бы прилетают корректные данные и просто не создается маршрут: Feb 5 12:15:56 carbon dhcpd: PARS_Access:: Lease for 194.113.232.12 SWIP=192.168.100.12 VLAN=667 PORT=3 PARAM=none MAC=none GPON_MODEM_PORT=none SVLAN=none Feb 5 12:15:56 carbon dhcpd: DHCPREQUEST for 194.113.232.12 (192.168.100.100) from 00:1d:72:0d:e9:c3 (technics1) via 192.168.100.12 Feb 5 12:15:56 carbon dhcpd: DHCPACK on 194.113.232.12 to 00:1d:72:0d:e9:c3 (technics1) via 192.168.100.12 то при работающем local_relay # DHCP_RELAY disable dhcp_relay config dhcp_relay hops 16 time 0 config dhcp_relay option_82 state enable config dhcp_relay option_82 check enable config dhcp_relay option_82 policy replace config dhcp_relay option_82 remote_id default config dhcp_relay add ipif System 192.168.100.100 config dhcp_relay ports 1-28 state enable # DHCP_LOCAL_RELAY enable dhcp_local_relay config dhcp_local_relay option_82 remote_id default config dhcp_local_relay vlan vlanid 667 state enable config dhcp_local_relay option_82 ports 1-28 policy replace данных нет вообще Feb 5 12:16:58 carbon dhcpd: DHCPDISCOVER from 00:1d:72:0d:e9:c3 via 194.113.232.1: network ISC: no free leases Feb 5 12:17:02 carbon dhcpd: DHCPDISCOVER from 00:1d:72:0d:e9:c3 via 194.113.232.1: network ISC: no free leases Feb 5 12:17:11 carbon dhcpd: DHCPDISCOVER from 00:1d:72:0d:e9:c3 via 194.113.232.1: network ISC: no free leases Ставили сегодня туда коммутатор orion (аналог SNR2950) - завелись без проблем. То есть проблема в настройках/существовании D-Linkов. Версия ПО на коммутаторе последняя Boot PROM Version : Build 1.00.B06 Firmware Version : Build 2.94.B22 Hardware Version : A2 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
passer Posted February 5, 2021 (edited) · Report post Я dhcp_local_relay не использовал на d-link, только dhcp_relay, но по-моему, config dhcp_local_relay option_82 ports 1-27 должно быть, при условии, что 28 порт - аплинк. Если аплинка два (резерв или лаг), то убираете из списка оба порта. или же делать что-то типаconfig dhcp_local_relay vlan VLAN667 st en Кстати, глобально включать доверие к opt82 может быть вредно или избыточно. Это можно на на SVI interface Vlan667 сделать. Edited February 5, 2021 by passer Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zhenya` Posted February 5, 2021 · Report post 8 часов назад, Reskiner сказал: Поскольку ТС сегодня пока отписаться не может, я, как коллега, дополню что попробовали Local_relay - Результат отрицательный. Если при работающем DHCP_relay на сервер хотя бы прилетают корректные данные и просто не создается маршрут: Feb 5 12:15:56 carbon dhcpd: PARS_Access:: Lease for 194.113.232.12 SWIP=192.168.100.12 VLAN=667 PORT=3 PARAM=none MAC=none GPON_MODEM_PORT=none SVLAN=none Feb 5 12:15:56 carbon dhcpd: DHCPREQUEST for 194.113.232.12 (192.168.100.100) from 00:1d:72:0d:e9:c3 (technics1) via 192.168.100.12 Feb 5 12:15:56 carbon dhcpd: DHCPACK on 194.113.232.12 to 00:1d:72:0d:e9:c3 (technics1) via 192.168.100.12 то при работающем local_relay # DHCP_RELAY disable dhcp_relay config dhcp_relay hops 16 time 0 config dhcp_relay option_82 state enable config dhcp_relay option_82 check enable config dhcp_relay option_82 policy replace config dhcp_relay option_82 remote_id default config dhcp_relay add ipif System 192.168.100.100 config dhcp_relay ports 1-28 state enable # DHCP_LOCAL_RELAY enable dhcp_local_relay config dhcp_local_relay option_82 remote_id default config dhcp_local_relay vlan vlanid 667 state enable config dhcp_local_relay option_82 ports 1-28 policy replace данных нет вообще Feb 5 12:16:58 carbon dhcpd: DHCPDISCOVER from 00:1d:72:0d:e9:c3 via 194.113.232.1: network ISC: no free leases Feb 5 12:17:02 carbon dhcpd: DHCPDISCOVER from 00:1d:72:0d:e9:c3 via 194.113.232.1: network ISC: no free leases Feb 5 12:17:11 carbon dhcpd: DHCPDISCOVER from 00:1d:72:0d:e9:c3 via 194.113.232.1: network ISC: no free leases Ставили сегодня туда коммутатор orion (аналог SNR2950) - завелись без проблем. То есть проблема в настройках/существовании D-Linkов. Версия ПО на коммутаторе последняя Boot PROM Version : Build 1.00.B06 Firmware Version : Build 2.94.B22 Hardware Version : A2 Вам структуру конфига надо продумывать для такого перехода. Isc ищет по адресу giaddr (via ...) шаред нетворк и потом уже там запись. Похоже, что связка для клиента в другом шареде. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
passer Posted February 5, 2021 · Report post Если я правильно понял задумку, то возникла хотелка: вот бы кошка создавала маршрут на клиента в клиентском влане, но при дхцп запросе, проходящем, через влан управления свитчами. Ничего не смущает? Кто сказал кошке и как, что все такие динамические маршруты создавать только в клиентском и каком? В обычном виде, кошка или другой L3 с ip helper/dhcp relay принимает широковещательные запросы от клиентов в клиентских вланах, пересылает их указанному dhcp-серверу и при прохождении dhcp ack создает маршрут на клиента в том влане, откуда спросили. В общем, dhcp_relay вам не поможет. Он для несколько другого дизайна сети. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myst Posted February 6, 2021 · Report post 14 часов назад, passer сказал: . Ничего не смущает? Кто сказал кошке и как, что все такие динамические маршруты создавать только в клиентском и каком? Совершeннно ничего не смущает. 1) Кошка видит в каком влане мак клиента 2) кошка видет на каком порту висит подсеть выдаваемая клиенту 3) При включеном релее кошка видит VLAN=667 PORT=3 клиента. 4) Access dlink это л2 коммутатор на котором мы в общем случае имеем только 1 л3 интерфейс который не является пользовательским но является менеджментом 4) для пользовательского влана на длинк прописано config dhcp_local_relay vlan vlanid 667 state enable 5) с другими коммутаторами(не длинк) настроеными по тому же принципу все работает вполне ожидаем и корректно. Роут создается. 15 часов назад, zhenya` сказал: . Isc ищет по адресу giaddr (via ...) про какую ISC идет речь? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zhenya` Posted February 7, 2021 · Report post У Reskiner используется isc dhcpd. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myst Posted February 7, 2021 · Report post 3 часа назад, zhenya` сказал: У Reskiner используется isc dhcpd. isc dhcp да, там совершенно ничего нельзя изменить. конфиг для isc dhcp создается внутри карбон биллинг. как уже определили проблема сугубо на коммутаторах доступа длинк. вопрос как это можно обойти. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
passer Posted February 7, 2021 · Report post 22 часа назад, myst сказал: 1) Кошка видит в каком влане мак клиента В ряде случаев не видит. В момент, когда клиент не получил ип, он может ничего не слать, кроме дхцп, а те пакеты делинк в режиме dhcp_relay перехватывает и отправляет от своего ip в влане управления свитчем. Т.е. в момент прохождения dhcp ack кошка не имеет информации относительно того, в каком влане находится клиент и что туда надо создать маршрут. Уж не знаю, как настроены свитчи других производителей, но акцентирую внимание на то что dhcp_relay это по сути dhcp relay, работающий на l3, подобно ip helper кошки, тогда как dhcp_local_relay это просто вставка opt82 и ее контроль на транзитных широковещательных пакетах. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myst Posted February 7, 2021 · Report post 13 минут назад, passer сказал: В ряде случаев не видит. В момент, когда клиент не получил ип, он может ничего не слать, кроме дхцп, а те пакеты делинк в режиме dhcp_relay перехватывает и отправляет от своего ip в влане управления свитчем. Т.е. в момент прохождения dhcp ack кошка не имеет информации относительно того, в каком влане находится клиент и что туда надо создать маршрут. Уж не знаю, как настроены свитчи других производителей, но акцентирую внимание на то что dhcp_relay это по сути dhcp relay, работающий на l3, подобно ip helper кошки, тогда как dhcp_local_relay это просто вставка opt82 и ее контроль на транзитных широковещательных пакетах. это то понятно, вот dhcp_local_relay и не заработал. что же до маршрута, он создается после dhcp ack unicast когда всем всё уже известно. в том числе и мак пользователя, и его влан и его IP. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
passer Posted February 8, 2021 · Report post В 07.02.2021 в 11:08, myst сказал: это то понятно, вот dhcp_local_relay и не заработал. Если убрать dhcp_local_relay с аплинкового порта, добавить ip dhcp relay information trusted на клиентском svi и обеспечить прием сервером dhcp-запросов от ip loopback1 В 03.02.2021 в 14:59, myst сказал: interface Loopback1 ip address 194.х.х.1 255.255.255.128 то должно работать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myst Posted February 9, 2021 · Report post 16 часов назад, passer сказал: Если убрать dhcp_local_relay с аплинкового порта, добавить ip dhcp relay information trusted на клиентском svi и обеспечить прием сервером dhcp-запросов от ip loopback1 то должно работать. там уже есть Цитата ip dhcp relay information trust-all Не работает. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...