DNSMasq to jedno z najpopularniejszych i najbardziej niezawodnych narzędzi do zarządzania usługami DNS i DHCP w środowiskach homelab, małych oraz średnich firmach.
sudo apt update && sudo apt upgrade -y
sudo apt install dnsmasq -y
Ważne: Przed instalacją zalecam wyłączenie konkurencyjnych resolverów:
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo rm -f /etc/resolv.conf
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf
# /etc/dnsmasq.conf
# === Podstawowe ustawienia ===
domain-needed
bogus-priv
no-resolv
cache-size=15000
local-ttl=300
log-queries
log-dhcp
# === Upstream DNS (szybkie i prywatne) ===
server=1.1.1.1
server=2606:4700:4700::1111
server=9.9.9.9
# === Interfejsy ===
interface=eth0
bind-interfaces
listen-address=192.168.1.10
# === Domena lokalna ===
domain=lan
expand-hosts
local=/lan/
# === DHCP ===
dhcp-range=192.168.1.100,192.168.1.250,255.255.255.0,12h
dhcp-option=option:router,192.168.1.1
dhcp-option=option:dns-server,192.168.1.10
dhcp-lease-max=500
# === Static leases ===
dhcp-host=00:11:22:33:44:55,192.168.1.50,nas.lan,infinite
dhcp-host=aa:bb:cc:dd:ee:ff,192.168.1.51,printer.lan,12h
# === Blokowanie reklam / telemetry (opcjonalnie) ===
address=/doubleclick.net/0.0.0.0
address=/google-analytics.com/0.0.0.0
Po wprowadzeniu zmian:
sudo dnsmasq --test
sudo systemctl restart dnsmasq
sudo systemctl enable dnsmasq
systemctl status dnsmasq i konflikt z systemd-resolveddhcp-rangecache-size i włącz local-ttljournalctl -u dnsmasq -fuser=dnsmasqbind-interfaces)