是否可以在dnsmasq.conf中解决不同的tftp-root?
像: 如果MAC = 19-4B-90-DA-1C-C3 那么tftp-root = / tftpbootAB
如果MAC = 19-4B-90-DE-1C-B6 那么tftp-root = / tftpbootCD
我在手册中找不到这个。
我只发现了类似的东西: DHCP匹配=设定:BIOS,选项:客户拱,0 DHCP引导=标签:EFI-x86_64的, “EFI64 / syslinux.efi”
但不适用于使用tftp-root的行
答案 0 :(得分:1)
我也在寻找这个问题,并且在man dnsmasq
中找到了解决方案。有一个选项:
-tftp-unique-root [= ip | mac]
在TFTP根目录的末尾添加TFTP客户端的IP或硬件地址作为路径组件。仅当设置了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地址)所需的启动文件放入其子目录中。