Only one entry per MAC address is allowed.
Examples: -
00:20:e0:3b:13:af,192.168.0.123tells Pi-hole to give the machine with hardware address
00:20:e0:3b:13:af the address 192.168.0.12300:20:e0:3b:13:af,laptoptells Pi-hole to give the machine with hardware address
00:20:e0:3b:13:af the name laptop00:20:e0:3b:13:af,192.168.0.123,laptop,infinitetells Pi-hole to give the machine with hardware address
00:20:e0:3b:13:af the address 192.168.0.123, the name laptop, and an infinite DHCP leaseExamples:
+00:20:e0:3b:13:af,192.168.0.123tells Pi-hole to give the machine with hardware address
00:20:e0:3b:13:af the address 192.168.0.12300:20:e0:3b:13:af,laptoptells Pi-hole to give the machine with hardware address
00:20:e0:3b:13:af the name laptop00:20:e0:3b:13:af,192.168.0.123,laptop,infinitetells Pi-hole to give the machine with hardware address
00:20:e0:3b:13:af the address 192.168.0.123, the name laptop, and an infinite DHCP leaseignore tells Pi-hole to never offer a DHCP lease to a machine. The machine can be specified by hardware address, client ID or hostname, for instance 00:20:e0:3b:13:af,ignore. This is useful when there is another DHCP server on the network which should be used by some machines.set:<tag> construct sets the tag whenever this line is in use. This can be used to selectively send DHCP options just for this host. More than one tag can be set per line directive (but not in other places where "set:<tag>" is allowed). When a host matches any directive (or one implied by /etc/ethers) then the special tag "known"" is set. This allows Pi-hole to be configured to ignore requests from unknown machines using a custom config option dhcp-ignore=tag:!known in your own config file. If the host matches only a directive which cannot be used because it specifies an address on different subnet, the tag "known-othernet" is set.tag:<tag> construct filters which directives are used; more than one can be provided, in this case the request must match all of them. Tagged directives are used in preference to untagged ones. Note that one of <hwaddr>, <client_id> or <hostname> still needs to be specified (can be a wildcard).tag:<tag> construct filters which directives are used; more than one can be provided, in this case the request must match all of them. Tagged directives are used in preference to untagged ones. Note that one of <hwaddr>, <client_id> or <hostname> still needs to be specified (can be a wildcard).00:20:e0:3b:13:*,ignore will cause Pi-hole to ignore a range of hardware addresses.-". so the line 06-00:20:e0:3b:13:af,1.2.3.4 will only match a Token-Ring hardware address, since the ARP-address type for token ring is 6.11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2. This allows an IP address to be associated with multiple hardware addresses, and gives Pi-hole permission to abandon a DHCP lease to one of the hardware addresses when another one asks for a lease. Beware that this is a dangerous thing to do, it will only work reliably if only one of the hardware addresses is active at any time and there is no way for dnsmasq to enforce this. It is, for instance, useful to allocate a stable IP address to a laptop which has both wired and wireless interfaces.