„Bind“ kaip privataus DNS serverio nustatymas RHEL 8


Domeno vardų sistema (DNS) yra metodas, naudojamas žmonėms skaitomiems domenų pavadinimams (arba visiškai apibrėžtiems domenų vardams (FQDN) išversti) )) į mašininiu būdu nuskaitomus IP adresus, kad surastumėte kompiuterį tinkle, pvz., internete.

Kompiuterių ir tinklo sistemose tai būtina, nes, nors FQDN žmonės lengvai įsimena ir naudoja, kompiuteriai (klientai) pasiekia išteklių ar paslaugų kituose kompiuteriuose (serveriuose) pagal IP adresus.

Šiuo atžvilgiu DNS serveris (taip pat žinomas kaip vardų serveris) palaiko FQDN katalogą ir paverčia juos IP adresais; jis taip pat gali grąžinti IP adresą, kai pateikiamas prieglobos serverio pavadinimas/FQDN. Yra įvairių tipų DNS serveriai, įskaitant autoritetingąjį vardų serverį, talpyklos vardų serverį ir daugelį kitų.

Šiame straipsnyje paaiškinsime, kaip įdiegti ir konfigūruoti privatų/vidinį autoritetingą DNS serverį RHEL 8 naudojant BIND atvirojo kodo programinę įrangą.

Reikalavimai:

  1. RHEL 8 su minimaliu montavimu
  2. RHEL 8 su įjungta RedHat prenumerata
  3. RHEL 8 su statiniu IP adresu

Mano testavimo aplinka:

Domain: tecmint.lan
DNS Server IP and hostname: 192.168.56.100, dns-primary.tecmint.lan
DNS Client IP and hostname: 192.168.56.104, tecmint.tecmint.lan

1 veiksmas: įdiekite „Bind DNS“ RHEL 8

1. Norėdami savo serveryje įdiegti bind ir jos paslaugų programas, paleiskite šią cdnf komandą.

dnf install bind bind-utils

2. Tada kol kas paleiskite DNS paslaugą, tada įgalinkite jos automatinį paleidimą sistemos paleidimo metu ir patikrinkite, ar ji veikia, naudojant systemctl komandas.

systemctl start named
systemctl enable named
systemctl status named

2 veiksmas: BIND DNS konfigūravimas RHEL 8

3. Norėdami sukonfigūruoti Bind DNS serverį, pirmiausia turite sukurti originalaus konfigūracijos failo /etc/named.conf atsarginę kopiją naudodami šį cp komandą.

cp /etc/named.conf /etc/named.conf.orig

4. Dabar atidarykite /etc/named.conf konfigūracijos failą, kad galėtumėte redaguoti naudodami mėgstamą komandų eilutės teksto rengyklę, kaip nurodyta toliau.

vi /etc/named.conf 

Konfigūracijos skiltyje parinktys pakomentuokite šias eilutes.

options {
        #listen-on port 53 { 127.0.0.1; };
        #listen-on-v6 port 53 { ::1; };
        directory       "/var/named";

5. Tada ieškokite parametro allow-query ir nustatykite jo vertę savo tinkle, o tai reiškia, kad tik vietinio tinklo prieglobos gali pateikti užklausą DNS serveriui.

allow-query  {localhost; 192.168.56.0/24}

3 veiksmas: pirminės ir atvirkštinės DNS zonų kūrimas

Persiuntimo zona yra ta vieta, kurioje saugomi prieglobos serverio pavadinimo (arba FQDN) ir IP adresų santykiai; jis pateikia IP adresą naudodamas prieglobos serverio pavadinimą. Atminkite, kad įprastos DNS užklausos yra išankstinės paieškos užklausos. Kita vertus, Atvirkštinė zona pateikia pagrindinio kompiuterio FQDN pagal jo IP adresą.

6. Norėdami apibrėžti zonas pirmyn ir atgal, pridėkite šias eilutes /etc/named.conf< pabaigoje. failą.

//forward zone 
zone "tecmint.lan" IN { 
     type master; 
     file "tecmint.lan.db"; 
     allow-update { none; }; 
    allow-query {any; }
}; 
//backward zone 
zone "56.168.192.in-addr.arpa" IN { 
     type master; 
     file "tecmint.lan.rev"; 
     allow-update { none; }; 
    allow-query { any; }
};

Trumpai paaiškinkime aukščiau pateiktų zonų konfigūracijų parinktis:

  • tipas: apibrėžia šio serverio vaidmenį zonoje. Reikšmė „pagrindinis“ reiškia, kad tai patikimas serveris, kuriame saugoma pagrindinė zonos duomenų kopija.
  • failas: nurodo zonos duomenų bazės failą.
  • Leisti atnaujinti: nurodo pagrindinius kompiuterius, kurie leido pateikti dinaminius DNS naujinimus pagrindinėms zonoms. Šiuo atveju jokios.

4 veiksmas: peradresavimo DNS zonos failo kūrimas

7. Pirmiausia kataloge /var/named sukurkite Persiųsti zonos failą.

vi /var/named/tecmint.lan.db

Įtraukite į ją šią konfigūraciją.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)

;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;IP for Name Server
dns-primary IN A 192.168.56.100

;A Record for IP address to Hostname 
www IN A 192.168.56.5
mail IN A 192.168.56.10
docs  IN A 192.168.56.20

