Я пытаюсь запустить PXE-сервер и обнаруживаю ошибку «PXE-E51: не получены предложения DHCP или proxyDHCP», что обычно означает, что:
клиент PXE не получил ответа на свое сообщение DHCPDISCOVER. Возможные причины этой проблемы:
- Нет DHCP или BOOT сервера
- Сервер DHCP или BOOTP не работает
- Сервер DHCP или BOOTP не настроен для обслуживания вашего клиента PXE
- Сервер DHCP или BOOTP находится в другой подсети, и механизмы пересылки DHCP или BOOTP не действуют.
Моя установка и конфигурация очень близки к тем, что указаны в этот аналогичный вопрос о ServerFault; разница в том, что в отличие от автора вопроса я абсолютно не вижу DHCPDISCOVER
в журналах DHCP-сервера и dhcpdump -i eth0
ничего не показывает.
Когда я пытаюсь загрузиться с другой машины, я вижу DHCPDISCOVER
и DHCPOFFER
записи в журнале, и машина начнет запрашивать TFTP. То же самое происходит, когда я загружаю виртуальную машину через PXE.
Я считаю, что это означает, что коммутатор не препятствует трафику DHCP (также отключено отслеживание DHCP). Это также означает, что брандмауэры настроены правильно (разумеется, я отключил брандмауэры на хосте и DHCP-сервере).
Если я отключу реальный компьютер от коммутатора, загрузка PXE явно укажет, что с подключением что-то не так, поэтому это не должно быть проблемой с кабелем Ethernet.
Это исключает первые три возможные причины. Что касается четвертого, я не уверен, что мне проверять. Значения широковещательной передачи и сетевой маски одинаковы для коммутатора, маршрутизатора, хоста и DHCP-сервера.
Это очень похоже на проблема STP, но STP отключен на коммутаторе.
Что еще мне нужно проверить?
Если зеркалирование портов настроено для зеркалирования Tx / Rx на порт, используемый машиной разработки, dhcpdump
отображает следующее:
TIME: 2016-06-08 22:34:12.722
IP: 0.0.0.0 (0:0:0:0:0:0) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: 01000000
SECS: 4
FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 55 ( 24) Parameter Request List 1 (Subnet mask)
2 (Time offset)
3 (Routers)
5 (Name server)
6 (DNS server)
11 (Resource location server)
12 (Host name)
13 (Boot file size)
15 (Domainname)
16 (Swap server)
17 (Root path)
18 (Extensions path)
43 (Vendor specific info)
54 (Server identifier)
60 (Vendor class identifier)
67 (Bootfile name)
128 (???)
129 (???)
130 (???)
131 (???)
132 (???)
133 (???)
134 (???)
135 (???)
OPTION: 57 ( 2) Maximum DHCP message size 1260
OPTION: 97 ( 17) UUID/GUID 0000020003000400 ........
0500060007000800 ........
09 .
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010201 ...
OPTION: 60 ( 32) Vendor class identifier PXEClient:Arch:00000:UNDI:002001
---------------------------------------------------------------------------
TIME: 2016-06-08 22:34:14.724
IP: 0.0.0.0 (0:0:0:0:0:0) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: 02000000
SECS: 6
FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 55 ( 24) Parameter Request List 1 (Subnet mask)
2 (Time offset)
3 (Routers)
5 (Name server)
6 (DNS server)
11 (Resource location server)
12 (Host name)
13 (Boot file size)
15 (Domainname)
16 (Swap server)
17 (Root path)
18 (Extensions path)
43 (Vendor specific info)
54 (Server identifier)
60 (Vendor class identifier)
67 (Bootfile name)
128 (???)
129 (???)
130 (???)
131 (???)
132 (???)
133 (???)
134 (???)
135 (???)
OPTION: 57 ( 2) Maximum DHCP message size 1260
OPTION: 97 ( 17) UUID/GUID 0000020003000400 ........
0500060007000800 ........
09 .
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010201 ...
OPTION: 60 ( 32) Vendor class identifier PXEClient:Arch:00000:UNDI:002001
---------------------------------------------------------------------------
TIME: 2016-06-08 22:34:18.729
IP: 0.0.0.0 (0:0:0:0:0:0) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: 03000000
SECS: 10
FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 55 ( 24) Parameter Request List 1 (Subnet mask)
2 (Time offset)
3 (Routers)
5 (Name server)
6 (DNS server)
11 (Resource location server)
12 (Host name)
13 (Boot file size)
15 (Domainname)
16 (Swap server)
17 (Root path)
18 (Extensions path)
43 (Vendor specific info)
54 (Server identifier)
60 (Vendor class identifier)
67 (Bootfile name)
128 (???)
129 (???)
130 (???)
131 (???)
132 (???)
133 (???)
134 (???)
135 (???)
OPTION: 57 ( 2) Maximum DHCP message size 1260
OPTION: 97 ( 17) UUID/GUID 0000020003000400 ........
0500060007000800 ........
09 .
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010201 ...
OPTION: 60 ( 32) Vendor class identifier PXEClient:Arch:00000:UNDI:002001
---------------------------------------------------------------------------
TIME: 2016-06-08 22:34:26.739
IP: 0.0.0.0 (0:0:0:0:0:0) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: 04000000
SECS: 18
FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 55 ( 24) Parameter Request List 1 (Subnet mask)
2 (Time offset)
3 (Routers)
5 (Name server)
6 (DNS server)
11 (Resource location server)
12 (Host name)
13 (Boot file size)
15 (Domainname)
16 (Swap server)
17 (Root path)
18 (Extensions path)
43 (Vendor specific info)
54 (Server identifier)
60 (Vendor class identifier)
67 (Bootfile name)
128 (???)
129 (???)
130 (???)
131 (???)
132 (???)
133 (???)
134 (???)
135 (???)
OPTION: 57 ( 2) Maximum DHCP message size 1260
OPTION: 97 ( 17) UUID/GUID 0000020003000400 ........
0500060007000800 ........
09 .
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010201 ...
OPTION: 60 ( 32) Vendor class identifier PXEClient:Arch:00000:UNDI:002001
---------------------------------------------------------------------------
TIME: 2016-06-08 22:34:42.759
IP: 0.0.0.0 (0:0:0:0:0:0) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: 05000000
SECS: 34
FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 55 ( 24) Parameter Request List 1 (Subnet mask)
2 (Time offset)
3 (Routers)
5 (Name server)
6 (DNS server)
11 (Resource location server)
12 (Host name)
13 (Boot file size)
15 (Domainname)
16 (Swap server)
17 (Root path)
18 (Extensions path)
43 (Vendor specific info)
54 (Server identifier)
60 (Vendor class identifier)
67 (Bootfile name)
128 (???)
129 (???)
130 (???)
131 (???)
132 (???)
133 (???)
134 (???)
135 (???)
OPTION: 57 ( 2) Maximum DHCP message size 1260
OPTION: 97 ( 17) UUID/GUID 0000020003000400 ........
0500060007000800 ........
09 .
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010201 ...
OPTION: 60 ( 32) Vendor class identifier PXEClient:Arch:00000:UNDI:002001
---------------------------------------------------------------------------
TIME: 2016-06-08 22:35:14.817
IP: 0.0.0.0 (0:0:0:0:0:0) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: 06000000
SECS: 66
FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 55 ( 24) Parameter Request List 1 (Subnet mask)
2 (Time offset)
3 (Routers)
5 (Name server)
6 (DNS server)
11 (Resource location server)
12 (Host name)
13 (Boot file size)
15 (Domainname)
16 (Swap server)
17 (Root path)
18 (Extensions path)
43 (Vendor specific info)
54 (Server identifier)
60 (Vendor class identifier)
67 (Bootfile name)
128 (???)
129 (???)
130 (???)
131 (???)
132 (???)
133 (???)
134 (???)
135 (???)
OPTION: 57 ( 2) Maximum DHCP message size 1260
OPTION: 97 ( 17) UUID/GUID 0000020003000400 ........
0500060007000800 ........
09 .
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010201 ...
OPTION: 60 ( 32) Vendor class identifier PXEClient:Arch:00000:UNDI:002001
---------------------------------------------------------------------------
TIME: 2016-06-08 22:36:18.800
IP: 0.0.0.0 (0:0:0:0:0:0) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: 07000000
SECS: 130
FLAGS: 7f80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 55 ( 24) Parameter Request List 1 (Subnet mask)
2 (Time offset)
3 (Routers)
5 (Name server)
6 (DNS server)
11 (Resource location server)
12 (Host name)
13 (Boot file size)
15 (Domainname)
16 (Swap server)
17 (Root path)
18 (Extensions path)
43 (Vendor specific info)
54 (Server identifier)
60 (Vendor class identifier)
67 (Bootfile name)
128 (???)
129 (???)
130 (???)
131 (???)
132 (???)
133 (???)
134 (???)
135 (???)
OPTION: 57 ( 2) Maximum DHCP message size 1260
OPTION: 97 ( 17) UUID/GUID 0000020003000400 ........
0500060007000800 ........
09 .
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010201 ...
OPTION: 60 ( 32) Vendor class identifier PXEClient:Arch:00000:UNDI:002001
---------------------------------------------------------------------------
Для сравнения, вот дамп после успешной загрузки виртуальной машины из PXE:
TIME: 2016-06-08 22:43:33.301
IP: 0.0.0.0 (52:54:0:7c:82:35) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: e5cf9a4f
SECS: 4
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 52:54:00:7c:82:35:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 57 ( 2) Maximum DHCP message size 1472
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010201 ...
OPTION: 60 ( 32) Vendor class identifier PXEClient:Arch:00000:UNDI:002001
OPTION: 77 ( 4) User-class Identification 69505845 iPXE
OPTION: 55 ( 21) Parameter Request List 1 (Subnet mask)
3 (Routers)
6 (DNS server)
7 (Log server)
12 (Host name)
15 (Domainname)
17 (Root path)
43 (Vendor specific info)
60 (Vendor class identifier)
66 (TFTP server name)
67 (Bootfile name)
128 (???)
129 (???)
130 (???)
131 (???)
132 (???)
133 (???)
134 (???)
135 (???)
175 (???)
203 (???)
OPTION: 175 ( 48) ??? b1050110ec813918 ......9.
0101220101190101 ..".....
210101100102eb03 !.......
0100001301011401 ........
0111010117010115 ........
0101270101120101 ..'.....
OPTION: 61 ( 7) Client-identifier 01:52:54:00:7c:82:35
OPTION: 97 ( 17) UUID/GUID 00b818a0926b2af5 .....k*.
e854b1abacc0fd2d .T.....-
ba .
---------------------------------------------------------------------------
TIME: 2016-06-08 22:43:34.302
IP: 0.0.0.0 (52:54:0:7c:82:35) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: e5cf9a4f
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: 52:54:00:7c:82:35:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 57 ( 2) Maximum DHCP message size 1472
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010201 ...
OPTION: 60 ( 32) Vendor class identifier PXEClient:Arch:00000:UNDI:002001
OPTION: 77 ( 4) User-class Identification 69505845 iPXE
OPTION: 55 ( 21) Parameter Request List 1 (Subnet mask)
3 (Routers)
6 (DNS server)
7 (Log server)
12 (Host name)
15 (Domainname)
17 (Root path)
43 (Vendor specific info)
60 (Vendor class identifier)
66 (TFTP server name)
67 (Bootfile name)
128 (???)
129 (???)
130 (???)
131 (???)
132 (???)
133 (???)
134 (???)
135 (???)
175 (???)
203 (???)
OPTION: 175 ( 48) ??? b1050110ec813918 ......9.
0101220101190101 ..".....
210101100102eb03 !.......
0100001301011401 ........
0111010117010115 ........
0101270101120101 ..'.....
OPTION: 61 ( 7) Client-identifier 01:52:54:00:7c:82:35
OPTION: 97 ( 17) UUID/GUID 00b818a0926b2af5 .....k*.
e854b1abacc0fd2d .T.....-
ba .
---------------------------------------------------------------------------
TIME: 2016-06-08 22:43:34.302
IP: 192.168.1.40 (52:54:0:ed:3d:b7) > 192.168.1.249 (52:54:0:7c:82:35)
OP: 2 (BOOTPREPLY)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: e5cf9a4f
SECS: 4
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 192.168.1.249
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 52:54:00:7c:82:35:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: pxelinux.0.
OPTION: 53 ( 1) DHCP message type 2 (DHCPOFFER)
OPTION: 54 ( 4) Server identifier 192.168.1.40
OPTION: 51 ( 4) IP address leasetime 43200 (12h)
OPTION: 1 ( 4) Subnet mask 255.255.254.0
OPTION: 3 ( 4) Routers 192.168.1.1
OPTION: 6 ( 8) DNS server 192.168.1.3,192.168.1.4
---------------------------------------------------------------------------
TIME: 2016-06-08 22:43:36.405
IP: 0.0.0.0 (52:54:0:7c:82:35) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: e5cf9a4f
SECS: 14
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 52:54:00:7c:82:35:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 3 (DHCPREQUEST)
OPTION: 57 ( 2) Maximum DHCP message size 1472
OPTION: 93 ( 2) Client System 0000 ..
OPTION: 94 ( 3) Client NDI 010201 ...
OPTION: 60 ( 32) Vendor class identifier PXEClient:Arch:00000:UNDI:002001
OPTION: 77 ( 4) User-class Identification 69505845 iPXE
OPTION: 55 ( 21) Parameter Request List 1 (Subnet mask)
3 (Routers)
6 (DNS server)
7 (Log server)
12 (Host name)
15 (Domainname)
17 (Root path)
43 (Vendor specific info)
60 (Vendor class identifier)
66 (TFTP server name)
67 (Bootfile name)
128 (???)
129 (???)
130 (???)
131 (???)
132 (???)
133 (???)
134 (???)
135 (???)
175 (???)
203 (???)
OPTION: 175 ( 48) ??? b1050110ec813918 ......9.
0101220101190101 ..".....
210101100102eb03 !.......
0100001301011401 ........
0111010117010115 ........
0101270101120101 ..'.....
OPTION: 61 ( 7) Client-identifier 01:52:54:00:7c:82:35
OPTION: 97 ( 17) UUID/GUID 00b818a0926b2af5 .....k*.
e854b1abacc0fd2d .T.....-
ba .
OPTION: 54 ( 4) Server identifier 192.168.1.40
OPTION: 50 ( 4) Request IP address 192.168.1.249
---------------------------------------------------------------------------
TIME: 2016-06-08 22:43:36.405
IP: 192.168.1.40 (52:54:0:ed:3d:b7) > 192.168.1.249 (52:54:0:7c:82:35)
OP: 2 (BOOTPREPLY)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: e5cf9a4f
SECS: 14
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 192.168.1.249
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 52:54:00:7c:82:35:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: pxelinux.0.
OPTION: 53 ( 1) DHCP message type 5 (DHCPACK)
OPTION: 54 ( 4) Server identifier 192.168.1.40
OPTION: 51 ( 4) IP address leasetime 43200 (12h)
OPTION: 1 ( 4) Subnet mask 255.255.254.0
OPTION: 3 ( 4) Routers 192.168.1.1
OPTION: 6 ( 8) DNS server 192.168.1.3,192.168.1.4
---------------------------------------------------------------------------
Соответствующая строка в dhcpdump
был:
CHADDR: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
Оказалось, что материнская плата неисправна, что привело к отсутствию MAC-адреса при загрузке PXE. В свою очередь, это означало, что все DHCPDISCOVER
запросы с клиентской машины были отправлены без действительного CHADDR
, и поэтому никогда не достигал DHCP-сервера по причине, которую я на самом деле не понимаю (я бы понял, достигнут ли они DHCP-сервера, но сервер решит не отвечать).
Принудительная запись MAC-адреса решила проблему.