Morty Posted January 28, 2022 (edited) · Report post Всем привет. Имеется коммутатор dgs-3000-28xs, на котором включен dhcp relay и option 82. Так же имеется ISC DHCP Server 4.2.8 с патчем от http://www.miquels.cistron.nl/isc-dhcpd/ Клиенты получают белые IP-адреса по номеру влана и MAC-адресу. Всё работает, но у некоторых клиентов несколько раз в день слетает IP-адрес (в основном слетает у длинков, тп-линков и микротиков). Лог с сервера: Jan 28 15:01:45 localhost dhcpd: DHCPREQUEST for 1.2.3.4 from 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:01:45 localhost dhcpd: DHCPACK on 1.2.3.4 to 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:06:47 localhost dhcpd: DHCPREQUEST for 1.2.3.4 from 08:00:27:f4:46:ff via 10.0.150.44 Jan 28 15:06:47 localhost dhcpd: DHCPACK on 1.2.3.4 to 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:06:47 localhost dhcpd: DHCPREQUEST for 1.2.3.4 from 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:06:47 localhost dhcpd: DHCPACK on 1.2.3.4 to 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:06:48 localhost dhcpd: DHCPDISCOVER from 08:00:27:f4:46:ff (RouterOS) circuit-id 0:4:0:7f:0:f remote-id 1:11:31:38:2d:30:46:2d:37:36:2d:31:35:2d:38:37:2d:41:30 via 10.0.150.44 Jan 28 15:06:48 localhost dhcpd: DHCPOFFER on 1.2.3.4 to 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:06:49 localhost dhcpd: DHCPDISCOVER from 08:00:27:f4:46:ff (RouterOS) circuit-id 0:4:0:7f:0:f remote-id 1:11:31:38:2d:30:46:2d:37:36:2d:31:35:2d:38:37:2d:41:30 via 10.0.150.44 Jan 28 15:06:49 localhost dhcpd: DHCPOFFER on 1.2.3.4 to 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:06:49 localhost dhcpd: DHCPDISCOVER from 08:00:27:f4:46:ff (RouterOS) circuit-id 0:4:0:7f:0:f remote-id 1:11:31:38:2d:30:46:2d:37:36:2d:31:35:2d:38:37:2d:41:30 via 10.0.150.44 Jan 28 15:06:49 localhost dhcpd: DHCPOFFER on 1.2.3.4 to 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:06:50 localhost dhcpd: DHCPDISCOVER from 08:00:27:f4:46:ff (RouterOS) circuit-id 0:4:0:7f:0:f remote-id 1:11:31:38:2d:30:46:2d:37:36:2d:31:35:2d:38:37:2d:41:30 via 10.0.150.44 Jan 28 15:06:50 localhost dhcpd: DHCPOFFER on 1.2.3.4 to 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:06:51 localhost dhcpd: DHCPREQUEST for 1.2.3.4 (10.0.150.2) from 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:06:51 localhost dhcpd: DHCPACK on 1.2.3.4 to 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:11:13 localhost dhcpd: DHCPREQUEST for 1.2.3.4 from 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:11:13 localhost dhcpd: DHCPACK on 1.2.3.4 to 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:15:37 localhost dhcpd: DHCPREQUEST for 1.2.3.4 from 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:15:37 localhost dhcpd: DHCPACK on 1.2.3.4 to 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:20:07 localhost dhcpd: DHCPREQUEST for 1.2.3.4 from 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Jan 28 15:20:07 localhost dhcpd: DHCPACK on 1.2.3.4 to 08:00:27:f4:46:ff (RouterOS) via 10.0.150.44 Лог с клиента: dhcp-client on ether1 lost IP address 1.2.3.4 - lease expired Конфиг сервера: local-address 10.0.150.2; authoritative; ddns-update-style none; log-facility local7; default-lease-time 300; max-lease-time 300; class "MatchVlanMAC" { spawn with concat( binary-to-ascii(10, 16, "", suffix(substring(option agent.circuit-id, 0, 4), 2)), ";", binary-to-ascii(16, 8, ":", substring(hardware, 1, 7)) ); } shared-network net { subnet 10.0.150.0 netmask 255.255.255.0 { } subnet 1.2.3.0 netmask 255.255.255.0 { option routers 1.2.3.1; pool { allow members of "MatchVlanMAC" "127;8:0:27:f4:46:ff"; range 1.2.3.4; } } } В чём может быть проблема? Edited February 18, 2022 by z1boris Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted January 28, 2022 · Report post В 28.01.2022 в 14:41, z1boris сказал: В чём может быть проблема? В клиентах. Вы бы уточнили что значит "слетает IP-адрес", а то всякое бывает. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morty Posted January 28, 2022 (edited) · Report post В 29.01.2022 в 00:48, Ivan_83 сказал: В клиентах. Вы бы уточнили что значит "слетает IP-адрес", а то всякое бывает. У клиента кончается аренда, он начинает запрашивать ip-адрес. Хотя по логу вроде как видно, что в 15:06:47 аренда была продлена, но в 15:06:48 клиент посылает Discover. И смущает то, что клиент 4 раза посылает Discover, а сервер 4 раза отвечает Offer. Такое ощущение, что до клиента не долетает Offer. Edited January 28, 2022 by z1boris Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sdy_moscow Posted January 28, 2022 · Report post @z1boris это глюк д-линка.... вот только не помню исправили они его или нет. Там сочетание нескольких факторов работает на 3000. Как раз гремучая смесь DGS-3000 + тп-линк + микротик. Симптомы 1 в 1. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pppoetest Posted January 29, 2022 · Report post Уходите от софтфич доступа. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morty Posted January 29, 2022 (edited) · Report post В 29.01.2022 в 09:10, pppoetest сказал: Уходите от софтфич доступа. В сторону чего? Какие есть варианты выдать пользователю ip-адрес по влану и маку или по порту? Edited January 29, 2022 by z1boris Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pppoetest Posted January 29, 2022 · Report post В 29.01.2022 в 13:38, z1boris сказал: В сторону чего? Какие есть варианты выдать пользователю ip-адрес по влану и маку или по порту? в сторону vlan per user Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morty Posted January 29, 2022 · Report post В 29.01.2022 в 09:48, pppoetest сказал: в сторону vlan per user При использовании vlan per user необходимо внедрять ip unnumbered. Как будет происходить выдача ip-адресов? Опишите, пожалуйста, всю схему. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morty Posted January 29, 2022 (edited) · Report post Собрал стенд из dgs-3000, dhcp сервера и микротика. Пишу дампы трафика и на стороне dhcp сервера и на стороне микротика. Надеюсь всё станет ясно. Если проблема действительно в Длинке, то буду писать в тех поддержку. О результатах отпишу как всё станет понятно. Edited January 29, 2022 by z1boris Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pppoetest Posted January 29, 2022 · Report post В 29.01.2022 в 14:14, z1boris сказал: Как будет происходить выдача ip-адресов? Точно также как и сейчас. По dhcp. В 29.01.2022 в 14:14, z1boris сказал: При использовании vlan per user необходимо внедрять ip unnumbered. Не обязательно, если клиенту не выдаёте белые адреса. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted January 29, 2022 · Report post В 28.01.2022 в 23:16, z1boris сказал: У клиента кончается аренда, он начинает запрашивать ip-адрес. Хотя по логу вроде как видно, что в 15:06:47 аренда была продлена, но в 15:06:48 клиент посылает Discover. И смущает то, что клиент 4 раза посылает Discover, а сервер 4 раза отвечает Offer. Такое ощущение, что до клиента не долетает Offer. http://netlab.dhis.org/wiki/ru:software:perl:dhcp_server + дхцп релей агенты на свичах = работает без проблем насколько я знаю. Роутер могли и перезагрузить, не нужно забивать себе голову пресловутыми временем аренды и прочими глупостями, которые касаются интимных подробностей управления пулом адресов. Офер мог не дойти из за роутинга или ещё каких то особенностей, например его отправили броадкастом и он попал под рейтлимит броадкаста где то на свиче. В 29.01.2022 в 07:38, z1boris сказал: Какие есть варианты выдать пользователю ip-адрес по влану и маку или по порту? Вон скрипт, см выше. Обязательно нужен релей агент, лучше наверное на свичах, тогда опцию82 будет кому добавлять. В 29.01.2022 в 08:14, z1boris сказал: При использовании vlan per user необходимо внедрять ip unnumbered. Не обязательно. В 29.01.2022 в 08:14, z1boris сказал: Как будет происходить выдача ip-адресов? Опишите, пожалуйста, всю схему. Как обычно. В 29.01.2022 в 10:29, z1boris сказал: Если проблема действительно в Длинке, то буду писать в тех поддержку. Толку то, вы что нанимались к длинку обновляльщиком прошивок? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morty Posted January 29, 2022 (edited) · Report post В 29.01.2022 в 23:33, Ivan_83 сказал: http://netlab.dhis.org/wiki/ru:software:perl:dhcp_server + дхцп релей агенты на свичах = работает без проблем насколько я знаю. Роутер могли и перезагрузить, не нужно забивать себе голову пресловутыми временем аренды и прочими глупостями, которые касаются интимных подробностей управления пулом адресов. Офер мог не дойти из за роутинга или ещё каких то особенностей, например его отправили броадкастом и он попал под рейтлимит броадкаста где то на свиче. Вон скрипт, см выше. Обязательно нужен релей агент, лучше наверное на свичах, тогда опцию82 будет кому добавлять. Не обязательно. Как обычно. Толку то, вы что нанимались к длинку обновляльщиком прошивок? Спасибо, попробую ваш dhcp сервер. Есть жалобы от абонентов - на несколько секунд пропадает интернет. Как раз по логам у этих абонентов проблемы с dhcp. Вообще проблемы начались после изменения аренды с 12 часов на 5-10 минут. Появилось желание сделать авторизацию не по макам, а по портам. В ISC DHCP пока аренда не закончится, новое устройство на порту не получит IP. Насчёт тех поддержки - уже был опыт, профиксили баг и выпустили новую прошивку спустя месяц после обращения. Главное писать не на форум, а им на email, отвечают в течение часа. Edited January 29, 2022 by z1boris Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Antares Posted January 31, 2022 · Report post В 30.01.2022 в 03:21, z1boris сказал: Спасибо, попробую ваш dhcp сервер. Есть жалобы от абонентов - на несколько секунд пропадает интернет. Как раз по логам у этих абонентов проблемы с dhcp. Вообще проблемы начались после изменения аренды с 12 часов на 5-10 минут. Появилось желание сделать авторизацию не по макам, а по портам. В ISC DHCP пока аренда не закончится, новое устройство на порту не получит IP. Насчёт тех поддержки - уже был опыт, профиксили баг и выпустили новую прошивку спустя месяц после обращения. Главное писать не на форум, а им на email, отвечают в течение часа. Брать патченый ISC DHCP, который не учитывает мак Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
h3ll1 Posted February 15, 2022 · Report post On 1/29/2022 at 12:29 PM, z1boris said: Собрал стенд из dgs-3000 Freeradius делатет DHCP. Не нужно делать другое. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morty Posted February 17, 2022 (edited) · Report post В 31.01.2022 в 08:07, Antares сказал: Брать патченый ISC DHCP, который не учитывает мак Спасибо, поставил на 4.2.8 этот патч и патч о котором писал в шапке. В общем настроил dhcp local relay, с ним всё нормально работает. Подумываю о vlan per user. Единственный минус, который я вижу, огромная куча вланов. Но с учётом того, что настройки будут автоматически генерироваться, то какая разница? Из плюсов - можно использовать дешёвые свитчи. При этом на свитчах не надо настраивать relay, DHCP Server screening, Traffic Segmentation. Какие ещё есть минусы у vlan per user? Edited February 17, 2022 by z1boris Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pppoetest Posted February 17, 2022 · Report post В 17.02.2022 в 19:58, z1boris сказал: Подумываю о vlan per user. Единственный минус, который я вижу, огромная куча вланов. За 5 месяцев (время считал от идеи до полного внедрения) перевёл сеть c влана на свитч на сабж, в качестве браса это, в разы упростилось управление и координация сетью. Минусов нет, одни плюсы: вендоронезависимость, полная идентичность конфигурации доступа, от которого требуется только снмп, lbd, вланы и трафикконтрол, на агрегации selective qinq. Ну какбы всё. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morty Posted February 18, 2022 · Report post В 17.02.2022 в 21:47, pppoetest сказал: За 5 месяцев (время считал от идеи до полного внедрения) перевёл сеть c влана на свитч на сабж, в качестве браса это, в разы упростилось управление и координация сетью. Минусов нет, одни плюсы: вендоронезависимость, полная идентичность конфигурации доступа, от которого требуется только снмп, lbd, вланы и трафикконтрол, на агрегации selective qinq. Ну какбы всё. Ещё ни разу qinq не настраивал, сейчас пытаюсь разобраться. Смотрю ваша схема самая распространённая. А нельзя ли на свитче доступа упаковывать вланы, чтобы на агрегации не получить огромную пачку вланов? Например, на свитче агрегации 24 порта по 10G, со свитчей доступа прилетит 24*24 влана = 576 вланов. Было бы ведь удобнее на свитче агрегации просто пропускать транзитом 24 влана с двойным тегом. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morty Posted February 18, 2022 · Report post Немного разобрался. На свитче доступа: 1-24 - абоненты 25 - аплинк, воткнут в свитч агрегации create vlan vlan2001 tag 2001 config vlan vlan2001 add untagged 1:1-1:24 config vlan vlan2001 add tagged 1:25 config qinq ports 1-28 outer_tpid 0x8100 enable qinq config qinq ports 1 role uni missdrop disable outer_tpid 0x8100 add_inner_tag 0x2 config qinq ports 2 role uni missdrop disable outer_tpid 0x8100 add_inner_tag 0x3 ... config qinq ports 24 role uni missdrop disable outer_tpid 0x8100 add_inner_tag 0x18 config qinq ports 25 role nni missdrop disable outer_tpid 0x8100 add_inner_tag disable На свитче агрегации: 1 - свитч доступа 25 - брас create vlan vlan2001 tag 2001 config vlan vlan2001 add tagged 1:1,1:25 Свитч агрегации ничего про QinQ не знает. В итоге на свитче агрегации будет максимум 24 влана для qinq и 1 влан для управления. А на брасе получаем что-то вроде eth0.2001.2 - eth0.2001.25 Правильно ли я реализовал? На стенде данная схема работает. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pppoetest Posted February 18, 2022 · Report post В 18.02.2022 в 16:35, z1boris сказал: А нельзя ли на свитче доступа упаковывать вланы, чтобы на агрегации не получить огромную пачку вланов? Можно, но зачем? От доступа требуется только 802.1q, а свитчи умеющие упаковывать вланы стоят дороже. В 18.02.2022 в 16:35, z1boris сказал: Например, на свитче агрегации 24 порта по 10G, со свитчей доступа прилетит 24*24 влана = 576 вланов. Нет. У меня агрегаторы по 48 портов, и на доступе есть 48-ми портовые, да и колбаски местами есть, а на агрегации колво вланов= количеству свитчeй доступа. При этом доступ ничего не знает про qinq. На агрегаторе selective qinq. В 18.02.2022 в 20:41, z1boris сказал: Правильно ли я реализовал? На стенде данная схема работает. Правильно, но данная схема, в итоге, выйдет дороже. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morty Posted February 18, 2022 (edited) · Report post В 18.02.2022 в 18:01, pppoetest сказал: Нет. У меня агрегаторы по 48 портов, и на доступе есть 48-ми портовые, да и колбаски местами есть, а на агрегации колво вланов= количеству свитчeй доступа. При этом доступ ничего не знает про qinq. На агрегаторе selective qinq. На агрегации получается что-то типо такого? port 1 смотрит в сторону свитча доступа вланы 2-25 - абонентские вланы со свитча доступа влан 150 - управляющий влан влан 2001 - внешний тег create vlan_translation ports 1 add cvid 2-25 svid 2001 create vlan_translation ports 1 replace outer_vid 150 svid 150 Получается ваш свитч агрегации знает про все вланы на свитчах доступа? Или я что-то не понимаю? Если есть возможность, приведите, пожалуйста, конфигурацию Edited February 18, 2022 by z1boris Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pppoetest Posted February 18, 2022 · Report post В 18.02.2022 в 23:22, z1boris сказал: Получается ваш свитч агрегации знает про все вланы на свитчах доступа? Нет, агрегатору нужно только сопоставление номера порта, номер коммутатора в колбасе, и s-vlan. с-vlans 101-999, s-vlans 1110-1999, менедж влан 2000, ну и само собой мту поднять хотя бы на 4 байта вот кусок конфига агрегатора: vlan 1290-1327 ! ... class-map chain0 match vlan range 101-148 ! class-map chain1 match vlan range 149-196 ! class-map chain2 match vlan range 197-244 ! class-map chain3 match vlan range 245-292 ! class-map chain4 match vlan range 293-340 ! .... policy-map port11 class chain0 add s-vid 1298 exit class chain1 add s-vid 1299 exit ! policy-map port12 class chain0 add s-vid 1294 exit class chain1 add s-vid 1295 exit class chain2 add s-vid 1296 exit class chain3 add s-vid 1297 exit ! .... Interface Ethernet1/0/11 service-policy input port11 switchport mode hybrid switchport hybrid allowed vlan 2000 tag switchport hybrid allowed vlan 1298-1299 untag ! Interface Ethernet1/0/12 service-policy input port12 switchport mode hybrid switchport hybrid allowed vlan 2000 tag switchport hybrid allowed vlan 1294-1297 untag ! ... Interface Ethernet1/0/52 switchport discard packet untag switchport mode trunk switchport trunk allowed vlan 1290-1327;2000 ! Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Morty Posted February 19, 2022 (edited) · Report post В 18.02.2022 в 22:57, pppoetest сказал: Нет, агрегатору нужно только сопоставление номера порта, номер коммутатора в колбасе, и s-vlan. с-vlans 101-999, s-vlans 1110-1999, менедж влан 2000, ну и само собой мту поднять хотя бы на 4 байта вот кусок конфига агрегатора: vlan 1290-1327 ! ... class-map chain0 match vlan range 101-148 ! class-map chain1 match vlan range 149-196 ! class-map chain2 match vlan range 197-244 ! class-map chain3 match vlan range 245-292 ! class-map chain4 match vlan range 293-340 ! .... policy-map port11 class chain0 add s-vid 1298 exit class chain1 add s-vid 1299 exit ! policy-map port12 class chain0 add s-vid 1294 exit class chain1 add s-vid 1295 exit class chain2 add s-vid 1296 exit class chain3 add s-vid 1297 exit ! .... Interface Ethernet1/0/11 service-policy input port11 switchport mode hybrid switchport hybrid allowed vlan 2000 tag switchport hybrid allowed vlan 1298-1299 untag ! Interface Ethernet1/0/12 service-policy input port12 switchport mode hybrid switchport hybrid allowed vlan 2000 tag switchport hybrid allowed vlan 1294-1297 untag ! ... Interface Ethernet1/0/52 switchport discard packet untag switchport mode trunk switchport trunk allowed vlan 1290-1327;2000 ! Спасибо, действительно работает. Эта схема намного лучше, так как позволяет использовать абсолютно любые свитчи доступа. Ещё есть вопросы с резервированием. Два свитча доступа подключены друг к другу и оба подключены к свитчу агрегации (топология кольцо). Надо разобраться как настраивать mstp. Edited February 19, 2022 by z1boris Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pppoetest Posted February 19, 2022 · Report post В 19.02.2022 в 17:50, z1boris сказал: Надо разобраться как настраивать mstp. Тут не помогу, у нас колец нет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ser Posted March 21, 2022 (edited) · Report post Уважаемые, подскажите. Что можно поставить под linux в качестве dhcp-relay на который будет приходить много qinq пакетов? А релей должен в curcuit_id вставить имя интерфейса исходя из c-vlan, s-vlan. Идеально, не создавать клиентские интерфейсы на dhcp-relay. Ну, или создавать все клиентские интерфейсы. Тогда в curcuit_id вставлять имя интерфейса. Edited March 21, 2022 by Ser Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted March 21, 2022 · Report post Не уверен что есть релеи которые хотя бы один влан прожёвывают. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...