Použít dnsmasq poskytovat DNS A DHCP služeb

Mnoho tech nadšenci najít schopnost kontrolovat jejich rozlišení názvu hostitele důležité. Nastavení serverů a služeb obvykle vyžaduje určitou formu pevné adresy a někdy také vyžaduje speciální formy rozlišení, jako je definování serverů Kerberos nebo LDAP, poštovních serverů atd. To vše lze dosáhnout pomocí dnsmasq.

dnsmasq je lehký a jednoduchý program, který umožňuje vydávání DHCP adres ve vaší síti a registraci názvu hostitele & IP adresy v DNS. Tato konfigurace také umožňuje externí rozlišení, takže celá vaše síť bude moci mluvit sama se sebou a najít také externí weby.

tento článek se zabývá instalací a konfigurací dnsmasq na virtuálním počítači nebo malém fyzickém počítači, jako je Raspberry Pi, takže může poskytovat tyto služby ve vaší domácí síti nebo laboratoři. Pokud máte existující nastavení a stačí upravit nastavení pro místní pracovní stanici, přečtěte si předchozí článek, který se zabývá konfigurací pluginu dnsmasq v NetworkManager.

nainstalujte dnsmasq

Nejprve nainstalujte balíček dnsmasq:

sudo dnf install dnsmasq

dále povolte a spusťte službu dnsmasq:

sudo systemctl enable --now dnsmasq

konfigurace dnsmasq

nejprve vytvořte záložní kopii dnsmasq.soubor conf:

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

dále upravte soubor a proveďte změny v následujících, aby odrážely vaši síť. V tomto příkladu, mydomain.org je název domény, 192.168.1.10 je IP adresa serveru dnsmasq a 192.168.1.1 je výchozí brána.

sudo vi /etc/dnsmasq.conf

Vložte následující obsah:

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

Test config zkontrolovat překlepy a syntaktické chyby:

$ sudo dnsmasq --testdnsmasq: syntax check OK.

nyní upravte soubor hosts, který může obsahovat staticky i dynamicky přidělené hostitele. Statické adresy by měly ležet mimo rozsah DHCP, který jste zadali dříve. Hostitelé používající DHCP, ale kteří potřebují pevnou adresu, by zde měli být zadáni s adresou v rozsahu DHCP.

sudo vi /etc/hosts

první dva řádky by tam již měly být. Přidejte zbývající řádky pro konfiguraci routeru, serveru dnsmasq a dvou dalších serverů.

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

Restartování služby dnsmasq:

sudo systemctl restart dnsmasq

dále přidejte služby na firewallu povolit klientům připojit:

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

rozlišení názvu testu

Nejprve nainstalujte bind-utils, abyste získali balíčky nslookup a dig. Ty vám umožní provádět vpřed i vzad vyhledávání. Můžete použít ping, pokud byste raději neinstalovali další balíčky. tyto nástroje však stojí za instalaci pro další funkce odstraňování problémů, které mohou poskytnout.

sudo dnf install bind-utils

nyní Otestujte rozlišení. Nejprve otestujte rozlišení forward (hostname to IP address):

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

dále Otestujte reverzní rozlišení (IP adresa na název hostitele) :

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

Konečně, zkušební vyřešit názvy hostitelů mimo vaši síť:

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

Test DHCP leases

test DHCP leases, musíte spustit stroj, který používá DHCP získat IP adresu. Ve výchozím nastavení to provede jakákoli varianta Fedory. Po spuštění klientského počítače zkontrolujte, zda má adresu a zda odpovídá souboru pronájmu pro dnsmasq.

ze stroje se systémem dnsmasq:

$ 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

rozšíření funkčnosti

můžete přiřadit hostitelům pevnou IP adresu přes DHCP přidáním do souboru hostitelů s požadovanou adresou(v rozsahu DHCP). Udělejte to přidáním do dnsmasq.conf následující řádek, který přiřadí IP uveden do libovolného počítače, který má to jméno:

dhcp-host=myhost

Případně můžete zadat adresu MAC, která by měla být vždy k dispozici pevnou IP adresu:

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

můžete zadat server spuštění PXE, pokud potřebujete automatizovat stroj navazuje

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

To by mělo poukázat na skutečné adresy URL vašeho TFTP serveru.

pokud potřebujete zadat záznamy SRV nebo TXT, například pro LDAP, Kerberos nebo podobné, můžete přidat tyto:

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



+