Så här konfigurerar du dnsmasq på Ubuntu Server 18.04 LTS

How Configure Dnsmasq Ubuntu Server 18



dnsmasq är en mycket lätt lokal DNS -server. dnsmasq kan också konfigureras som en DNS -cachserver och DHCP -server. dnsmasq har IPv4- och IPv6 -stöd, inklusive DHCPv4 och DHCPv6. dnsmasq är perfekt för små nätverk.

I den här artikeln kommer jag att visa dig hur du använder dnsmasq för att konfigurera en lokal DNS -server, cacha DNS -server och DHCP -server. Så, låt oss komma igång.







Nätverks topologi:

Detta är denna artikels nätverkstopologi. Här kommer jag att konfigurera router som en DNS- och DHCP -server med dnsmasq. router har 2 nätverksgränssnitt, ett ( ens33 ) ansluter till Internet och den andra ( ens38 ) ansluter till en nätverk swtich . Alla andra värdar ( värd1 , värd2 , värd3 ) i nätverket använder DHCP -servern som är konfigurerad på router för automatisk tilldelning av IP -adresser och DNS -servern för namnupplösning.





Konfigurera statisk IP:

I min nätverkstopologi såg du, min router har två gränssnitt ens33 och ens38 . ens33 ansluter router till internet och ens38 är ansluten till a nätverksbrytare , som andra datorer i nätverket ansluter till. Jag måste använda DHCP för att få en IP -adress för ens33 gränssnitt från min ISP för internetuppkoppling. Men ens38 gränssnitt måste konfigureras manuellt.





Låt oss använda nätverket 192.168.10.0/24 för ens38 -gränssnitt och andra datorer i nätverket. Om jag använder nätverket 192.168.10.0/24, då är IP -adressen för ens38 routerns gränssnitt ska vara 192.168.10.1/24. Detta är IP -adressen för dnsmasq DNS -server och DHCP -server.

NOTERA: Ditt nätverksgränssnittsnamn kan vara annorlunda. Du kan ta reda på vad det är för dig med ip a kommando.



På Ubuntu Server 18.04 LTS kan du använda netplan för att konfigurera nätverksgränssnitten. Standardkonfigurationsfilen för netplan är /etc/netplan/50-cloud-init.yaml .

Öppna först konfigurationsfilen /etc/netplan/50-cloud-init.yaml med följande kommando:

$sudo nano /etc/netplan/femtio-cloud-init.yaml

Skriv nu in följande rader och spara filen genom att trycka på + x följd av och och .

Starta om din router med följande kommando:

$sudostarta om

När router stövlar, bör IP -adresser tilldelas som förväntat.

Installera dnsmasq:

dnsmasq är tillgängligt i det officiella paketförvaret för Ubuntu. Så du kan enkelt installera det med pakethanteraren APT.

Ubuntu använder systemlöst som standard för att hantera DNS -servrar och DNS -cachning. Innan du installerar dnsmasq måste du sluta och inaktivera systemlöst tjänster. Annars kommer du inte att kunna köra dnsmasq alls.

För att stoppa systemlöst service, kör följande kommando:

$sudosystemctl stop systemd-löst

För att inaktivera systemlöst service, kör följande kommando:

$sudosystemctl inaktivera systemd-resolved

Som standard är /etc/resolv.conf filen är länkad till en annan systemd konfigurationsfil som du kan se på skärmdumpen nedan. Men vi vill inte det längre.

Så ta bort /etc/resolv.conf länk med följande kommando:

$sudo rm -v /etc/resolv.conf

Skapa nu en ny /etc/resolv.conf filen och ställ in google DNS -servern som standard DNS -server med följande kommando:

$kastade ut 'namnserver 8.8.8.8' | sudo tee /etc/resolv.conf

Uppdatera nu APT -paketets förvaringscache med följande kommando:

$sudolämplig uppdatering

Installera nu dnsmasq med följande kommando:

$sudobenägenInstalleradnsmasq

dnsmasq bör installeras.

Konfigurera dnsmasq DNS -server:

Konfigurationsfilen för dnsmasq är /etc/dnsmasq.conf . För att konfigurera dnsmasq som en DNS -server måste du ändra den här filen.

