Használja a dnsmasq-t DNS & DHCP szolgáltatások nyújtásához

sok technológiai rajongó fontosnak tartja a gazdagépnév felbontásának ellenőrzését. A szerverek és szolgáltatások beállítása általában valamilyen rögzített címet igényel, és néha speciális felbontási formákat is igényel, például Kerberos vagy LDAP szerverek, levelezőszerverek stb. Mindezt a dnsmasq-val lehet elérni.

a dnsmasq egy könnyű és egyszerű program, amely lehetővé teszi a DHCP-címek kiadását a hálózaton, és regisztrálja a hostname & IP-címet a DNS-ben. Ez a konfiguráció lehetővé teszi a külső felbontást is, így az egész hálózat képes lesz beszélni önmagával és külső webhelyeket is találni.

ez a cikk a dnsmasq telepítését és konfigurálását tárgyalja virtuális gépen vagy kis fizikai gépen, például Raspberry Pi-n, hogy ezeket a szolgáltatásokat az otthoni hálózaton vagy a laborban nyújthassa. Ha van egy meglévő beállítás, és csak módosítania kell a helyi munkaállomás beállításait, olvassa el az előző cikket, amely a dnsmasq plugin konfigurálását tartalmazza a NetworkManager alkalmazásban.

telepítse a dnsmasq

először telepítse a dnsmasq csomagot:

sudo dnf install dnsmasq

ezután engedélyezze és indítsa el a dnsmasq szolgáltatást:

sudo systemctl enable --now dnsmasq

konfigurálja a dnsmasq-t

először készítsen biztonsági másolatot a dnsmasq-ról.conf fájl:

sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

ezután szerkessze a fájlt, és módosítsa a következőket, hogy tükrözze a hálózatát. Ebben a példában, mydomain.org a domain név, a 192.168.1.10 a dnsmasq szerver IP-címe, a 192.168.1.1 pedig az alapértelmezett átjáró.

sudo vi /etc/dnsmasq.conf

helyezze be a következő tartalmat:

domain-neededbogus-privno-resolvserver=8.8.8.8server=8.8.4.4local=/mydomain.org/listen-address=::1,127.0.0.1,192.168.1.10expand-hostsdomain=mydomain.orgdhcp-range=192.168.1.100,192.168.1.200,24hdhcp-option=option:router,192.168.1.1dhcp-authoritativedhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases

tesztelje a konfigurációt, hogy ellenőrizze az elírási és szintaktikai hibákat:

$ sudo dnsmasq --testdnsmasq: syntax check OK.

most szerkessze a hosts fájlt, amely mind statikusan, mind dinamikusan lefoglalt gazdagépeket tartalmazhat. A statikus címeknek a korábban megadott DHCP-tartományon kívül kell lenniük. A DHCP-t használó, de rögzített címet igénylő gazdagépeket itt kell megadni a DHCP-tartományon belüli címmel.

sudo vi /etc/hosts

az első két sornak már ott kell lennie. Adja hozzá a fennmaradó sorokat az útválasztó, a dnsmasq kiszolgáló és két további kiszolgáló konfigurálásához.

127.0.0.1 localhost localhost.localdomain::1 localhost localhost.localdomain192.168.1.1 router192.168.1.10 dnsmasq192.168.1.20 server1192.168.1.30 server2

indítsa újra a dnsmasq szolgáltatást:

sudo systemctl restart dnsmasq

Ezután adja hozzá a szolgáltatásokat a tűzfalhoz, hogy az ügyfelek csatlakozhassanak:

sudo firewall-cmd --add-service={dns,dhcp}
sudo firewall-cmd --runtime-to-permanent

teszt névfeloldás

először telepítse a bind-utils-t az nslookup és a dig csomagok megszerzéséhez. Ezek lehetővé teszik mind az előre, mind a fordított kereséseket. Használhatja a ping-et, ha inkább nem telepít extra csomagokat. de ezeket az eszközöket érdemes telepíteni az általuk nyújtott további hibaelhárítási funkciókhoz.

sudo dnf install bind-utils

most tesztelje a felbontást. Először tesztelje az előre (hostname to IP address) felbontást:

$ nslookup server1Server: 127.0.0.1Address: 127.0.0.1#53Name: server1.mydomain.orgAddress: 192.168.1.20

ezután tesztelje a fordított (IP-cím a hostname-hez) felbontást:

$ nslookup 192.168.1.2020.1.168.192.in-addr.arpa name = server1.mydomain.org.

végül tesztelje a gazdagépnevek megoldását a hálózaton kívül:

$ nslookup fedoramagazine.orgServer: 127.0.0.1Address: 127.0.0.1#53Non-authoritative answer:Name: fedoramagazine.orgAddress: 35.196.109.67

DHCP-bérletek tesztelése

a DHCP-bérletek teszteléséhez olyan gépet kell indítania, amely DHCP-t használ az IP-cím megszerzéséhez. Bármely Fedora változat ezt alapértelmezés szerint megteszi. Miután elindította az ügyfélgépet, ellenőrizze, hogy van-e címe, és hogy megfelel-e a dnsmasq lízingfájljának.

a dnsmasq-t futtató gépről:

$ sudo cat /var/lib/dnsmasq/dnsmasq.leases1598023942 52:54:00:8e:d5:db 192.168.1.100 server3 01:52:54:00:8e:d5:db1598019169 52:54:00:9c:5a:bb 192.168.1.101 server4 01:52:54:00:9c:5a:bb

funkcionalitás kiterjesztése

DHCP-n keresztül rögzített IP-címet rendelhet a hosts fájlhoz a kívánt címmel (a DHCP-tartományon belül). Ehhez adjuk hozzá a dnsmasq.conf fájl a következő sor, amely a felsorolt IP-t hozzárendeli minden ilyen nevű gazdagéphez:

dhcp-host=myhost

Alternatív megoldásként megadhat egy MAC-címet is, amelynek mindig rögzített IP-címet kell kapnia:

dhcp-host=11:22:33:44:55:66,192.168.1.123

megadhat egy PXE rendszerindító kiszolgálót, ha automatizálni szeretné a gépépítéseket

tftp-root=/tftpboot
dhcp-boot=/tftpboot/pxelinux.0,boothost,192.168.1.240

ennek a TFTP-kiszolgáló tényleges URL-jére kell mutatnia.

ha SRV vagy TXT rekordokat kell megadnia, például LDAP, Kerberos vagy hasonló rekordokhoz, ezeket hozzáadhatja:

srv-host=_ldap._tcp.mydomain.org,ldap-server.mydomain.org,389
srv-host=_kerberos._udp.mydomain.org,krb-server.mydomain.org,88
srv-host=_kerberos._tcp.mydomain.org,krb-server.mydomain.org,88
srv-host=_kerberos-master._udp.mydomain.org,krb-server.mydomain.org,88
srv-host=_kerberos-adm._tcp.mydomain.org,krb-server.mydomain.org,749
srv-host=_kpasswd._udp.mydomain.org,krb-server.mydomain.org,464
txt-record=_kerberos.mydomain.org,KRB-SERVER.MYDOMAIN.ORG



+