Trumpai paaiškinkime aukščiau pateiktą zonos apibrėžimą ir parametrus.

  • TTL: nurodo RR ir $TTL direktyvų galiojimo laiką, suteikia numatytąjį TTL kiekvienam RR be konkretaus TTL rinkinio.
  • @: tai domeno pavadinimo (pvz., tecmint.lan), apibrėžto pagrindiniame konfigūracijos faile, pseudonimas.
  • IN: reiškia internetą.
  • SOA: nurodo Įgaliojimo pradžią: kas yra patikimas vardų serveris (dns-primary.tecmint.lan), administratoriaus kontaktinė informacija ( admin.tecmint.lan, ženklas @ pakeičiamas tašku) ir kita susijusi informacija.
  • NS: reiškia vardų serverį.
  • Serialas: šią reikšmę naudoja DNS serveris, kad patikrintų, ar tam tikros zonos failo turinys yra atnaujintas.
  • Atnaujinti: nurodo, kaip dažnai pagalbinis DNS serveris turi atlikti zonos perkėlimą iš pagrindinio serverio.
  • Bandyti iš naujo: nurodo, kaip dažnai vergas turėtų dar kartą bandyti nepavykusį zonos perkėlimą.
  • Galiojimo laikas: nustato, kiek laiko pagalbinis serveris turi laukti prieš atsakydamas į kliento užklausą, kai pagrindinis serveris nepasiekiamas.
  • Minimum: nustato minimalų zonos TTL.
  • A: prieglobos adresas.

5 veiksmas: sukurkite atvirkštinės DNS zonos failą

8. Panašiai sukurkite Atvirkštinės zonos failą kataloge /var/named.

vi /var/named/tecmint.lan.rev

Tada pridėkite šias eilutes. Čia PTR yra priešinga A įrašui, naudojamam IP adresui susieti su pagrindinio kompiuterio pavadinimu.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;Reverse lookup for Name Server
100 IN PTR dns-primary.tecmint.lan.

;PTR Record IP address to HostName
5 IN PTR www.tecmint.lan.
10 IN PTR mail.tecmint.lan.
20 IN PTR docs.tecmint.lan.

9. Nustatykite teisingus zonos failų nuosavybės teises, kaip nurodyta toliau.

chown :named /var/named/tecmint.lan.db
chown :named /var/named/tecmint.lan.rev

10. Galiausiai patikrinkite DNS konfigūraciją ir, atlikę pirmiau nurodytus pakeitimus, zonos failų sintaksė yra teisinga, naudodami named-checkconf priemonę (jo nėra išėjimo reiškia, kad nėra klaidų):

named-checkconf
named-checkzone tecmint.lan /var/named/tecmint.lan.db
named-checkzone 192.168.56.100 /var/named/tecmint.lan.rev

11. Atlikę visą reikiamą konfigūraciją, turite iš naujo paleisti DNS paslaugą, kad įsigaliotų naujausi pakeitimai.

systemctl restart named

12. Tada, kad bet kurie klientai galėtų pasiekti DNS paslaugos konfigūracijas serveryje, turite pridėti DNS paslaugą prie sistemos ugniasienės konfigūracijos ir iš naujo įkelti ugniasienės nustatymus naudodami firewall-cmd paslaugų programą, kaip nurodyta toliau. :

firewall-cmd --permanent --zone=public --add-service=dns 
firewall-cmd --reload

6 veiksmas: DNS paslaugos tikrinimas iš kliento

13. Šiame skyriuje parodysime, kaip išbandyti DNS paslaugą iš kliento pusės. Prisijunkite prie kliento įrenginio, sukonfigūruokite jį naudoti aukščiau nurodytą DNS serverį. „Linux“ sistemoje atidarykite failą /etc/resolve.conf naudodami mėgstamą teksto rengyklę.

vi /etc/resolve.conf 

Įtraukite į jį šį įrašą, kuris nurodo sprendėjui naudoti nurodytą vardų serverį.

nameserver  192.168.56.100

Išsaugokite failą ir uždarykite jį. Atminkite, kad tinklo sąsajos konfigūracijos faile taip pat turite nurodyti DNS serverį.

14. Pridėkite DNS serverių IP 192.168.56.100 kaip sprendiklį prie kliento įrenginio tinklo sąsajos konfigūracijos failo /etc/sysconfig/network-scripts/ifcfg-enp0s3<, kaip parodyta toliau pateiktame paveikslėlyje.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=aba298ca-fa65-48cd-add9-6c3f1f28cee2
DEVICE=enp0s3
ONBOOT=no
DNS=192.168.56.100

15. Tada naudokite „nslookup“ programą, kad užklaustumėte IP, naudodami www, pašto ir dokumentų< pagrindinio kompiuterio pavadinimą ir atvirkščiai. serverius jūsų tinkle, kaip parodyta.

nslookup 192.168.56.5
nslookup www.tecmint.lan
nslookup 192.168.56.10
nslookup mail.tecmint.lan
nslookup 192.168.56.20
nslookup docs.tecmint.lan
nslookup 192.168.56.100
nslookup dns-primary.tecmint.lan

Santrauka

Šiame straipsnyje parodėme, kaip įdiegti ir sukonfigūruoti privatų, patikimą DNS serverį RHEL 8 naudojant BIND programinę įrangą. Tikimės, kad jums viskas pavyko gerai, kitu atveju atsiųskite mums savo užklausas ar kitas pastabas naudodami toliau pateiktą atsiliepimų formą.