首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UEFI客户端的DnsMasq、DHCP代理、PXE出现问题

UEFI客户端的DnsMasq、DHCP代理、PXE出现问题
EN

Server Fault用户
提问于 2017-01-27 19:11:35
回答 1查看 13.1K关注 0票数 2

我正在尝试用dnsmasq作为dhcp代理来设置PXE服务器。

它适用于客户端-arch=0 (x86遗留客户端),但UEFI客户端甚至没有终止与PXE服务器的DHCP数据包交换,甚至在这些较新的客户端上也没有出现pxe提示(用dnsmasq设置)。

我已经转储了PXE服务器和使用Wireshark的客户端之间的DHCP对话框,我看到了一些不同之处,但我无法理解为什么只有遗留客户端才能成功地与我的服务器连接。

在PXE服务器和遗留服务器和遗留客户端之间转储DHCP消息 (工作!)

服务器和UEFI客户端之间DHCP消息的转储 (不工作:( )

我在网上找不到一个有效的配置:下面的很多例子,我得到的就是UEFI系统不会与PXE服务器交换最终的请求/ACK。

Dnsmasq配置:

代码语言:javascript
运行
复制
port=0
interface=bond
log-dhcp
dhcp-range=192.168.1.200,proxy,255.255.255.0
dhcp-no-override

dhcp-option=vendor:,6,2b

pxe-prompt="Press any key for boot menu", 5

dhcp-match=set:x86PC, option:client-arch, 0
dhcp-match=set:BC_EFI, option:client-arch, 7

pxe-service=tag:x86PC,x86PC, "Legacy BIOS PXE", bios/pxelinux
pxe-service=tag:BC_EFI,BC_EFI, "UEFI PXE", efi64/syslinux.efi

dhcp-boot=tag:x86PC, bios/pxelinux.0
dhcp-boot=tag:BC_EFI, efi64/syslinux.efi

外面有解决办法吗?

编辑:我使用的是2.76版本,支持UEFI (请参阅官方网站上的changelog )。

EDIT2:我的UEFI客户端被归类为PXEClient: arch :00007 (所以,BC_EFI是正确的dnsmasq拱形标记)。

EN

回答 1

Server Fault用户

发布于 2017-01-27 20:34:58

DnsMasq proxyDHCP不适用于UEFI环境:

http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2015q4/009907.html

EDIT_1如果您使用的是UEFI支持的新DnsMasq,那么尝试添加缺少的体系结构9。

代码语言:javascript
运行
复制
 dhcp-match=set:EFI_ x86-64, option:client-arch, 9

UEFI 64客户端也使用9作为体系结构。

EDIT_2

请把你的配置建立在这个基础上。

代码语言:javascript
运行
复制
# Don't function as a DNS server:
port=0

# Log lots of extra information about DHCP transactions.
log-dhcp

# Set the root directory for files available via FTP.
tftp-root=/tftpboot

# Disable re-use of the DHCP servername and filename fields as extra
# option space. That's to avoid confusing some old or broken DHCP clients.
dhcp-no-override

# The boot filename, Server name, Server Ip Address
dhcp-boot=bios/pxelinux,,192.168.1.200

# PXE menu.  The first part is the text displayed to the user.  The second is the timeout, in seconds.
# pxe-prompt="Booting PXE Client", 1

# The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
# Intel_Lean_Client, IA32_EFI, ARM_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
# This option is first and will be the default if there is no input from the user.

# PXEClient:Arch:00000
pxe-service=X86PC, "Boot BIOS PXE", bios/pxelinux

# PXEClient:Arch:00007
pxe-service=BC_EFI, "Boot UEFI PXE-BC", efi64/syslinux.efi

# PXEClient:Arch:00009
pxe-service=X86-64_EFI, "Boot UEFI PXE-64", efi64/syslinux.efi

dhcp-range=192.168.1.200,proxy,255.255.255.0

https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_使用_德斯马斯克 (向基本脚本添加UEFI支持)

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/829068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档