DNS

Hoe dnsmasq te configureren op Ubuntu Server 18.04 LTS

Hoe dnsmasq te configureren op Ubuntu Server 18.04 LTS
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, inclusief DHCPv4 en DHCPv6. dnsmasq is ideaal voor kleine netwerken.

In dit artikel laat ik je zien hoe je dnsmasq gebruikt 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 internetten 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 on 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 . gebruik.168.10.0/24, dan het IP-adres van de ens38 interface van de router moet 192 . zijn.168.10.1/24. 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, u kunt gebruiken 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 /etc/netplan/50-cloud-init.yaml

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

Start nu uw opnieuw op router met het volgende commando:

$ sudo opnieuw opstarten

Zodra de router opstart, 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 kun je dnsmasq helemaal niet uitvoeren.

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

$ sudo systemctl stop systemd-resolved

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

$ sudo systemctl systeemd-opgelost uitschakelen disable

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

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

$ sudo rm -v /etc/resolv.conf

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

$ echo "naamserver 8".8.8.8" | sudo tee /etc/resolv.conf

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

$ sudo apt-update

Installeer nu dnsmasq met de volgende opdracht:

$ sudo apt install dnsmasq

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 opties voor opmerkingen. 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 /etc/dnsmasq.conf /etc/dnsmasq.conf.bk

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

$ sudo nano /etc/dnsmasq.conf

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

# DNS-configuratie
poort=53
 
domein nodig
nep-priv
strikte volgorde
 
expand-hosts
domein=voorbeeld.com

OPMERKING: Verandering voorbeeld.com naar je eigen domeinnaam.

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

$ sudo systemctl herstart dnsmasq

Geen fouten. Super goed!

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

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

$ sudo nano /etc/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 /etc/hosts

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), gastheer1.voorbeeld.com (192.168.10.51), gastheer2.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 ja en .

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

$ sudo systemctl herstart dnsmasq

DNS-server testen:

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

$ graaf router.voorbeeld.com

Internetnaamomzetting werkt ook.

$ graaf google.com

DHCP-server configureren:

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

$ sudo nano /etc/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,24 uur
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:29:A5: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:

$ sudo systemctl 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 /etc/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.

Strijd om Wesnoth Zelfstudie
The Battle for Wesnoth is een van de meest populaire open source strategiespellen die je op dit moment kunt spelen. Dit spel is niet alleen al heel la...
0 A.D. zelfstudie
Van de vele strategiespellen die er zijn, 0 A.D. slaagt erin om op te vallen als een uitgebreide titel en een zeer diep, tactisch spel ondanks dat het...
Unity3D-zelfstudie
Inleiding tot Unity 3D Unity 3D is een krachtige game-ontwikkelingsengine. Het is platformoverschrijdend, zodat je games voor mobiel, internet, deskto...