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