После того как обнаружил проблему в продакшене -
Собрал на столе следующую схему:
Код:
DGS-3700-12G Gigabit Ethernet Switch
Command Line Interface
Firmware: Build 2.00.B042
Copyright(C) 2010 D-Link Corporation. All rights reserved.
UserName:
PassWord:
DGS-3700-12G:5#sh sw
Command: show switch
Device Type : DGS-3700-12G Gigabit Ethernet Switch
MAC Address : 00-21-91-5E-52-96
IP Address : 10.40.7.253 (Manual)
VLAN Name : manag
Subnet Mask : 255.255.254.0
Default Gateway : 10.40.6.1
Boot PROM Version : Build 1.00.B004
Firmware Version : Build 2.00.B042
Hardware Version : A1
Serial Number : P4I71B3000073
System Name : "TEST"
System Location :
System Uptime : 0 days, 1 hours, 52 minutes, 40 seconds
System Contact : "8-926-495-7375"
Spanning Tree : Disabled
GVRP : Disabled
IGMP Snooping : Disabled
MLD Snooping : Disabled
Telnet : Enabled (TCP 23)
Web : Enabled (TCP 80)
SNMP : Enabled
SSL Status : Disabled
SSH Status : Disabled
802.1x : Disabled
Jumbo Frame : Off
CLI Paging : Enabled
MAC Notification : Disabled
Port Mirror : Disabled
SNTP : Disabled
HOL Prevention State : Enabled
Syslog Global State : Disabled
Single IP Management : Disabled
Dual Image : Supported
Password Encryption Status : Enabled
D-Link 3700-12 VLAN 1000 - управление, адрес 10.40.7.253/23
Аплинк =12 порт
Клиентский VLAN =42 Из настроек только DHCP Relay:
Код:
DGS-3700-12G:5#show dhcp_relay
Command: show dhcp_relay
DHCP/Bootp Relay Status : Enabled
DHCP/Bootp Hops Count Limit : 4
DHCP/Bootp Relay Time Threshold : 0
DHCP Vendor Class Identifier Option 60 State: Disabled
DHCP Client Identifier Option 61 State: Disabled
DHCP Relay Agent Information Option 82 State : Enabled
DHCP Relay Agent Information Option 82 Check : Disabled
DHCP Relay Agent Information Option 82 Policy : Keep
DHCP Relay Agent Information Option 82 Remote ID : 00-21-91-5E-52-96
Interface Server 1 Server 2 Server 3 Server 4
------------ --------------- --------------- --------------- ---------------
System 10.40.6.4
DHCP сервер живет на 10.40.6.4 выдает IP адрес по IP свича и номеру порта коммутатора примерно как тут описано (
http://xgu.ru/wiki/%D0%9E%D0%BF%D1%86%D ... 8F_82_DHCP)
И обслуживает пару тысяч длинковских свичей без проблем.
Клиент DHCP - роутер микротик с дефолтным конфигом.
Тест N1 Подключаем клиента в 9 порт коммутатора DGS3700-12G
Клиент сразу получает адрес - тут проблем нет никаких - DHCP Relay работает. Как и ожидалось и точно также как на других железках.
Код:
Oct 29 14:53:01 dhcp-01 dhcpd: DHCPDISCOVER from b8:69:f4:25:8a:5d (MikroTik) via 10.40.7.253
Oct 29 14:53:01 dhcp-01 dhcpd: DHCPOFFER on 10.215.42.111 to b8:69:f4:25:8a:5d (MikroTik) via 10.40.7.253
Oct 29 14:53:01 dhcp-01 dhcpd: DHCPREQUEST for 10.215.42.111 (10.40.6.4) from b8:69:f4:25:8a:5d (MikroTik) via 10.40.7.253
Oct 29 14:53:01 dhcp-01 dhcpd: DHCPACK on 10.215.42.111 to b8:69:f4:25:8a:5d (MikroTik) via 10.40.7.253
Тест N2Втыкаем в 1 порт свича еще один коммутатор. В данном случае DGS-1210-28/ME, но пробовал и на других моделях, без разницыКод:
Device Type : DGS-1210-28/ME
MAC Address : 40-9B-CD-57-F8-6C
IP Address : 10.40.7.101 (Manual)
VLAN Name : manag
Subnet Mask : 255.255.254.0
Default Gateway : 10.40.6.1
System Boot Version : 1.01.033
System Firmware Version : 7.02.B049
System Hardware Version : B1
System Serial Number : S3BP1H6000067
System Name : TEST2
System Location :
System up time : 0 days, 0 hrs, 48 min, 52 secs
System Contact : 8-926-495-7375
System Time : 29/10/2019 16:25:47
RTC Time : 29/10/2019 16:25:46
STP : Disabled
GVRP : Disabled
IGMP Snooping : Enabled
VLAN Trunk : Disabled
802.1X Status : Disabled
Telnet : Enabled (TCP 23)
Web : Enabled (TCP 80)
RMON : Enabled
SSH : Disabled
Syslog Global State : Enabled
SSL : Disabled
CLI Paging : Enabled
Password Encryption State : Enabled
Клиент переезжает в 2 порт нового коммутатора. Конфиг DHCP сервера изменен соответвующим образом.
Клиент адреса НЕ получает. ДО DHCP сервера также ничего не долетает и в логе DHCP и в tcpdump - пусто Тест №3Тест номер 3 аналогичен тесту N2, но на 3700-12 -отключаем DHCP_Relay
Код:
DGS-3700-12G:5#disable dhcp_relay
Command: disable dhcp_relay
Success.
DGS-3700-12G:5#show dhcp_relay
Command: show dhcp_relay
DHCP/Bootp Relay Status : Disabled
DHCP/Bootp Hops Count Limit : 4
DHCP/Bootp Relay Time Threshold : 0
DHCP Vendor Class Identifier Option 60 State: Disabled
DHCP Client Identifier Option 61 State: Disabled
DHCP Relay Agent Information Option 82 State : Enabled
DHCP Relay Agent Information Option 82 Check : Disabled
DHCP Relay Agent Information Option 82 Policy : Keep
DHCP Relay Agent Information Option 82 Remote ID : 00-21-91-5E-52-96
Interface Server 1 Server 2 Server 3 Server 4
------------ --------------- --------------- --------------- ---------------
System 10.40.6.4
Как только DHCP Relay на 3700-12 отключен -тут же моментально пакеты DHCP от нижестоящего свича проходят и клиент успешно получает адрес
Код:
Oct 29 15:42:39 dhcp-01 dhcpd: DHCPDISCOVER from b8:69:f4:25:8a:5d (MikroTik) via 10.40.7.101
Oct 29 15:42:39 dhcp-01 dhcpd: DHCPOFFER on 10.215.42.111 to b8:69:f4:25:8a:5d (MikroTik) via 10.40.7.101
Oct 29 15:42:39 dhcp-01 dhcpd: DHCPREQUEST for 10.215.42.111 (10.40.6.4) from b8:69:f4:25:8a:5d (MikroTik) via 10.40.7.101
Oct 29 15:42:39 dhcp-01 dhcpd: DHCPACK on 10.215.42.111 to b8:69:f4:25:8a:5d (MikroTik) via 10.40.7.101
Итого:
При включении DHCP Relay на коммутаторе 3700-12G он перестает пропускать пакеты DHCP от нижестоящих коммутаторов
При попытке поменять что либо в конфиге DHCP Relay (option_82 check и т.д.) ситуация не меняется.
Никакие другие железки от Длинк так себя не ведут.
Ставлю вместо 3700-12G старые 3526, 3627G, 3420-24SC и т.п. (есть сеть из ~2500 коммутаторов от длинка - много разных связей) - нигде нет подобной проблемы.
При необходимости могу выслать конфиги железок, но там ничего нет кроме VLAN, IP адреса и DHCP Relay