I den här artikeln ska jag visa dig hur du använder dnsmasq för att konfigurera en lokal DNS-server, caching DNS-server och DHCP-server. Så, låt oss komma igång.
Nätverks topologi:
Detta är nätverkstopologin i denna artikel. Här kommer jag att konfigurera router som en DNS- och DHCP-server med dnsmasq. router har två 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 routern till internet och ens38 är ansluten till en 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 internetanslutning. 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, sedan IP-adressen till ens38 routerns gränssnitt bör vara 192.168.10.1/24. Detta är IP-adressen till dnsmasq DNS-servern och DHCP-servern.
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, du kan använda netplan för att konfigurera nätverksgränssnitten. Standard Netplan-konfigurationsfilen ä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 / 50-cloud-init.yaml
Skriv nu in följande rader och spara filen genom att trycka på
Starta om din nu router med följande kommando:
$ sudo omstart
När router boot bör IP-adresser tilldelas som förväntat.
Installera dnsmasq:
dnsmasq finns tillgängligt i det officiella paketförvaret för Ubuntu. Så du kan enkelt installera det med hjälp av APT-pakethanteraren.
Ubuntu använder systemd-löst som standard för att hantera DNS-servrar och DNS-cachning. Innan du installerar dnsmasq måste du stoppa och inaktivera systemd-löst tjänster. Annars kommer du inte att kunna köra dnsmasq alls.
För att stoppa systemd-löst tjänst, kör följande kommando:
$ sudo systemctl stoppar systemd-löst
För att inaktivera systemd-löst tjänst, kör följande kommando:
$ sudo systemctl inaktivera systemd-löst
Som standard är / etc / resolv.konf filen är länkad till en annan systemd konfigurationsfil som du kan se på skärmdumpen nedan. Men vi vill inte ha det längre.
Så ta bort / etc / resolv.konf länk med följande kommando:
$ sudo rm -v / etc / resolv.konf
Skapa nu en ny / etc / resolv.konf fil och ställ in google DNS-servern som standard-DNS-server med följande kommando:
$ echo "namnserver 8.8.8.8 "| sudo tee / etc / resolv.konf
Uppdatera nu APT-paketets förvarscache med följande kommando:
$ sudo apt uppdatering
Installera nu dnsmasq med följande kommando:
$ sudo apt installera dnsmasq
dnsmasq ska installeras.
Konfigurera dnsmasq DNS-server:
Konfigurationsfilen för dnsmasq är / etc / dnsmasq.konf. För att konfigurera dnsmasq som en DNS-server måste du ändra den här filen.
Standarden / etc / dnsmasq.konf filen innehåller mycket dokumentation och kommenterade alternativ. Så jag tror att det är bättre att byta namn på / etc / dnsmasq.konf fil till / etc / dnsmasq.konf.bk och skapa en ny.
Du kan byta namn på konfigurationsfilen med följande kommando:
$ sudo mv -v / etc / dnsmasq.conf / etc / dnsmasq.konf.bk
Skapa nu konfigurationsfilen / etc / dnsmasq.konf som följer:
$ sudo nano / etc / dnsmasq.konf
Skriv nu in följande rader och spara filen genom att trycka på
port = 53
domänbehov
falsk-priv
strikt ordning
expand-värdar
domän = exempel.com
NOTERA: Förändra exempel.com till ditt eget domännamn.
Starta om dnsmasq-tjänsten med följande kommando:
$ sudo systemctl starta om dnsmasq
Nej, fel. Bra!
Nu måste du ställa in 192.168.10.1 som standard DNS-serveradress i / etc / resolv.konf.
För att göra det, öppna / etc / resolv.konf fil med följande kommando:
$ sudo nano / etc / resolv.konf
Skriv nu in namnserver 192.168.10.1 före linjen 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 / värdar fil.
Öppna först / etc / värdar fil med följande kommando:
$ sudo nano / etc / hostsSkriv nu in dina DNS-poster i följande format:
IP_ADDR DOMAIN_NAMEJag har lagt till 4 poster router.exempel.com (192.168.10.1), värd1.exempel.com (192.168.10.51), värd2.exempel.com (192.168.10.52) , och värd3.exempel.com (192.168.10.53) som markerat i skärmdumpen nedan. Du kan lägga till så många DNS-poster som du vill.
När du är klar sparar du filen genom att trycka på
Starta om dnsmasq-tjänsten med följande kommando:
$ sudo systemctl starta om dnsmasq
Testa DNS-server:
Som du kan se fungerar den lokala DNS-upplösningen.
$ dig-router.exempel.com
Upplösning av internetnamn fungerar också.
$ dig google.com
Konfigurera DHCP-server:
För att konfigurera DHCP-servern, öppna konfigurationsfilen för dnsmasq / etc / dnsmasq.konf igen enligt följande:
$ sudo nano / etc / dnsmasq.konf
Lägg nu till de markerade raderna i slutet av filen. Spara sedan filen.
# DHCP-konfigurationdhcp-intervall = 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-värd = 00: 0C: 29: A5: BD: 4A, 192.168.10.51
dhcp-host = 00: 0C: 29: A5: BD: 5B, 192.168.10.52
dhcp-värd = 00: 0C: 29: A5: BD: 6C, 192.168.10.53
Här, dhcp-intervall används för att ställa in IP-adressintervallet som DHCP-servern tilldelar värdarna.
dhcp-alternativ används för att ställa in gateway (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 om dnsmasq-tjänsten med följande kommando:
$ sudo systemctl 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.konf (nu bytt namn till / etc / dnsmasq.konf.bk). Den har detaljerad beskrivning av alla konfigurationsalternativ för dnsmasq.
$ mindre / etc / dnsmasq.konf.bk
Standard dnsmasq-konfigurationsfil för Ubuntu Server 18.04 LTS.
Så så konfigurerar du dnsmasq på Ubuntu Server 18.04 LTS. Tack för att du läste den här artikeln.