← Vissza

Áttekintés

A dnsmasq egy könnyű DNS és DHCP szerver Linux rendszerekhez. Használható DNS, DHCP vagy TFTP szolgáltatásként.

# Telepítés
sudo apt install dnsmasq

# Szolgáltatás állapota
systemctl status dnsmasq

Konfiguráció

Az alapbeállítások a /etc/dnsmasq.conf fájlban találhatók. A saját konfigurációkat külön mappába érdemes tenni.

# Alap fájl szerkesztése
nano /etc/dnsmasq.conf

# conf-dir engedélyezése
sudo sed -i 's|^#conf-dir=/etc/dnsmasq.d/,.*|conf-dir=/etc/dnsmasq.d/,*.conf|' /etc/dnsmasq.conf

# Saját beállítások helye
/etc/dnsmasq.d/

Interfészek beállítása

Megadható, melyik hálózati interfészen vagy IP címen működjön a dnsmasq.

# Példa interfészre
interface=enp0s3

# Példa IP címekre
listen-address=127.0.0.1,192.168.3.10

DNS beállítások – Példa 1

Egyszerű DNS forwarder konfiguráció.

# dns-forwarder.conf
no-resolv      # Ne olvassa be a /etc/resolv.conf fájlt
server=1.1.1.1 # Upstream DNS szerver
server=8.8.8.8

DNS beállítások – Példa 2

Helyi tartomány konfigurálása és gyorsítótár beállítása.

# basic-dns.conf
domain-needed
bogus-priv
no-resolv
server=1.1.1.1
server=8.8.8.8
cache-size=1000
domain=helyi.lan
expand-hosts
addn-hosts=/etc/dnsmasq.hosts

Hostok hozzáadása

Ismert gépek felvétele a /etc/dnsmasq.hosts fájlba.

nano /etc/dnsmasq.hosts

192.168.3.12   nas
192.168.3.15   printer

# /etc/hosts példa
127.0.0.1   localhost
127.0.1.1   dnsserver

# resolv.conf példa
nameserver 192.168.3.10

DHCP beállítások – Alap

Alap DHCP tartomány és opciók.

# basic-dhcp.conf
dhcp-range=192.168.3.50,192.168.3.200,12h
dhcp-option=3,192.168.3.1
dhcp-option=6,192.168.3.10
dhcp-authoritative

DHCP beállítások – Fix címek

Fix IP címek hozzárendelése MAC cím alapján.

dhcp-host=AA:BB:CC:DD:EE:FF,192.168.3.20,nas,24h
dhcp-host=11:22:33:44:55:66,192.168.3.30,printer,24h

TFTP

A dnsmasq TFTP szerverként is használható. A beállításokat külön konfigurációs fájlban kell megadni.

# Példa konfigurációhoz
tftp-root=/srv/tftp
enable-tftp

Élesítés

A dnsmasq használatához érdemes letiltani a systemd-resolved szolgáltatást, majd újraindítani a dnsmasq-t.

# systemd-resolved leállítása
systemctl stop systemd-resolved
systemctl disable systemd-resolved

# dnsmasq újraindítása
sudo systemctl restart dnsmasq
sudo systemctl enable dnsmasq

Tűzfal beállítása

Engedélyezni kell a DNS és DHCP forgalmat a tűzfalon.

# DNS
sudo ufw allow 53/tcp
sudo ufw allow 53/udp

# DHCP
sudo ufw allow 67/udp
sudo ufw allow 68/udp

Információk

A kibérelt DHCP címek listája a leases fájlban található.

cat /var/lib/misc/dnsmasq.leases