Dnsmasq: n avulla voit tarjota DNS & DHCP-palveluita

monet tekniikan harrastajat pitävät tärkeänä kykyä hallita isäntänimensä resoluutiota. Palvelimien ja palveluiden perustaminen vaatii yleensä jonkinlaisen kiinteän osoitteen ja joskus myös erityisiä resoluutiomuotoja, kuten Kerberos-tai LDAP-palvelimien, sähköpostipalvelimien jne.määrittelyn. Kaikki tämä voidaan saavuttaa dnsmasq.

dnsmasq on kevyt ja yksinkertainen ohjelma, joka mahdollistaa DHCP-osoitteiden myöntämisen verkossa ja isäntänimen & IP-osoitteen rekisteröimisen DNS: ssä. Tämä kokoonpano mahdollistaa myös ulkoisen resoluution, joten koko verkko voi puhua itselleen ja löytää ulkoisia sivustoja liian.

tässä artikkelissa käsitellään dnsmasq: n asentamista ja määrittämistä joko virtuaalikoneella tai pienellä fyysisellä koneella, kuten Raspberry Pi: llä, jotta se voi tarjota näitä palveluja kotiverkossa tai laboratoriossa. Jos sinulla on olemassa oleva asennus ja sinun tarvitsee vain säätää paikallisen työaseman asetuksia, Lue Edellinen artikkeli, joka kattaa dnsmasq-laajennuksen määrittämisen Networkmanagerissa.

Asenna dnsmasq

ensin asenna dnsmasq-paketti:

sudo dnf install dnsmasq

ota seuraavaksi käyttöön ja käynnistä dnsmasq-palvelu:

sudo systemctl enable --now dnsmasq

Määritä dnsmasq

ensin, tee dnsmasq: sta varmuuskopio.conf-tiedosto:

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

seuraavaksi, muokata tiedostoa ja tehdä muutoksia seuraavaan vastaamaan verkon. Tässä esimerkissä mydomain.org on verkkotunnus, 192.168.1.10 on dnsmasq-palvelimen IP-osoite ja 192.168.1.1 on oletusyhdyskäytävä.

sudo vi /etc/dnsmasq.conf

lisätään seuraava sisältö:

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

testaa config tarkistaa kirjoitusvirheet ja syntaksivirheet:

$ sudo dnsmasq --testdnsmasq: syntax check OK.

muokkaa nyt isäntätiedostoa, joka voi sisältää sekä staattisesti että dynaamisesti kohdennettuja isäntiä. Staattisten osoitteiden pitäisi sijaita aiemmin määrittämäsi DHCP-alueen ulkopuolella. DHCP: tä käyttävät isännät, jotka tarvitsevat kiinteän osoitteen, on syötettävä tähän DHCP-alueen osoitteella.

sudo vi /etc/hosts

kahden ensimmäisen rivin pitäisi olla jo siellä. Lisää jäljellä olevat rivit määrittääksesi reitittimen, dnsmasq-palvelimen ja kaksi muuta palvelinta.

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

Käynnistä dnsmasq-palvelu uudelleen:

sudo systemctl restart dnsmasq

Seuraava lisää Palvelut palomuuriin, jotta asiakkaat voivat muodostaa yhteyden:

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

Testinimen resoluutio

asenna ensin bind-utils saadaksesi nslookup-ja dig-paketit. Näiden avulla voit suorittaa sekä eteenpäin ja kääntää lookups. Voit käyttää ping-ohjelmaa, jos et halua asentaa ylimääräisiä paketteja. mutta nämä työkalut kannattaa asentaa lisää vianmääritystoimintoja ne voivat tarjota.

sudo dnf install bind-utils

nyt testataan erottelukykyä. Testaa ensin eteenpäin (isäntänimi IP-osoitteeseen) – resoluutio:

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

seuraava, testaa Käänteinen (IP-osoite isäntänimi) resoluutio:

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

lopulta verkon ulkopuoliset isäntänimet testataan:

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

testaa DHCP-vuokrasopimukset

testataksesi DHCP-vuokrasopimuksia, sinun on käynnistettävä kone, joka käyttää DHCP: tä IP-osoitteen saamiseksi. Mikä tahansa Fedora-muunnelma tekee sen oletusarvoisesti. Kun olet käynnistänyt asiakaskoneen, tarkista, että sillä on osoite ja että se vastaa dnsmasq: n vuokraustiedostoa.

dnsmasq: ta käyttävästä koneesta:

$ 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

laajennetaan toiminnallisuutta

voit määrittää isännille kiinteän IP-osoitteen DHCP: n kautta lisäämällä sen isäntätiedostoosi haluamallasi osoitteella (DHCP: n alueella). Tee tämä lisäämällä osaksi dnsmasq.conf-tiedosto seuraava rivi, joka määrittää listatun IP: n mille tahansa palvelimelle, jolla on kyseinen nimi:

dhcp-host=myhost

Vaihtoehtoisesti voit määrittää MAC-osoitteen, jolle tulisi aina antaa kiinteä IP-osoite:

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

voit määrittää PXE-käynnistyspalvelimen, jos haluat automatisoida koneen rakentamisen

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

tämän pitäisi viitata TFTP-palvelimen todelliseen URL-osoitteeseen.

jos tarvitset SRV – tai TXT-tietueita, esimerkiksi LDAP: lle, Kerberokselle tai vastaavalle, voit lisätä nämä:

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



+