3

是否可以在 dnsmasq.conf 中处理不同的 tftp-root?

类似于: IF MAC=19-4B-90-DA-1C-C3 THEN tftp-root=/tftpbootAB

如果 MAC=19-4B-90-DE-1C-B6 那么 tftp-root=/tftpbootCD

我在手册中找不到这个。

我只找到了类似的东西: dhcp-match=set:bios,option:client-arch,0 dhcp-boot=tag:efi-x86_64,"efi64/syslinux.efi"

但不适用于 tftp-root 行

4

1 回答 1

3

我也在寻找这个,并在man dnsmasq. 有一个选项:

--tftp-unique-root[=ip|mac]
将 TFTP 客户端的 IP 或硬件地址作为路径组件添加到 TFTP-root 的末尾。仅当设置了 tftp-root 并且目录存在时才有效。默认添加 IP 地址(标准点分四线格式)。例如,如果 tftp-root 是“/tftp”并且客户端 1.2.3.4 请求文件“myfile”,那么如果 /tftp/1.2.3.4 存在或 /tftp/,则有效路径将是“/tftp/1.2.3.4/myfile” myfile 否则。当指定“=mac”时,它将改为附加 MAC 地址,使用由破折号分隔的小写零填充数字,例如:01-02-03-04-aa-bb 请注意,只有在客户端位于本地网络或从我们那里获得 DHCP 租约。

然后中的代码段/etc/dnsmasq.conf如下所示(示例):

enable-tftp
tftp-root=/tftpboot
tftp-unique-root=mac
pxe-service=0,"Raspberry Pi Boot"

然后创建目录:

~$ sudo mkdir -p /tftpboot/19-4b-90-da-1c-c3
~$ sudo mkdir -p /tftpboot/19-4b-90-de-1c-b6

并将特定设备(mac地址)所需的引导文件放入其子目录中。

于 2018-07-24T22:06:04.557 回答