V tomto článku vám ukážem, ako použiť dnsmasq na konfiguráciu lokálneho servera DNS, ukladania servera DNS do pamäte cache a servera DHCP. Začnime teda.
Topológia siete:
Toto je topológia siete tohto článku. Tu nakonfigurujem router ako server DNS a DHCP s dnsmasq. router má 2 sieťové rozhrania, jedno ( ens33 ) sa pripája k Internet a druhý ( ens38 ) sa pripája k a sieť swtich . Všetci ostatní hostitelia ( hostiteľ 1 , hostiteľ 2 , hostiteľ 3 ) v sieti používa server DHCP nakonfigurovaný na serveri router na automatické priradenie adries IP a servera DNS na rozlíšenie názvov.
Konfigurácia statickej adresy IP:
V mojej topológii siete ste videli, moja router má dve rozhrania ens33 a ens38 . ens33 pripája router k internetu a ens38 je pripojený k a prepínač siete , ku ktorému sa pripájajú ostatné počítače v sieti. Budem musieť použiť DHCP na získanie IP adresy pre ens33 rozhranie od môjho ISP na internetové pripojenie. Ale ens38 rozhranie je potrebné nakonfigurovať ručne.
Používajme sieť 192.168.10.0/24 pre rozhranie ens38 a ďalšie počítače v sieti. Ak používam sieť 192.168.10.0/24, potom IP adresa súboru ens38 rozhranie smerovača by malo byť 192.168.10.1/24. Toto je adresa IP servera dnsmasq DNS a DHCP.
POZNÁMKA: Názov vášho sieťového rozhrania sa môže líšiť. Môžete zistiť, na čo vám to je ip a príkaz.
Na serveri Ubuntu Server 18.04 LTS môžete použiť netplan konfigurovať sieťové rozhrania. Predvolený konfiguračný súbor netplan je /etc/netplan/50-cloud-init.yaml .
Najprv otvorte konfiguračný súbor /etc/netplan/50-cloud-init.yaml s nasledujúcim príkazom:
$sudo nano /atď/netplan/päťdesiat-cloud-init.yaml
Teraz zadajte nasledujúce riadky a súbor uložte stlačením + X nasledovaný a a .
Teraz reštartujte zariadenie router s nasledujúcim príkazom:
$sudoreštartovať
Raz router boot, IP adresy by mali byť priradené podľa očakávania.
Inštalácia dnsmasq:
dnsmasq je k dispozícii v oficiálnom úložisku balíkov Ubuntu. Môžete ho teda ľahko nainštalovať pomocou správcu balíkov APT.
Ubuntu používa systemd-resolved v predvolenom nastavení na správu serverov DNS a ukladania do vyrovnávacej pamäte DNS. Pred inštaláciou dnsmasq musíte zastaviť a vypnúť systemd-resolved služieb. V opačnom prípade nebudete môcť dnsmasq vôbec spustiť.
Ak chcete zastaviť systemd-resolved službu, spustite nasledujúci príkaz:
$sudosystemctl stop systemd-vyriešený
Ak chcete zakázať systemd-resolved službu, spustite nasledujúci príkaz:
$sudosystemctl vypnúť systém vyriešený
Štandardne je /etc/resolv.conf súbor je prepojený s iným konfiguračným súborom systemd, ako vidíte na obrázku nižšie. Ale to už nechceme.
Odstráňte teda /etc/resolv.conf prepojenie s nasledujúcim príkazom:
$sudo rm -v /atď/resolv.conf
Teraz vytvorte nový /etc/resolv.conf súbor a nastavte server Google DNS ako predvolený server DNS pomocou nasledujúceho príkazu:
$zahodil 'nameserver 8.8.8.8' | sudo tričko /atď/resolv.conf
Teraz aktualizujte vyrovnávaciu pamäť úložiska balíkov APT nasledujúcim príkazom:
$sudovýstižná aktualizácia
Teraz nainštalujte dnsmasq pomocou nasledujúceho príkazu:
$sudovýstižnýInštaláciadnsmasq
dnsmasq by mal byť nainštalovaný.
Konfigurácia servera dnsmasq DNS:
Konfiguračný súbor dnsmasq je /etc/dnsmasq.conf . Ak chcete nakonfigurovať dnsmasq ako server DNS, musíte tento súbor upraviť.
Predvolené /etc/dnsmasq.conf súbor obsahuje množstvo dokumentácie a komentovaných možností. Preto si myslím, že je lepšie premenovať /etc/dnsmasq.conf súbor do /etc/dnsmasq.conf.bk a vytvorte nový.
Konfiguračný súbor môžete premenovať pomocou nasledujúceho príkazu:
$sudo mv -v /atď/dnsmasq.conf/atď/dnsmasq.conf.bk
Teraz vytvorte konfiguračný súbor /etc/dnsmasq.conf nasledovne:
$sudo nano /atď/dnsmasq.conf
Teraz zadajte nasledujúce riadky a súbor uložte stlačením + X nasledovaný a a .
# Konfigurácia DNSprístav=53
doména potrebná
falošný-priv
prísny poriadok
expand-hosts
doména= example.com
POZNÁMKA: Zmeniť example.com na meno vašej vlastnej domény.
Teraz reštartujte službu dnsmasq pomocou nasledujúceho príkazu:
$sudosystemctl reštart dnsmasq
Nie, chyby. Skvelé!
Teraz musíte nastaviť 192.168.10.1 ako predvolenú adresu servera DNS v /etc/resolv.conf .
Ak to chcete urobiť, otvorte /etc/resolv.conf súbor s nasledujúcim príkazom:
$sudo nano /atď/resolv.conf
Teraz zadajte nameserver 192.168.10.1 pred radom nameserver 8.8.8.8 ako je znázornené na obrázku nižšie. Potom súbor uložte.
To je všetko.
Pridanie záznamov DNS:
Teraz môžete svoje položky DNS pridať do /etc/hosts súbor.
Najprv otvorte /etc/hosts súbor s nasledujúcim príkazom:
$sudo nano /atď/hostiteliaTeraz zadajte svoje položky DNS v nasledujúcom formáte:
IP_ADDR DOMAIN_NAMEPridal som 4 záznamy router.example.com (192.168.10.1) , host1.example.com (192.168.10.51) , host2.example.com (192.168.10.52) a host3.example.com (192.168.10.53) ako je vyznačené na obrázku nižšie. Môžete pridať ľubovoľný počet záznamov DNS.
Po dokončení uložte súbor stlačením + X nasledovaný a a .
Teraz reštartujte službu dnsmasq pomocou nasledujúceho príkazu:
$sudosystemctl reštart dnsmasq
Testovanie servera DNS:
Ako vidíte, miestne rozlíšenie DNS funguje.
$tyrouter.example.com
Funguje aj rozlíšenie internetového názvu.
$tyGoogle com
Konfigurácia servera DHCP:
Ak chcete nakonfigurovať server DHCP, otvorte konfiguračný súbor dnsmasq /etc/dnsmasq.conf opäť takto:
$sudo nano /atď/dnsmasq.conf
Teraz pridajte označené riadky na koniec súboru. Potom súbor uložte.
# Konfigurácia DHCPdhcp-range = 192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option = možnosť: router, 192.168.10.1
dhcp-option = možnosť: dns-server, 192.168.10.1
dhcp-option = možnosť: maska siete, 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
Tu, rozsah dhcp sa používa na nastavenie rozsahu adries IP, ktoré server DHCP priradí hostiteľom.
dhcp-option slúži na nastavenie brány ( možnosť: router ), Adresa servera DNS ( možnosť: dns-server ) a maska siete ( možnosť: maska siete )
dhcp-hostiteľ sa používa na nastavenie konkrétnych adries IP hostiteľom v závislosti od zadaných adries MAC.
Teraz reštartujte službu dnsmasq pomocou nasledujúceho príkazu:
$sudosystemctl reštart dnsmasq
Testovanie servera DHCP:
Ako vidíte, počítač hostiteľ 1 dostal IP adresu 192.168.10.51/24 zo servera DHCP.
Rozlíšenie DNS funguje aj od hostiteľ 1 .
Rovnakým spôsobom, hostiteľ 2 a hostiteľ 3 tiež získa správnu adresu IP zo servera DHCP a rozlíšenie DNS funguje na každom z nich.
Kam ďalej:
Ak sa chcete dozvedieť viac o dnsmasq, pozrite sa do predvoleného konfiguračného súboru /etc/dnsmasq.conf (teraz premenované na /etc/dnsmasq.conf.bk ). Má podrobný popis všetkých možností konfigurácie dnsmasq.
$menej /atď/dnsmasq.conf.bk
Predvolený konfiguračný súbor dnsmasq systému Ubuntu Server 18.04 LTS.
Takto teda nakonfigurujete dnsmasq na Ubuntu Server 18.04 LTS. Ďakujem za prečítanie tohto článku.