Standarden /etc/dnsmasq.conf filen innehåller mycket dokumentation och kommenterade alternativ. Så jag tror att det är bättre att byta namn på /etc/dnsmasq.conf fil till /etc/dnsmasq.conf.bk och skapa en ny.

Du kan byta namn på konfigurationsfilen med följande kommando:

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

Skapa nu konfigurationsfilen /etc/dnsmasq.conf som följer:

$sudo nano /etc/dnsmasq.conf

Skriv nu in följande rader och spara filen genom att trycka på + x följd av och och .

# DNS -konfiguration
hamn=53

behövs domän
falsk-priv
strikt ordning

expand-hosts
domän= exempel.com

NOTERA: Förändra exempel.com till ditt eget domännamn.

Starta nu om dnsmasq -tjänsten med följande kommando:

$sudosystemctl starta om dnsmasq

Nej, fel. Bra!

Nu måste du ställa in 192.168.10.1 som standard DNS -serveradress i /etc/resolv.conf .

För att göra det, öppna /etc/resolv.conf fil med följande kommando:

$sudo nano /etc/resolv.conf

Skriv nu in namnserver 192.168.10.1 före raden namnserver 8.8.8.8 som visas på skärmdumpen nedan. Spara sedan filen.

Det är allt.

Lägga till DNS -poster:

Nu kan du lägga till dina DNS -poster i /etc/hosts fil.

Öppna först /etc/hosts fil med följande kommando:

$sudo nano /etc/värdar

Skriv nu in dina DNS -poster i följande format:

IP_ADDR DOMAIN_NAME

Jag har lagt till 4 poster router.example.com (192.168.10.1) , host1.example.com (192.168.10.51) , host2.example.com (192.168.10.52) , och host3.example.com (192.168.10.53) som markeras på skärmdumpen nedan. Du kan lägga till så många DNS -poster du vill.

När du är klar sparar du filen genom att trycka på + x följd av och och .

Starta nu om dnsmasq -tjänsten med följande kommando:

$sudosystemctl starta om dnsmasq

Testar DNS -server:

Som du kan se fungerar den lokala DNS -upplösningen.

$digrouter.exempel.com

Internetnamnupplösning fungerar också.

$digGoogle com

Konfigurera DHCP -server:

För att konfigurera DHCP -servern, öppna dnsmasq -konfigurationsfilen /etc/dnsmasq.conf igen enligt följande:

$sudo nano /etc/dnsmasq.conf

Lägg nu till de markerade raderna i slutet av filen. Spara sedan filen.

# DHCP -konfiguration
dhcp-range = 192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option = option: router, 192.168.10.1
dhcp-option = option: dns-server, 192.168.10.1
dhcp-option = option: 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

Här, dhcp-intervall används för att ställa in intervallet för IP -adresser som DHCP -servern kommer att tilldela värdar.

dhcp-alternativ används för att ställa in gatewayen ( alternativ: router ), DNS -serveradress ( alternativ: dns-server ) och nätmask ( alternativ: nätmask )

dhcp-värd används för att ställa in specifika IP -adresser till värdar beroende på de angivna MAC -adresserna.

Starta nu om dnsmasq -tjänsten med följande kommando:

$sudosystemctl starta om dnsmasq

Testar DHCP -server:

Som du kan se, datorn värd1 fick IP -adressen 192.168.10.51/24 från DHCP -servern.

DNS -upplösning fungerar också från värd1 .

På samma sätt, värd2 och värd3 får också rätt IP -adress från DHCP -servern och DNS -upplösning fungerar på var och en av dem.

Vart ska du gå nästa:

Om du vill lära dig mer om dnsmasq, kolla sedan standardkonfigurationsfilen /etc/dnsmasq.conf (nu bytt namn till /etc/dnsmasq.conf.bk ). Den har en detaljerad beskrivning av alla konfigurationsalternativ för dnsmasq.

$mindre /etc/dnsmasq.conf.bk

Standardkonfigurationsfil för dnsmasq för Ubuntu Server 18.04 LTS.

Så det är så du konfigurerar dnsmasq på Ubuntu Server 18.04 LTS. Tack för att du läste denna artikel.