Hoe dnsmasq te configureren op Ubuntu Server 18.04 LTS

How Configure Dnsmasq Ubuntu Server 18



dnsmasq is een zeer lichtgewicht lokale DNS-server. dnsmasq kan ook worden geconfigureerd als DNS-cacheserver en DHCP-server. dnsmasq heeft IPv4- en IPv6-ondersteuning, waaronder DHCPv4 en DHCPv6. dnsmasq is ideaal voor kleine netwerken.

In dit artikel laat ik je zien hoe je dnsmasq kunt gebruiken om een ​​lokale DNS-server, caching DNS-server en DHCP-server te configureren. Dus laten we beginnen.







Netwerk topologie:

Dit is de netwerktopologie van dit artikel. Hier zal ik configureren router als een DNS- en DHCP-server met dnsmasq. router heeft 2 netwerkinterfaces, een ( ens33 ) maakt verbinding met de internet en de andere ( ens38 ) maakt verbinding met een netwerkschakelaar . Alle andere hosts ( gastheer1 , gastheer2 , host3 ) op het netwerk gebruikt de DHCP-server die is geconfigureerd op de router voor automatische toewijzing van IP-adressen en de DNS-server voor naamomzetting.





Statisch IP configureren:

In mijn netwerktopologie zag je, mijn router heeft twee interfaces ens33 en ens38 . ens33 verbindt de router met internet en ens38 is verbonden met een netwerk-switch , waarmee andere computers in het netwerk verbinding maken. Ik zal DHCP moeten gebruiken om een ​​IP-adres te krijgen voor de ens33 interface van mijn ISP voor internetverbinding. Maar de ens38 interface moet handmatig worden geconfigureerd.





Laten we het netwerk gebruiken 192.168.10.0/24 voor ens38-interface en andere computers op het netwerk. Als ik het netwerk 192.168.10.0/24 gebruik, dan is het IP-adres van de ens38 interface van de router moet 192.168.10.1/24 zijn. Dit is het IP-adres van de dnsmasq DNS-server en DHCP-server.

OPMERKING: De naam van uw netwerkinterface kan anders zijn. Wat het voor jou is, ontdek je met de ip a opdracht.



Op Ubuntu Server 18.04 LTS kunt u gebruik maken van: netplan om de netwerkinterfaces te configureren. Het standaard netplan-configuratiebestand is: /etc/netplan/50-cloud-init.yaml .

Open eerst het configuratiebestand /etc/netplan/50-cloud-init.yaml met het volgende commando:

$sudo nano /enzovoort/netplan/vijftig-cloud-init.yaml

Typ nu de volgende regels en sla het bestand op door op te drukken + x gevolgd door en en .

Start nu uw opnieuw op router met het volgende commando:

$sudoopnieuw opstarten

Zodra de router boots, moeten IP-adressen worden toegewezen zoals verwacht.

dnsmasq installeren:

dnsmasq is beschikbaar in de officiële pakketrepository van Ubuntu. U kunt het dus eenvoudig installeren met behulp van de APT-pakketbeheerder.

Ubuntu gebruikt systeem-opgelost standaard om DNS-servers en DNS-caching te beheren. Voordat u dnsmasq installeert, moet u stoppen en uitschakelen systeem-opgelost Diensten. Anders kunt u dnsmasq helemaal niet uitvoeren.

Om de . te stoppen systeem-opgelost service, voer de volgende opdracht uit:

$sudosystemctl stop systemd-opgelost

Om de . uit te schakelen systeem-opgelost service, voer de volgende opdracht uit:

$sudosystemctl systeemd-resolved uitschakelen

Standaard is de /etc/resolv.conf bestand is gekoppeld aan een ander systemd-configuratiebestand, zoals u kunt zien in de onderstaande schermafbeelding. Maar, we willen het niet meer.

Dus verwijder de /etc/resolv.conf link met het volgende commando:

$sudo rm -v /enzovoort/resolv.conf

Maak nu een nieuwe /etc/resolv.conf bestand en stel de google DNS-server in als de standaard DNS-server met de volgende opdracht:

$gooide uit 'naamserver 8.8.8.8' | sudo tee /enzovoort/resolv.conf

Werk nu de cache van de APT-pakketrepository bij met de volgende opdracht:

$sudogeschikte update

Installeer nu dnsmasq met de volgende opdracht:

$sudogeschiktinstallerendnsmasq

dnsmasq moet worden geïnstalleerd.

dnsmasq DNS-server configureren:

Het configuratiebestand van dnsmasq is /etc/dnsmasq.conf . Om dnsmasq als DNS-server te configureren, moet u dit bestand wijzigen.

De standaard /etc/dnsmasq.conf bestand bevat veel documentatie en becommentarieerde opties. Dus ik denk dat het beter is om de naam te wijzigen /etc/dnsmasq.conf bestand naar /etc/dnsmasq.conf.bk en maak een nieuwe aan.

