Update:

Das Vorgehen ist seit der Version 5 von PiHole nicht mehr relevant, kann und sollte also ignoriert werden!

Pro’s:

  • Pi Hole muss nicht als DHCP Server laufen
  • Ein reload vom dnsmasq ist nicht notwendig
  • Funktioniert für einzelne Geräte
  • Als Pi Hole Script verwendbar (kann beispielsweise ein Teil von piholeEnable() sein, ${3} funktioniert für PC/Mac/Mobile)

Con’s:

  • Das device caching vom Pi Hole kann Probleme verursachen

# Allow masquerading from local network
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

# Enable DNS redirection for device via Mac Address (FA:KE:94:60:D2:6E)
iptables -t nat -A PREROUTING -m mac --mac-source FA:KE:94:60:D2:6E -p tcp --dport 53 -j DNAT --to-destination 8.8.8.8:53
iptables -t nat -A PREROUTING -m mac --mac-source FA:KE:94:60:D2:6E -p udp --dport 53 -j DNAT --to-destination 8.8.8.8:53

OR

# Enable DNS redirection for device via IP Address (192.168.1.50)
iptables -t nat -A PREROUTING -s 192.168.1.50 -p tcp --dport 53 -j DNAT --to-destination 8.8.8.8:53
iptables -t nat -A PREROUTING -s 192.168.1.50 -p udp --dport 53 -j DNAT --to-destination 8.8.8.8:53

# Disable DNS redirection for device via Mac Address (FA:KE:94:60:D2:6E)
iptables -t nat -D PREROUTING -m mac --mac-source FA:KE:94:60:D2:6E -p tcp --dport 53 -j DNAT --to-destination 8.8.8.8:53
iptables -t nat -D PREROUTING -m mac --mac-source FA:KE:94:60:D2:6E -p udp --dport 53 -j DNAT --to-destination 8.8.8.8:53

OR

# Disable DNS redirection for device via IP Address (192.168.1.50)
iptables -t nat -A PREROUTING -s 192.168.1.50 -p tcp --dport 53 -j DNAT --to-destination 8.8.8.8:53
iptables -t nat -A PREROUTING -s 192.168.1.50 -p udp --dport 53 -j DNAT --to-destination 8.8.8.8:53

# View current rules for NAT table
iptables -L -vt nat