În acest articol, vă voi arăta cum să utilizați dnsmasq pentru a configura un server DNS local, cache server DNS și server DHCP. Deci sa începem.
Topologie de rețea:
Aceasta este topologia rețelei acestui articol. Aici, voi configura router ca server DNS și DHCP cu dnsmasq. router are 2 interfețe de rețea, una ( ens33 ) se conectează la Internet si celalalt ( ens38 ) se conectează la a rețea swtich . Toate celelalte gazde ( gazdă1 , gazdă2 , gazdă3 ) în rețea utilizează serverul DHCP configurat pe router pentru alocarea automată a adreselor IP și a serverului DNS pentru rezoluția numelui.
Configurarea IP static:
În topologia mea de rețea, ai văzut, a mea router are două interfețe ens33 și ens38 . ens33 conectează routerul la internet și ens38 este conectat la un comutator de rețea , la care se conectează alte computere din rețea. Va trebui să folosesc DHCP pentru a obține o adresă IP pentru ens33 interfață de la ISP-ul meu pentru conexiune la internet. Cu exceptia ens38 interfața trebuie configurată manual.
Să folosim rețeaua 192.168.10.0/24 pentru interfața ens38 și alte computere din rețea. Dacă folosesc rețeaua 192.168.10.0/24, atunci adresa IP a ens38 interfața routerului ar trebui să fie 192.168.10.1/24. Aceasta este adresa IP a serverului DNS dnsmasq și a serverului DHCP.
NOTĂ: Numele interfeței dvs. de rețea poate fi diferit. Puteți afla ce este pentru dvs. cu ajutorul ip a comanda.
Pe Ubuntu Server 18.04 LTS, puteți utiliza netplan pentru a configura interfețele de rețea. Fișierul de configurare implicit al netplanului este /etc/netplan/50-cloud-init.yaml .
Mai întâi, deschideți fișierul de configurare /etc/netplan/50-cloud-init.yaml cu următoarea comandă:
$sudo nano /etc./netplan/cincizeci-cloud-init.yaml
Acum, tastați următoarele rânduri și salvați fișierul apăsând + X urmată de și și .
Acum, reporniți router cu următoarea comandă:
$sudoreporniți
Odata ce router boot-urile, adresele IP ar trebui atribuite conform așteptărilor.
Instalarea dnsmasq:
dnsmasq este disponibil în depozitul oficial de pachete Ubuntu. Deci, îl puteți instala cu ușurință utilizând managerul de pachete APT.
Ubuntu folosește sistem-rezolvat implicit pentru a gestiona serverele DNS și cache-ul DNS. Înainte de a instala dnsmasq, trebuie să opriți și să dezactivați sistem-rezolvat Servicii. În caz contrar, nu veți putea rula deloc dnsmasq.
Pentru a opri sistem-rezolvat service, executați următoarea comandă:
$sudosystemctl stop systemd-rezolvat
Pentru a dezactiva sistem-rezolvat service, executați următoarea comandă:
$sudosystemctl dezactivează systemd-resolver
În mod implicit, fișierul /etc/resolv.conf fișierul este legat de un alt fișier de configurare systemd așa cum puteți vedea în captura de ecran de mai jos. Dar nu mai vrem.
Deci, eliminați /etc/resolv.conf link cu următoarea comandă:
$sudo rm -v /etc./resolv.conf
Acum, creați un nou /etc/resolv.conf fișier și setați serverul DNS Google ca server DNS implicit cu următoarea comandă:
$aruncat „server de nume 8.8.8.8” | sudo tee /etc./resolv.conf
Acum, actualizați memoria cache a depozitului de pachete APT cu următoarea comandă:
$sudoactualizare aptă
Acum, instalați dnsmasq cu următoarea comandă:
$sudoaptinstalarednsmasq
Ar trebui instalat dnsmasq.
Configurarea serverului DNS dnsmasq:
Fișierul de configurare al dnsmasq este /etc/dnsmasq.conf . Pentru a configura dnsmasq ca server DNS, trebuie să modificați acest fișier.
Implicit /etc/dnsmasq.conf fișierul conține o mulțime de documentație și opțiuni comentate. Deci, cred că este mai bine să redenumiți /etc/dnsmasq.conf trimiteți la /etc/dnsmasq.conf.bk și creați unul nou.
Puteți redenumi fișierul de configurare cu următoarea comandă:
$sudo mv -v /etc./dnsmasq.conf/etc./dnsmasq.conf.bk
Acum, creați fișierul de configurare /etc/dnsmasq.conf după cum urmează:
$sudo nano /etc./dnsmasq.conf
Acum, tastați următoarele rânduri și salvați fișierul apăsând + X urmată de și și .
# Configurare DNSport=53
domeniu necesar
fals-priv
ordine strictă
extinde-gazde
domeniu= exemplu.com
NOTĂ: Schimbare example.com către propriul nume de domeniu.
Acum, reporniți serviciul dnsmasq cu următoarea comandă:
$sudosystemctl reporniți dnsmasq
Nu, erori. Grozav!
Acum, trebuie să stabiliți 192.168.10.1 ca adresă implicită a serverului DNS din /etc/resolv.conf .
Pentru a face acest lucru, deschideți /etc/resolv.conf fișier cu următoarea comandă:
$sudo nano /etc./resolv.conf
Acum, introduceți server de nume 192.168.10.1 înainte de linie server de nume 8.8.8.8 așa cum se arată în captura de ecran de mai jos. Apoi salvați fișierul.
Asta e.
Adăugarea de înregistrări DNS:
Acum, puteți adăuga intrările DNS la / etc / hosts fişier.
Mai întâi, deschideți fișierul / etc / hosts fișier cu următoarea comandă:
$sudo nano /etc./gazdeAcum, introduceți intrările DNS în următorul format:
IP_ADDR DOMAIN_NAMEAm adăugat 4 intrări router.example.com (192.168.10.1) , host1.example.com (192.168.10.51) , host2.example.com (192.168.10.52) , și host3.example.com (192.168.10.53) așa cum este marcat în captura de ecran de mai jos. Puteți adăuga câte intrări DNS doriți.
După ce ați terminat, salvați fișierul apăsând + X urmată de și și .
Acum, reporniți serviciul dnsmasq cu următoarea comandă:
$sudosystemctl reporniți dnsmasq
Testarea serverului DNS:
După cum puteți vedea, rezoluția DNS locală funcționează.
$turouter.example.com
Rezoluția numelui de internet funcționează, de asemenea.
$tuGoogle com
Configurarea serverului DHCP:
Pentru a configura serverul DHCP, deschideți fișierul de configurare dnsmasq /etc/dnsmasq.conf din nou după cum urmează:
$sudo nano /etc./dnsmasq.conf
Acum, adăugați liniile marcate la sfârșitul fișierului. Apoi salvați fișierul.
# Configurare DHCPgama dhcp = 192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option = opțiune: 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
Aici, gama dhcp este utilizat pentru a seta gama de adrese IP pe care serverul DHCP le va atribui gazdelor.
opțiunea dhcp este folosit pentru a seta gateway-ul ( opțiune: router ), Adresa serverului DNS ( opțiune: dns-server ), și netmask ( opțiune: netmask )
dhcp-host este utilizat pentru a seta adrese IP specifice gazdelor în funcție de adresele MAC specificate.
Acum, reporniți serviciul dnsmasq cu următoarea comandă:
$sudosystemctl reporniți dnsmasq
Testarea serverului DHCP:
După cum puteți vedea, computerul gazdă1 a primit adresa IP 192.168.10.51/24 de pe serverul DHCP.
Rezoluția DNS funcționează și de la gazdă1 .
În același mod, gazdă2 și gazdă3 primește, de asemenea, adresa IP corectă de pe serverul DHCP și rezoluția DNS funcționează pe fiecare dintre ele.
Unde să mergi Următorul:
Dacă doriți să aflați mai multe despre dnsmasq, verificați fișierul de configurare implicit /etc/dnsmasq.conf (redenumit acum în /etc/dnsmasq.conf.bk ). Are o descriere detaliată a tuturor opțiunilor de configurare ale dnsmasq.
$Mai puțin /etc./dnsmasq.conf.bk
Fișier de configurare implicit dnsmasq al Ubuntu Server 18.04 LTS.
Deci, așa configurați dnsmasq pe Ubuntu Server 18.04 LTS. Vă mulțumim că ați citit acest articol.