U kunt het configuratiebestand hernoemen met de volgende opdracht:

$sudo mv -v /enzovoort/dnsmasq.conf/enzovoort/dnsmasq.conf.bk

Maak nu het configuratiebestand /etc/dnsmasq.conf als volgt:

$sudo nano /enzovoort/dnsmasq.conf

Typ nu de volgende regels en sla het bestand op door op te drukken + x gevolgd door en en .

# DNS-configuratie
haven=53

domein nodig
nep-priv
strikte volgorde

expand-hosts
domein=voorbeeld.com

OPMERKING: Wijziging voorbeeld.com naar uw eigen domeinnaam.

Start nu de dnsmasq-service opnieuw met de volgende opdracht:

$sudosystemctl herstart dnsmasq

Geen fouten. Super goed!

Nu moet je instellen 192.168.10.1 als het standaard DNS-serveradres in de /etc/resolv.conf .

Om dat te doen, open /etc/resolv.conf bestand met het volgende commando:

$sudo nano /enzovoort/resolv.conf

Typ nu in naamserver 192.168.10.1 voor de lijn naamserver 8.8.8.8 zoals weergegeven in de onderstaande schermafbeelding. Sla het bestand vervolgens op.

Dat is het.

DNS-records toevoegen:

Nu kunt u uw DNS-vermeldingen toevoegen aan de /etc/hosts het dossier.

Open eerst de /etc/hosts bestand met het volgende commando:

$sudo nano /enzovoort/gastheren

Typ nu uw DNS-vermeldingen in de volgende indeling:

IP_ADDR DOMAIN_NAME

Ik heb 4 inzendingen toegevoegd router.voorbeeld.com (192.168.10.1) , host1.voorbeeld.com (192.168.10.51) , host2.voorbeeld.com (192.168.10.52) , en host3.voorbeeld.com (192.168.10.53) zoals aangegeven in de onderstaande schermafbeelding. U kunt zoveel DNS-vermeldingen toevoegen als u wilt.

Als u klaar bent, slaat u het bestand op door op te drukken + x gevolgd door en en .

Start nu de dnsmasq-service opnieuw met de volgende opdracht:

$sudosystemctl herstart dnsmasq

DNS-server testen:

Zoals u kunt zien, werkt de lokale DNS-resolutie.

$jijrouter.voorbeeld.com

Internetnaamomzetting werkt ook.

$jijGoogle com

DHCP-server configureren:

Om de DHCP-server te configureren, opent u het dnsmasq-configuratiebestand /etc/dnsmasq.conf weer als volgt:

$sudo nano /enzovoort/dnsmasq.conf

Voeg nu de gemarkeerde regels toe aan het einde van het bestand. Sla het bestand vervolgens op.

# DHCP-configuratie
dhcp-bereik=192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-optie=optie:router,192.168.10.1
dhcp-optie=optie:dns-server,192.168.10.1
dhcp-option=optie:netmask,255.255.255.0

dhcp-host=00:0C:29:A5:BD:4A,192.168.10.51
dhcp-host=00:0C:29:A5:BD:5B,192.168.10.52
dhcp-host=00:0C:29A5:BD:6C,192.168.10.53

Hier, dhcp-bereik wordt gebruikt om het bereik van IP-adressen in te stellen dat de DHCP-server aan hosts zal toewijzen.

dhcp-optie wordt gebruikt om de gateway in te stellen ( optie:router ), DNS-serveradres ( optie:dns-server ), en netmasker ( optie:netmask )

dhcp-host wordt gebruikt om specifieke IP-adressen voor hosts in te stellen, afhankelijk van de opgegeven MAC-adressen.

Start nu de dnsmasq-service opnieuw met de volgende opdracht:

$sudosystemctl herstart dnsmasq

DHCP-server testen:

Zoals u kunt zien, is de computer gastheer1 heb het IP-adres 192.168.10.51/24 van de DHCP-server.

DNS-resolutie werkt ook vanuit gastheer1 .

Dezelfde manier, gastheer2 en host3 krijgt ook het juiste IP-adres van de DHCP-server en DNS-resolutie werkt op elk van hen.

Waar te gaan volgende:

Als je meer wilt weten over dnsmasq, check dan het standaard configuratiebestand af /etc/dnsmasq.conf (nu omgedoopt tot /etc/dnsmasq.conf.bk ). Het heeft een gedetailleerde beschrijving van alle configuratie-opties van dnsmasq.

$minder /enzovoort/dnsmasq.conf.bk

Standaard dnsmasq-configuratiebestand van Ubuntu Server 18.04 LTS.

Dus zo configureer je dnsmasq op Ubuntu Server 18.04 LTS. Bedankt voor het lezen van dit artikel.