Bug 43330 - dhcpcd не отправляет DHCPREQUEST после получения DHCPOFFER
Summary: dhcpcd не отправляет DHCPREQUEST после получения DHCPOFFER
Status: CLOSED FIXED
Alias: None
Product: Branch p10
Classification: Unclassified
Component: etcnet (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: Alexey Shabalin
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-07-25 00:32 MSK by Валентин
Modified: 2022-08-08 18:59 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Валентин 2022-07-25 00:32:39 MSK
Система: ALT Virtualization Server 10 (Actinoform)
Ядра: 5.10.131-std-def-alt1 и 5.10.88-std-def-alt1
dhcpcd 9.4.0 и isc-dhclient-4.4.2
Сисема управления настройками сети Etcnet
Проблема касается сабинтерфейсов типа vlan, на родительском интерфейсе работает.
dhcp клиент отправляет DHCPDISCOVER, на интерфейсе клиента виден входящий DHCPOFFER от сервера, но DHCPREQUEST не отсылается и через некоторое время цикл повторяется:
[root@shaft boot]# tcpdump -vvvepnni eth0 udp
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
00:28:57.502079 40:b0:76:df:3d:97 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 346: vlan 99, p 0, ethertype IPv4, (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 40:b0:76:df:3d:97, length 300, xid 0x8d501d46, Flags [none] (0x0000)
	  Client-Ethernet-Address 40:b0:76:df:3d:97
	  Vendor-rfc1048 Extensions
	    Magic Cookie 0x63825363
	    DHCP-Message Option 53, length 1: Discover
	    Parameter-Request Option 55, length 11: 
	      Subnet-Mask, BR, Time-Zone, Classless-Static-Route
	      Domain-Name, Domain-Name-Server, Hostname, NTP
	      MTU, Option 119, Default-Gateway
	    END Option 255, length 0
	    PAD Option 0, length 0, occurs 43
00:28:57.512652 a4:7b:2c:98:67:44 > 40:b0:76:df:3d:97, ethertype 802.1Q (0x8100), length 346: vlan 99, p 0, ethertype IPv4, (tos 0xc0, ttl 64, id 35360, offset 0, flags [none], proto UDP (17), length 328)
    90.154.77.209.67 > 188.32.93.70.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x8d501d46, Flags [none] (0x0000)
	  Your-IP 188.32.93.70
	  Server-IP 90.154.77.209
	  Client-Ethernet-Address 40:b0:76:df:3d:97
	  Vendor-rfc1048 Extensions
	    Magic Cookie 0x63825363
	    DHCP-Message Option 53, length 1: Offer
	    Server-ID Option 54, length 4: 90.154.77.209
	    Lease-Time Option 51, length 4: 3600
	    Subnet-Mask Option 1, length 4: 255.255.248.0
	    BR Option 28, length 4: 188.32.95.255
	    Domain-Name-Server Option 6, length 8: 77.37.251.33,77.37.255.30
	    Default-Gateway Option 3, length 4: 188.32.88.1
	    END Option 255, length 0
	    PAD Option 0, length 0, occurs 16

00:29:03.368300 40:b0:76:df:3d:97 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 346: vlan 99, p 0, ethertype IPv4, (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 40:b0:76:df:3d:97, length 300, xid 0x8d501d46, secs 6, Flags [none] (0x0000)
	  Client-Ethernet-Address 40:b0:76:df:3d:97
	  Vendor-rfc1048 Extensions
	    Magic Cookie 0x63825363
	    DHCP-Message Option 53, length 1: Discover
	    Parameter-Request Option 55, length 11: 
	      Subnet-Mask, BR, Time-Zone, Classless-Static-Route
	      Domain-Name, Domain-Name-Server, Hostname, NTP
	      MTU, Option 119, Default-Gateway
	    END Option 255, length 0
	    PAD Option 0, length 0, occurs 43
00:29:03.379304 a4:7b:2c:98:67:44 > 40:b0:76:df:3d:97, ethertype 802.1Q (0x8100), length 346: vlan 99, p 0, ethertype IPv4, (tos 0xc0, ttl 64, id 36715, offset 0, flags [none], proto UDP (17), length 328)
    90.154.77.209.67 > 188.32.93.70.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x8d501d46, Flags [none] (0x0000)
	  Your-IP 188.32.93.70
	  Server-IP 90.154.77.209
	  Client-Ethernet-Address 40:b0:76:df:3d:97
	  Vendor-rfc1048 Extensions
	    Magic Cookie 0x63825363
	    DHCP-Message Option 53, length 1: Offer
	    Server-ID Option 54, length 4: 90.154.77.209
	    Lease-Time Option 51, length 4: 3600
	    Subnet-Mask Option 1, length 4: 255.255.248.0
	    BR Option 28, length 4: 188.32.95.255
	    Domain-Name-Server Option 6, length 8: 77.37.251.33,77.37.255.30
	    Default-Gateway Option 3, length 4: 188.32.88.1
	    END Option 255, length 0
	    PAD Option 0, length 0, occurs 16

00:29:10.438537 40:b0:76:df:3d:97 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 346: vlan 99, p 0, ethertype IPv4, (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 40:b0:76:df:3d:97, length 300, xid 0x8d501d46, secs 13, Flags [none] (0x0000)
	  Client-Ethernet-Address 40:b0:76:df:3d:97
	  Vendor-rfc1048 Extensions
	    Magic Cookie 0x63825363
	    DHCP-Message Option 53, length 1: Discover
	    Parameter-Request Option 55, length 11: 
	      Subnet-Mask, BR, Time-Zone, Classless-Static-Route
	      Domain-Name, Domain-Name-Server, Hostname, NTP
	      MTU, Option 119, Default-Gateway
	    END Option 255, length 0
	    PAD Option 0, length 0, occurs 43
00:29:10.449387 a4:7b:2c:98:67:44 > 40:b0:76:df:3d:97, ethertype 802.1Q (0x8100), length 346: vlan 99, p 0, ethertype IPv4, (tos 0xc0, ttl 64, id 38681, offset 0, flags [none], proto UDP (17), length 328)
    90.154.77.209.67 > 188.32.93.70.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x8d501d46, Flags [none] (0x0000)
	  Your-IP 188.32.93.70
	  Server-IP 90.154.77.209
	  Client-Ethernet-Address 40:b0:76:df:3d:97
	  Vendor-rfc1048 Extensions
	    Magic Cookie 0x63825363
	    DHCP-Message Option 53, length 1: Offer
	    Server-ID Option 54, length 4: 90.154.77.209
	    Lease-Time Option 51, length 4: 3600
	    Subnet-Mask Option 1, length 4: 255.255.248.0
	    BR Option 28, length 4: 188.32.95.255
	    Domain-Name-Server Option 6, length 8: 77.37.251.33,77.37.255.30
	    Default-Gateway Option 3, length 4: 188.32.88.1
	    END Option 255, length 0
	    PAD Option 0, length 0, occurs 16
Comment 1 Валентин 2022-07-25 17:05:15 MSK
Что интересно dhcpdump, в отличии от tcpdump, офферов не видит
[root@shaft boot]# dhcpdump -i eth0.99
  TIME: 2022-07-25 17:03:06.813
    IP: 0.0.0.0 (40:b0:76:df:3d:97) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
    OP: 1 (BOOTPREQUEST)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  HOPS: 0
   XID: e46aff31
  SECS: 0
 FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 40:b0:76:df:3d:97:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         1 (DHCPDISCOVER)
OPTION:  55 ( 11) Parameter Request List      1 (Subnet mask)
					     28 (Broadcast address)
					      2 (Time offset)
					    121 (Classless Static Route)
					     15 (Domainname)
					      6 (DNS server)
					     12 (Host name)
					     42 (NTP servers)
					     26 (Interface MTU)
					    119 (Domain Search)
					      3 (Routers)
					    
---------------------------------------------------------------------------


  TIME: 2022-07-25 17:03:14.197
    IP: 0.0.0.0 (40:b0:76:df:3d:97) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
    OP: 1 (BOOTPREQUEST)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  HOPS: 0
   XID: e46aff31
  SECS: 8
 FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 40:b0:76:df:3d:97:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         1 (DHCPDISCOVER)
OPTION:  55 ( 11) Parameter Request List      1 (Subnet mask)
					     28 (Broadcast address)
					      2 (Time offset)
					    121 (Classless Static Route)
					     15 (Domainname)
					      6 (DNS server)
					     12 (Host name)
					     42 (NTP servers)
					     26 (Interface MTU)
					    119 (Domain Search)
					      3 (Routers)
					    
---------------------------------------------------------------------------

^C
[root@shaft boot]#
Comment 2 Alexey Shabalin 2022-07-27 13:19:47 MSK
https://www.altlinux.org/Etcnet:

Обратите внимание, что ISC DHCP сервер на интерфейсе VLAN, скорее всего, у вас не будет работать, пока вы не добавите опцию VLAN_REORDER_HDR=on в настройки vlan интерфейса.

Если это оно, то не баг.
Comment 3 Валентин 2022-07-28 03:02:31 MSK
Да! Спасибо! Это оно!
Однако вопрос:
man ip-link, говорит о том что reorder_hdr { on | off } - specifies whether ethernet headers are reordered or not (default is on) - по умолчанию реордеринг включен, т.е. получается в пакете etcnet его по умолчанию специально отключают. Для чего был выбран такой подход? Тем более что в других дистрибутивах, к примеру:
Fedora release 34 (Thirty Four)
Slackware 14.2
Значение оставлено по умолчанию.
Comment 4 Валентин 2022-07-28 03:10:20 MSK
Тем более что дисрибутив ориентирован на виртуализацию, а получение ip по dhcp для виртуальных машин весьма вероятно.
Comment 5 Alexey Shabalin 2022-07-29 23:38:45 MSK
В сизифе исправил. Отправил обновление в p10. Ждемс.
Comment 6 Alexey Shabalin 2022-08-08 18:59:41 MSK
* Thu Jul 28 2022 Alexey Shabalin <shaba@altlinux.org> 0.9.26-alt1
- vlan: set default reorder_hdr=on (Closes: #43330).