Bendra serijos rodyklė: Kompiuterių tinklai MVĮ: Įvadas
Sveiki, draugai! Šiame straipsnyje apžvelgsime, kaip įdiegti svarbias DNS ir DHCP tinklo paslaugas „CentOS Linux“, ypač 7.2 versijoje.
- Kai kuriuose straipsniuose apie DNS kalbama apie tai, kad šios paslaugos diegimas yra šiek tiek neaiškus ir sunkus. Aš nelabai sutinku su šiuo teiginiu. Geriau sakyčiau, kad tai šiek tiek konceptualu ir kad daugelyje jo konfigūracijos failų yra niūri sintaksė. Laimei, mes turime įrankius, kurie žingsnis po žingsnio patikrina kiekvieno mūsų pakeisto konfigūracijos failo sintaksę. Todėl pasistengsime, kad šis įrašas būtų kuo malonesnis ir malonesnis..
Tiems, kurie ieško abiejų paslaugų pagrindų, primygtinai rekomenduojame pradėti paiešką „Wikipedia“ tiek jos ispanų, tiek anglų kalbomis. Ne mažiau tiesa, kad straipsniai anglų kalba beveik visada yra išsamesni ir nuoseklesni. Vis dėlto Vikipedija yra labai geras atspirties taškas.
Tiems, kurie tikrai nori sužinoti apie DNS ir BIND, patariama perskaityti Paulo Albitzo ir Cricketo Liu knygą „ OReilly – DNS and BIND 4th ed “ arba vėlesnį leidimą, kuris tikrai egzistuoja.
Tiems, kurie renkasi grafinę aplinką, jau paskelbėme straipsnį šia tema pavadinimu „ DNS ir DHCP sistemoje „openSUSE 13.2 Harlequin – SME Networks “. Tačiau toliau rasite straipsnių šia tema, bet ne kitų, parašytų plačiai naudojant terminalą arba konsolės emuliatorių. Kitaip tariant, klasikiniu stiliumi, kurį naudoja UNIX®/Linux sistemų administratoriai.
Jei norite sužinoti daugiau apie šio straipsnio pavadinimo „ MVĮ tinklai “ temą, galite apsilankyti to paties tinklaraščio puslapyje „ MVĮ tinklai: pirmasis virtualus pjūvis “ . Ten rasite nuorodas į daugelį kitų paskelbtų straipsnių.
- Baigę įdiegti „CentOS 7“ operacinę sistemą, naudosime rekomenduojamus paketus, el katalogas /usr/share/doc/bind-9.9.4/ Joje yra nemažai dokumentų, kuriuos rekomenduojame pasikonsultuoti prieš pradedant paiešką internete, prieš tai nežinant, kad po ranka ir savo namuose galite rasti tai, ko ieškote.
Pagrindinės sistemos montavimas
Bendrieji domeno ir DNS serverio duomenys
Domeno vardas: desdelinux.gerbėjas DNS serverio pavadinimas: dns.desdelinux.gerbėjas IP adresas: 192.168.10.5 Potinklio kaukė: 255.255.255.0
Montavimas
Pradedame nuo naujo arba švaraus „CentOS 7“ operacinės sistemos diegimo, kaip aprašyta ankstesniame straipsnyje „ CentOS 7 Hypervisor I – MVĮ tinklai “. Mums reikia atlikti tik šiuos pakeitimus:
- Į 22 vaizdas «PROGRAMINĖS ĮRANGOS PASIRINKIMAS«, Rekomenduojame pasirinkti kairiajame stulpelyje«Bazinė aplinka»Parinktis, atitinkanti«Infrastruktūros serveris«, Dešiniajame stulpelyje«Papildiniai pasirinktai aplinkai»Pažymėkite žymės langelį«DNS vardų serveris«. Vėliau įdiegsime DHCP serverį.
- Prisiminkime papildomų saugyklų deklaraciją, kaip parodyta 23 vaizdas, nustačius «TINKLO IR KOMANDOS PAVADINIMAS"
- Vaizdai, nurodantys skaidinius, kuriuos sukursime standžiajame diske, pateikiami tik kaip vadovai. Galite laisvai pasirinkti pertvaras savo nuožiūra, praktika ir geru sprendimu.
- Galiausiai 13 paveikslėlis «TINKLO IR KOMANDOS PAVADINIMAS», turime pakeisti reikšmes pagal bendruosius deklaruoto domeno ir DNS serverio parametrus, nepamiršdami nurodyti pagrindinio kompiuterio vardo - šiuo atveju «dns«- baigus tinklo konfigūraciją. Tai teigiama daryti zvimbimas - iš kito kompiuterio - į nurodytą IP adresą, kai tinklas yra aktyvus:
Yra tikrai nedaug ir labai akivaizdžių pakeitimų, kuriuos turime atlikti, atsižvelgdami į ankstesnį straipsnį.
Pirminiai patikrinimai ir derinimai
Įdiegę operacinę sistemą, turime bent jau peržiūrėti šiuos failus ir tam pradėti savo kompiuterio sesiją per SSH sysadmin.desdelinux.gerbėjas:
„buzz @ sysadmin“: ~ $ ssh 192.168.10.5 [apsaugotas el. paštu]slaptažodis: Paskutinis prisijungimas: 2017 m. sausio 28 d., šeštadienis, 09:48:05 iš 192.168.10.1 [buzz @ dns ~] $
Pirmiau nurodyta operacija gali užtrukti ilgiau nei įprasta, ir daugiausia dėl to, kad mes dar neturime DNS LAN. Vėliau dar kartą patikrinkite, ar DNS veikia.
[buzz @ dns ~] $ cat / etc / hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6 [buzz @ dns ~] $ cat / etc / hostname dns [buzz @ dns ~] $ cat / etc / sysconfig / network-scripts / ifcfg-eth0 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eth0 UUID=946f5ac9-238a-4a94-9acb-9e3458c680fe DEVICE=eth0 ONBOOT=yes IPADDR=192.168.10.5 PREFIX=24 GATEWAY=192.168.10.1 DNS1=127.0.0.1 DOMAIN=desdelinux.fan [buzz @ dns ~] $ cat /etc/resolv.conf # Sukurta naudojant NetworkManager paiešką desdelinux.fan nameserver 127.0.0.1
Pagrindinės konfigūracijos atspindi mūsų pasirinkimus. Atkreipkite dėmesį, kad net „Red Hat 7 – CentOS 7“ serveryje „NetworkManager“ pagal numatytuosius nustatymus sukonfigūruotas valdyti tinklo sąsajas, laidines ar belaides („WiFi“), VPN ryšius, PPPoE ryšius ir bet kokius kitus tinklo ryšius.
[buzz @ dns ~] $ sudo systemctl statusas tinklo valdytojas [sudo] „Buzz“ slaptažodis: ● networkmanager.service Įkelta: nerasta (Priežastis: Nėra tokio failo ar katalogo) Aktyvus: neaktyvus (negyvas) [buzz @ dns ~] $ sudo systemctl būsena NetworkManager ● NetworkManager.service - tinklo tvarkyklė įkelta: įkelta (/usr/lib/systemd/system/NetworkManager.service; įgalinta; išankstinis pardavėjo nustatymas: įgalinta) Aktyvus: aktyvus (veikia) nuo 2017-01-28 šeštadienio 12:23:59 EST; Prieš 12min Pagrindinis PID: 705 (NetworkManager) CGroup: /system.slice/NetworkManager.service └─705 / usr / sbin / NetworkManager --no-daemon
„Red Hat“ – „CentOS“ taip pat leidžia prijungti ir atjungti tinklo sąsajas naudojant klasikines „ifup“ ir „ifdown“ komandas . Paleiskime šias komandas serverio konsolėje:
[root @ dns ~] # ifdown eth0 Įrenginys „eth0“ sėkmingai atjungtas. [root @ dns ~] # ifup eth0 Ryšys sėkmingai suaktyvintas (aktyvus „D-Bus“ kelias: / org / freedesktop / NetworkManager / ActiveConnection / 1)
- Mes siūlome nekeiskite numatytųjų nustatymų, kuriuos siūlo „CentOS 7“ „NetworkManager“.
Mes galutinai deklaruojame saugyklas, kurias ketiname naudoti, ir prireikus atnaujinsime operacinę sistemą:
[buzz @ dns ~] $ su Slaptažodis: [root @ dns buzz] # cd /etc/yum.repos.d/ [root @ dns yum.repos.d] # ls -l viso 28 -rw-r - r--. 1 šaknies šaknis 1664 9 m. Gruodžio 2015 d. CentOS-Base.repo -rw-r - r--. 1 šaknies šaknis 1309 9 m. Gruodžio 2015 d. CentOS-CR.repo -rw-r - r--. 1 šaknies šaknis 649 9 m. Gruodžio 2015 d. CentOS-Debuginfo.repo -rw-r - r--. 1 šaknies šaknis 290 9 m. Gruodžio 2015 d. CentOS-fasttrack.repo -rw-r - r--. 1 šaknies šaknis 630 9 m. Gruodžio 2015 d. CentOS-Media.repo -rw-r - r--. 1 šaknies šaknis 1331 9 m. Gruodžio 2015 d. CentOS-Sources.repo -rw-r - r--. 1 šaknies šaknis 1952 m. Gruodžio 9 d., CentOS-Vault.repo
Sveika perskaityti CentOS rekomenduojamų saugyklų pradinių deklaracijų failų turinį. Pakeitimai, kuriuos atliekame čia, atsirado dėl to, kad neturime interneto prieigos ir dirbame su vietinėmis saugyklomis, kurias iš WWW Village atsisiuntė kolegos, kurie šiek tiek palengvina mūsų gyvenimą.
[root @ dns yum.repos.d] # mkdir originalas [root @ dns yum.repos.d] # mv CentOS- * originalas / [root @ dns yum.repos.d] # nano centos-repos.repo [centos-base] name=CentOS-$releasever baseurl=http://10.10.10.1/repos/centos/7/base/ gpgcheck=0 enabled=1 [centos-updates] name=CentOS-$releasever baseurl=http://10.10.10.1/repos/centos/7/updates/x86_64/ gpgcheck=0 enabled=1 [root @ dns yum.repos.d] # yum valykite visus Įkelti papildiniai: greičiausias veidrodis, langpacks Valymo saugyklos: centos-base centos-updates Visko valymas [root @ dns yum.repos.d] # yum atnaujinimas Įkeliami papildiniai: greičiausias veidrodis, „centos-base langpacks“ 3.4 kB 00:00 cento atnaujinimai | 3.4 kB 00:00 (1/2): cento bazė / pirminis_db | 5.3 MB 00:00 (2/2): centos-atnaujinimai / pirminis_db | 9.1 MB 00:00 Greičiausių veidrodžių nustatymas Nėra paketų, pažymėtų atnaujinti
Pranešimas „Atnaujinimui nepažymėta jokių paketų“ rodo , kad diegimo metu deklaruojant naujausias saugyklas, buvo įdiegti naujausi paketai.
Apie „SELinux“ kontekstą ir užkardą
Šį straipsnį iš esmės sutelksime į DNS ir DHCP paslaugų įgyvendinimą, kuris yra pagrindinis jo tikslas.
Jei kuris nors skaitytojas diegimo metu pasirinko saugumo politiką, kaip parodyta šio DNS-DHCP serverio diegimui naudojamo informacinio straipsnio „ CentOS 7 Hypervisor I – SME Networks “ 06 paveikslėlyje , ir nežino, kaip tinkamai konfigūruoti SELinux ir „CentOS“ užkardą, siūlome paleisti šiuos veiksmus:
Pakeiskite /etc/sysconfig/selinux failą ir pakeiskite SELINUX=enforcing į SELINUX=disable
[root @ dns ~] # nano / etc / sysconfig / selinux # Šis failas valdo SELinux būseną sistemoje. # SELINUX = gali būti viena iš šių trijų reikšmių: # vykdymas - vykdoma „SELinux“ saugumo politika. # leistinas - „SELinux“ spausdina įspėjimus, o ne vykdo. # išjungtas - neįkelta jokia „SELinux“ politika. SELINUX = išjungta # SELINUXTYPE = gali turėti vieną iš trijų reikšmių: # tikslinis - tiksliniai procesai yra apsaugoti, # minimalūs - tikslinės politikos pakeitimas. Tik pasirinkti procesai yra pr $ # mls - kelių lygių saugumo apsauga. SELINUXTYPE = tikslinė
Tada vykdykite šias komandas
[root @ dns ~] # setenforce 0
[root @ dns ~] # paslaugos užkarda sustabdoma Nukreipiama į / bin / systemctl stop firewalld.service [root @ dns ~] # systemctl išjungti ugniasienę Pašalinta symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Pašalinta symlink /etc/systemd/system/basic.target.wants/firewalld.service.
Jei diegiate prie interneto prijungtą DNS serverį, NETURĖTUMĖTE vadovautis aukščiau pateiktomis instrukcijomis. Vietoj to, teisingai sukonfigūruokite SELinux kontekstą ir užkardą. Žr. Joelio Barrioso Dueñaso straipsnį „Serverių konfigūravimas naudojant GNU/Linux“ arba „CentOS/Red Hat“ dokumentaciją.
Mes sukonfigūruojame BIND pavadinimą
- El katalogas /usr/share/doc/bind-9.9.4/ Jame yra nemažai dokumentų, kuriuos rekomenduojame pasikonsultuoti prieš pradedant paiešką internete, prieš tai nežinant, kad po ranka ir savo namuose galite rasti tai, ko ieškote
Daugelyje distribucijų DNS paslauga, įdiegta per BIND paketą, vadinama named ( Name Daemon ). „CentOS 7“ sistemoje ji pagal numatytuosius nustatymus įdiegiama kaip išjungta, kaip parodyta toliau pateiktos komandos išvestyje, kurioje nurodoma, kad jos būsena yra „ išjungta “ ir kad šią būseną iš anksto nustato jos tiekėjas – tiekėjo išankstinis nustatymas . Atminkite, kad BIND yra nemokama programinė įranga.
Įgalinama įvardyta paslauga
[root @ dns ~] # systemctl būsena pavadinta ● named.service - „Berkeley“ interneto vardo domenas (DNS) įkeltas: pakrautas (/usr/lib/systemd/system/named.service; invalidai; pardavėjo išankstinis nustatymas: išjungtas) Aktyvus: neaktyvus (miręs) [root @ dns ~] # systemctl įgalinti pavadinimą Sukurta nuoroda iš /etc/systemd/system/multi-user.target.wants/named.service į /usr/lib/systemd/system/named.service. [root @ dns ~] # systemctl pradžia pavadinta [root @ dns ~] # systemctl būsena pavadinta ● named.service - „Berkeley“ interneto vardo domenas (DNS) įkeltas: pakrautas (/usr/lib/systemd/system/named.service; įjungta; pardavėjo išankstinis nustatymas: išjungtas) Aktyvus: aktyvus (veikia) nuo 2017-01-28 šeštadienio 13:22:38 EST; Prieš 5 minutes Procesas: 1990 ExecStart = / usr / sbin / named -u pavadintas $ OPTIONS (kodas = išėjo, statusas = 0 / SĖKMĖ) Procesas: 1988 ExecStartPre = / bin / bash -c if [! "$ DISABLE_ZONE_CHECKING" == "taip"]; tada / usr / sbin / named-checkconf -z /etc/named.conf; else echo "Zonos failų tikrinimas išjungtas"; fi (kodas = išėjo, statusas = 0 / SĖKMĖ) Pagrindinis PID: 1993 (pavadintas) CGroup: /system.slice/named.service └─1993 / usr / sbin / named -u pavadintas sausio 28 d. 13:22:45 dns pavadintas [1993]: klaida (tinklas nepasiekiamas), išspręsdamas „./NS/IN“: 2001: 500: 2f :: f # 53 sausio 28 d. 13:22:47 dns pavadintas [1993]: klaida (tinklas nepasiekiamas) išsprendus './ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 sausio 28 d. 13:22:47 dns pavadintas [1993]: klaida (tinklas nepasiekiamas) sprendžiant „./NS/IN“: 2001: 500: 3 :: 42 # 53 sausio 28 d. 13:22:47 dns pavadintas [1993]: klaida (nepasiekiamas tinklas) sprendžiant „./DNSKEY/IN“: 2001: 500: 2d :: d # 53 sausio 28 d. 13:22:47 dns pavadinta [1993 m. ]: klaida (tinklas nepasiekiamas) sprendžiant „./NS/IN“: 2001: 500: 2d :: d # 53 sausio 28 d. 13:22:47 DNS pavadintas [1993]: klaida (tinklas nepasiekiamas) sprendžiant „./DNSKEY/ IN ': 2001: dc3 :: 35 # 53 sausio 28 d. 13:22:47 dns pavadintas [1993]: klaida (tinklas nepasiekiamas) sprendžiant „./NS/IN“: 2001: dc3 :: 35 # 53 sausio 28 13: 22:47 dns pavadintas [1993]: klaida (tinklas nepasiekiamas) sprendžiant „./DNSKEY/IN“: 2001: 7fe :: 53 # 53 sausio 28 13:22:47 dns pavadintas [1993]: klaida (tinklas nepasiekiamas) res olving './NS/IN': 2001: 7fe :: 53 # 53 sausis 28 13:22:48 dns pavadintas [1993]: valdomi raktai-zona: Nepavyko gauti DNSKEY rinkinio '.': baigėsi laikas [root @ dns ~] # systemctl paleiskite iš naujo pavadintą [root @ dns ~] # systemctl būsena pavadinta ● named.service - „Berkeley“ interneto vardo domenas (DNS) įkeltas: įkelta (/usr/lib/systemd/system/named.service; įgalinta; pardavėjo išankstinis nustatymas: išjungtas) Aktyvus: aktyvus (veikia) nuo 2017-01-28 šeštadienio 13:29:41 EST; Prieš 1 s Procesas: 1449 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (kodas = išėjo, būsena = 0 / SĖKMĖ) Procesas: 1460 ExecStart = / usr / sbin / pavadintas -u pavadintas $ OPTIONS (kodas = išėjo, statusas = 0 / SĖKMĖ) Procesas: 1457 ExecStartPre = / bin / bash -c jei [! "$ DISABLE_ZONE_CHECKING" == "taip"]; tada / usr / sbin / named-checkconf -z /etc/named.conf; else echo "Zonos failų tikrinimas išjungtas"; fi (kodas = uždaryta, būsena = 0 / SĖKMĖ) Pagrindinis PID: 1463 (pavadintas) CGroup: /system.slice/named.service └─1463 / usr / sbin / named -u pavadintas sausio 28 13:29:41 dns pavadintas [1463]: managed-keys-zone: žurnalo failas paseno pavadintas [28]: zona 13.in-addr.arpa/IN: pakrautas serialas 29 sausio 41 1463:2:28 dns pavadintas [13]: zona localhost.localdomain / IN: pakrautas serialas 29 sausio 41 1463:0:0 dns pavadintas [28]: zona 13.in-addr.arpa/IN: pakrautas nuoseklus 29 sausio 41 1463:0:28 dns pavadintas [13]: zona 29 .41.ip1463.arpa / IN: pakrautas nuoseklus 1.0.0.127 sausio 0 28:13:29 dns pavadintas [41]: zona localhost / IN: pakrauta serija 1463 sausio 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 6 : 0: 28 dns pavadintas [13]: visos zonos įkeltos sausio 29 41:1463:0 dns pavadintos [28]: veikia sausio 13 d. 29:41:1463 dns systemd [28]: paleistas Berkeley interneto vardo domenas (DNS).
Pirmą kartą įjungus ir paleidus pavadintąją paslaugą, komandos „systemctl status named` išvestis rodo klaidas. Paleidus paslaugą iš naujo, pagal numatytuosius nustatymus pavadintoji paslauga sukuria visus konfigūracijos failus, kurių reikia tinkamam veikimui. Todėl, kai dar kartą paleidžiame komandą „systemctl status named` , daugiau klaidų nerodoma.
- Mielas, brangus ir reiklus Skaitytojau: jei norite bent jau sužinoti, koks kelias veda į triušio duobės galą, ramiai perskaitykite išsamią kiekvienos komandos išvestį. Žinoma, straipsnis atrodys šiek tiek ilgas, bet nepaneigsite, kad jis įgaus paaiškinimo ir aiškumo.
Mes keičiame failą /etc/named.conf
Daugelyje skaitytojų komentarų išreiškiamas – ir nesu vienintelis tai sakantis – skirtingų „Linux“ distribucijų kūrėjų įprotis sistemos konfigūracijos failus talpinti aplankuose su skirtingais pavadinimais, priklausomai nuo distribucijos. Jie teisūs. Bet ką galime padaryti mes, paprasti šių distribucijų vartotojai? Prisitaikyti! 😉
Beje, „FreeBSD“, UNIX® klone „The Origin“, šis failas yra /usr/local/etc/namedb/named.conf aplanke ; o „Debian“ sistemoje, be to, kad jis yra padalintas į keturis failus: named.conf, named.conf.options, named.conf.default-zones ir named.conf.local , jis yra ir /etc/bind/ aplanke . Tie, kurie nori sužinoti, kur „openSUSE“ jį patalpina, turėtų perskaityti „ DNS ir DHCP „openSUSE 13.2 Harlequin“ – SME tinklai “. Skaitytojai teisūs! 😉
Ir kaip visada: prieš ką nors modifikuodami, originalų konfigūracijos failą išsaugome kitu pavadinimu.
[root @ dns ~] # cp /etc/named.conf /etc/named.conf.original
Kad būtų paprasčiau, užuot generavę TSIG raktą dinaminiams DNS atnaujinimams per DHCP, nukopijuojame tą patį rndc.key ir dhcp.key.
[root @ dns ~] # cp /etc/rndc.key /etc/dhcp.key
[root @ dns ~] # nano /etc/dhcp.key
raktas „dhcp-key“ {algoritmas hmac-md5; slaptas „OI7Vs + TO83L7ghUm2xNVKg ==“; };
Kad įvardytas vartotojas galėtų perskaityti naujai nukopijuotą failą, modifikuojame jo savininko grupę:
[root @ dns ~] # chown šaknis: pavadinta /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 šaknis, pavadinta 77 sausio 28 d. 16:36 /etc/dhcp.key -rw-r -----. 1 šaknis, pavadinta 77 sausio 28 d. 13:22 /etc/rndc.key
Mažos detalės, tokios kaip ankstesnė, yra tai, kas mus gali išprotėti bandant išsiaiškinti, dabar ... kur yra problema ...? su dar keliais būdvardžiais, kurių nerašome iš pagarbos Gerbiamajam.
Pagaliau pakeitėme failą /etc/named.conf . Pakeitimai arba papildymai, kuriuos atlikome, palyginti su originalu, yra paryškinti . Atkreipkite dėmesį, kad jų yra tik keli.
[root @ dns ~] # nano /etc/named.conf
// // named.conf // // Pateikė „Red Hat bind“ paketas, kad sukonfigūruotų ISC BIND pavadintą (8) DNS // serverį kaip tik talpykloje saugomą vardų serverį (tik kaip „localhost“ DNS sprendiklį). // // Žr. / Usr / share / doc / bind * / sample / pvz., Pavadintus konfigūracijos failus. //
// Prieigos kontrolės sąrašas, kuriame nurodoma, kurie tinklai galės ieškoti
// mano pavadintas serveris
acl atrodė {
127.0.0.0/8;
192.168.10.0/24;
};
galimybės {
// Pareiškiu, kad įvardytas demonas taip pat klausosi sąsajos
// eth0, kurio IP: 192.168.10.5
klausymosi prievadas 53 {127.0.0.1; 192.168.10.5; };
6 klausymosi prievadas „{on 53“; }; katalogas "/ var / pavadintas"; dump-file "/var/named/data/cache_dump.db"; statistikos byla "/var/named/data/named_stats.txt"; memstatistikos failas "/var/named/data/named_mem_stats.txt";
// Ekspeditorių pareiškimas
// ekspeditoriai {
0.0.0.0;
1.1.1.1;
//};
// pirmyn pirmyn;
// Leidžiu užklausas tik į mano prijungtą ACL
leisti-query { mired; }; // Norėdami patikrinti naudodami komandą dig desdelinux.fan axfr // iš „SysAdmin“ darbo stoties ir tik „localhost“ // Neturime vergų DNS serverių. Mums to nereikia...iki šiol.
leisti-perkelti {localhost; 192.168.10.1; };
/ * - Jei kuriate AUTORITACINĮ DNS serverį, NEĮgalinkite rekurso. - Jei kuriate RECURSIVE (caching) DNS serverį, turite įjungti rekursiją. - Jei jūsų rekursinis DNS serveris turi viešą IP adresą, PRIVALOTI įgalinti prieigos kontrolę, kad užklausas leistumėte tik savo teisėtiems vartotojams. To nepadarius, jūsų serveris taps didelio masto DNS stiprinimo atakų dalimi. Įdiegus BCP38 savo tinkle, toks atakos paviršius labai sumažėtų * /
// Mes norime, kad mūsų LAN būtų AUTHORITY serveris - MVĮ
rekursija Nr;
„dnssec-enable“ taip; dnssec patvirtinimas taip; / * Kelias į ISC DLV raktą * / bindkeys-file "/etc/named.iscdlv.key"; valdomi raktai-katalogas "/ var / pavadintas / dinaminis"; pid-failas "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; registruoti {channel default_debug {failą "data / named.run"; sunkumo dinamika; }; }; zona "." IN {tipo užuomina; failas „pavadintas.ca“; }; įtraukti „/etc/named.rfc1912.zones“; įtraukti „/etc/named.root.key“;
// Mes įtraukiame TSIG raktą dinaminiams DNS naujinimams //, kurį sukūrė DHCP
įtraukti „/etc/dhcp.key“;
// Vardo, tipo, vietos ir leidimo atnaujinti deklaracija
// DNS įrašų zonų // Abi zonos yra MASTERS
zona"desdelinux.fan" {
tipo meistras;
failas „dynamic/db.desdelinux.ventiliatorius";
leisti atnaujinti {raktas dhcp-raktas; };
};
zona "10.168.192.in-addr.arpa" {
tipo meistras;
failas „dynamic / db.10.168.192.in-addr.arpa“;
leisti atnaujinti {raktas dhcp-raktas; };
};
Mes patikriname sintaksę
[root @ dns ~] # named-checkconf [root @ dns ~] #
Kadangi ankstesnė komanda nieko negrąžina, sintaksė yra teisinga. Tačiau jei paleisime tą pačią komandą, bet su -z parinktimi , išvestis bus tokia:
[root @ dns ~] # named-checkconf -z zona localhost.localdomain/IN: įkelta serija 0 zona localhost/IN: įkelta serijinė 0 zona .ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa/IN: įkelta serijinė 6 zona 0.in-addr.arpa/IN: įkelta serija 1.0.0.127 zona 0.in-addr.arpa/IN: įkelta serijinė 0 zona desdelinux.fan/IN: įkeliama iš pagrindinio failo dynamic/db.desdelinux.fan nepavyko: failas nerastas zona desdelinux.fan/IN: neįkeltas dėl klaidų. _numatytas/desdelinux.fan/IN: failas nerastas zona 10.168.192.in-addr.arpa/IN: įkelti iš pagrindinio failo dynamic/db.10.168.192.in-addr.arpa nepavyko: failas nerastas zona 10.168.192.in- addr.arpa/IN: neįkelta dėl klaidų. _default/10.168.192.in-addr.arpa/IN: failas nerastas
Žinoma, tai yra klaidos, kurios įvyksta, nes mes dar nesukūrėme savo domeno DNS registracijos zonų.
- Norėdami gauti daugiau informacijos apie komandą pavadintas-checkconf, paleisti vyras vardu-checkconf, prieš ieškodami kitos informacijos internete. Užtikrinu, kad tai sutaupys nemažai laiko.
Sukuriame „Direct Zone“ failą desdelinux.gerbėjas
… bet ne be šiek tiek teorijos.
Kaip zonos duomenų failo kūrimo šabloną galime naudoti /var/named/named.empty arba /usr/share/doc/bind-9.9.4/sample/var/named/named.empty . Abu failai yra identiški.
[root @ dns ~] # katė /var/named/named.empty $ TTL 3H @ IN SOA @ rname.nvalid. (0; serijinis 1D; atnaujinkite 1H; bandykite dar kartą 1W; galiojimo laikas baigsis 3H); mažiausias arba neigiamas talpyklos laikas gyventi NS @ A 127.0.0.1 AAAA :: 1
Gyvenimo laikas - Laikas gyventi TTL SOA įrašas
Skirkime akimirką paaiškinti SOA (pagrindinės zonos įgaliojimų pradžios) įrašo TTL (angl. Time to Live) reikšmę . Suprasti jos reikšmę naudinga, kai norime pakeisti bet kurią iš jos reikšmių.
$TTL : Gyvavimo laikas – visų failo įrašų, einančių po deklaracijos (bet prieš bet kurią kitą $TTL deklaraciją) ir neturinčių aiškios TTL deklaracijos, gyvavimo laikas .
Serijos numeris : Zonos duomenų serijos numeris. Kiekvieną kartą rankiniu būdu modifikuodami DNS įrašą zonoje, turime padidinti šį skaičių vienetu, ypač jei turime pavaldžius arba antrinius serverius. Kiekvieną kartą, kai antrinis arba pavaldinis DNS serveris susisiekia su pagrindiniu serveriu, jis pateikia užklausą dėl pagrindinio serverio duomenų serijos numerio. Jei pavaldžio serverio serijos numeris yra mažesnis, tai reiškia, kad tos zonos duomenys pavaldžiame serveryje yra pasenę, ir pavaldinis serveris atlieka zonos perkėlimą, kad juos atnaujintų.
refresh : Nurodo pavaldiniam serveriui laiko intervalą, per kurį jis turėtų tikrinti, ar jo duomenys yra atnaujinti pagrindinio serverio atžvilgiu.
retry : Jei pagrindinis serveris nepasiekiamas – tarkime, dėl to, kad sugedo – pavaldiniui serveriui po atnaujinimo laiko intervalo , „retry“ nurodo pavaldiniui, kiek laiko laukti, kol vėl bandys susisiekti su pagrindiniu serveriu.
Galiojimo pabaiga : jei antrinis serveris negali susisiekti su pagrindiniu serveriu per nurodytą laiko intervalą , antrinio ir pagrindinio zonos ryšys nutrūksta ir antrinis serveris neturi kito pasirinkimo, kaip tik nutraukti atitinkamos zonos galiojimą. Zonos galiojimo pabaiga antriniame DNS serveryje reiškia, kad jis nustos reaguoti į su ta zona susijusias DNS užklausas, nes turimi duomenys yra per seni, kad būtų naudingi.
- Tai, kas išdėstyta pirmiau, mus moko netiesiogiai ir turi daug sveiko proto - mažiausiai paplitusių pojūčių - kad jei mes neturime vergo DNS serverių savo MVĮ veiklai, mes to neįgyvendiname, nebent jie būtini. Visada pabandykime pereiti nuo paprasto prie komplekso.
minimum : versijose, ankstesnėse nei BIND 8.2 , paskutinis SOA įrašas taip pat nurodo numatytąjį zonos gyvavimo laiką ir neigiamą talpyklos gyvavimo laiką . Šis laikas nurodo visus neigiamus atsakymus, kuriuos pateikia autoritetingas serveris zonai.
Zonos failas /var/named/dynamic/db.desdelinux.gerbėjas
[root@dns ~ # nano /var/named/dynamic/db.desdelinux.gerbėjas $TTL 3H @ IN SOA dns.desdelinux.gerbėjas. root.dns.desdelinux.gerbėjas. (1; serijos 1D; atnaujinkite 1H; bandykite dar kartą 1W; baigiasi 3H); minimalus arba ; Neigiamas talpyklos laikas gyventi ; @ IN NS dns.desdelinux.gerbėjas. @ IN MX 10 el.desdelinux.gerbėjas. @ IN TXT "FromLinux, jūsų tinklaraštis, skirtas laisvai programinei įrangai"; sysadmin IN A 192.168.10.1 ad-dc IN A 192.168.10.3 fileserver IN A 192.168.10.4 dns IN A 192.168.10.5 proxyweb IN A 192.168.10.6 IN A 192.168.10.7 IN 192.168.10.8ft.192.168.10.9p. XNUMX. XNUMX paštas A XNUMX
Patikriname /var/named/dynamic/db.desdelinux.gerbėjas
[root@dns ~]# pavadinta tikrinimo zona desdelinux.fan /var/named/dynamic/db.desdelinux.gerbėjas zona desdelinux.fan/IN: įkelta serija 1 Gerai
Sukuriame atvirkštinės zonos failą 10.168.192.in-addr.arpa
- Šios zonos SOA įrašas yra toks pat kaip ir tiesioginės zonos, neatsižvelgiant į MX įrašą..
[root @ dns ~] # nano /var/named/dynamic/db.10.168.192.in-addr.arpa $TTL 3H @ IN SOA dns.desdelinux.gerbėjas. root.dns.desdelinux.gerbėjas. (1; serijos 1D; atnaujinkite 1H; bandykite dar kartą 1W; baigiasi 3H); minimalus arba ; Neigiamas talpyklos laikas gyventi ; @ IN NS dns.desdelinux.gerbėjas. ; 1 IN PTR sysadmin.desdelinux.gerbėjas. 3 IN PTR ad-dc.desdelinux.gerbėjas. 4 IN PTR failų serveris.desdelinux.gerbėjas. 5 IN PTR dns.desdelinux.gerbėjas. 6 IN PTR proxyweb.desdelinux.gerbėjas. 7 IN PTR tinklaraštis.desdelinux.gerbėjas. 8 IN PTR ftpserver.desdelinux.gerbėjas. 9 PTR paštu.desdelinux.gerbėjas. [root @ dns ~] # named-checkzone 10.168.192.in-addr.arpa /var/named/dynamic/db.10.168.192.in-addr.arpa zona 10.168.192.in-addr.arpa/IN: pakrautas 1 serija Gerai
Prieš paleisdami iš naujo, patikriname jo konfigūraciją
- Kol nebūsime tikri, kad pavadinto named.conf ir jo zonos failai nėra tinkamai sukonfigūruoti, siūlome nepaleisti iš naujo pavadinto deemono. Jei tai padarysime ir vėliau modifikuosime zonos failą, modifikuotos zonos serijos numerį turime padidinti 1.
- Pažvelkime į „“. domeno ir pagrindinio kompiuterio vardų pabaigoje.
[root @ dns ~] # named-checkconf [root @ dns ~] # named-checkconf -z zona localhost.localdomain/IN: įkelta serija 0 zona localhost/IN: įkelta serijinė 0 zona .ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa/IN: įkelta serijinė 6 zona 0.in-addr.arpa/IN: įkelta serija 1.0.0.127 zona 0.in-addr.arpa/IN: įkelta serijinė 0 zona desdelinux.fan/IN: įkelta 1 serija zona 10.168.192.in-addr.arpa/IN: įkelta 1 serija
Visa dabartinė pavadinta konfigūracija
Aiškumo dėlei, ir nors straipsnis bus ilgas, pateikiame visą komandos „named-checkconf -zp“ išvestį :
[root @ dns ~] # named-checkconf -zp
zona localhost.localdomain/IN: įkelta serija 0 zona localhost/IN: įkelta serijinė 0 zona .ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa/IN: įkelta serijinė 6 zona 0.in-addr.arpa/IN: įkelta serija 1.0.0.127 zona 0.in-addr.arpa/IN: įkelta serijinė 0 zona desdelinux.fan/IN: įkelta serijinė 1 zona 10.168.192.in-addr.arpa/IN: įkelta 1 serijos parinktis { bindkeys-file "/etc/named.iscdlv.key"; session-keyfile "/run/named/session.key"; katalogas "/var/named"; dump-failas "/var/named/data/cache_dump.db"; klausymosi prievadas 53 { 127.0.0.1/32; 192.168.10.5/32; }; Klausymas v6 prievadas 53 { ::1/128; }; valdomi raktai-katalogas "/var/named/dynamic"; memstatistics-failas "/var/named/data/named_mem_stats.txt"; pid-failas "/run/named/named.pid"; statistikos failas "/var/named/data/named_stats.txt"; dnssec-įjungti taip; dnssec patvirtinimas taip; rekursijos Nr; allow-query { "žiūrėta"; }; leidimas-perdavimas { 192.168.10.1/32; }; }; acl "žiūrėta" { 127.0.0.0/8; 192.168.10.0/24; }; logging { kanalas "default_debug" { failas "data/named.run"; dinaminis sunkumas; }; }; raktas "dhcp-key" { algoritmas "hmac-md5"; slaptas "OI7Vs+TO83L7ghUm2xNVKg=="; }; zona "." IN { tipo užuomina; failas "named.ca"; }; zona "localhost.localdomain" IN { type master; failas "named.localhost"; allow-update { "nėra"; }; }; zona "localhost" IN { type master; failas "named.localhost"; allow-update { "nėra"; }; }; zona "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { tipo master; failas "named.loopback"; allow-update { "nėra"; }; }; zona "1.0.0.127.in-addr.arpa" IN { type master; failas "named.loopback"; allow-update { "nėra"; }; }; zona "0.in-addr.arpa" IN { type master; failas "named.empty"; allow-update { "nėra"; }; }; zona"desdelinux.fan" { tipo pagrindinis; failas "dynamic/db.desdelinux.fan"; allow-update { key "dhcp-key"; }; }; zona "10.168.192.in-addr.arpa" { tipo pagrindinis; failas "dynamic/db.10.168.192.in-addr.arpa "; allow-update { raktas "dhcp-key"; }; }; valdomi raktai { "." pradinis raktas 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6wEzoC58f 0 P0dfwhYB8N0knNnulq QxA +Uk2ihz37="; };
- Laikydamiesi modifikavimo tvarkos pavadintas.konf Atsižvelgdami į mūsų poreikius ir patikrinimą, sukurkite ir patikrinkite kiekvieną zonos failą, mes abejojame, ar teks susidurti su didelėmis konfigūracijos problemomis. Galų gale suprantame, kad tai berniuko žaidimas, turintis daugybę sąvokų ir niūrios sintaksės.
Patikrinimai davė patenkinamus rezultatus, todėl galime iš naujo paleisti BIND – pavadintą.
Paleidžiame iš naujo pavadintą ir patikriname jo būseną
[root @ dns ~] # systemctl paleiskite iš naujo pavadintą.paslaugą [root @ dns ~] # systemctl būsena pavadinta.paslauga
Jei paskutinės komandos išvestyje atsiranda klaidų, turėtumėte paleisti „named.service“ iš naujo ir dar kartą patikrinti jos būseną . Jei klaidų nebėra, paslauga sėkmingai paleista. Priešingu atveju turėtumėte atidžiai peržiūrėti visus pakeistus ir sukurtus failus ir pakartoti procedūrą.
Teisingas būsenos išvestis turėtų būti:
[root @ dns ~] # systemctl būsena pavadinta.paslauga ● named.service - „Berkeley“ interneto vardo domenas (DNS) įkeltas: pakrautas (/usr/lib/systemd/system/named.service; įgalintas; pardavėjo išankstinis nustatymas: išjungtas) Aktyvus: aktyvus (veikia) nuo sekmadienio 2017-01-29 10:05:32 EST; Prieš 2 min. 57 sek Procesas: 1777 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (kodas=išjungtas, status=0/SĖKMĖS) Procesas: 1788 ExecStart=/usr/sbin/named -u pavadintas $OPTIONS (kodas=exited, status=0/SĖKMĖS) Procesas: 1786 ExecStartPre =/bin/bash -c, jei [ ! "$DISABLE_ZONE_CHECKING" == "taip" ]; tada /usr/sbin/named-checkconf -z /etc/named.conf; else echo "Zonos failų tikrinimas išjungtas"; fi (kodas=exited, status=0/SUCCESS) Pagrindinis PID: 1791 (pavadintas) CGrupė: /system.slice/named.service └─1791 /usr/sbin/named -u pavadintas sausio 29 d. 10:05:32 dns named [1791]: zona 1.0.0.127.in-addr.arpa/IN: įkelta serija sausio 0 d. 29 10:05:32 dns pavadintas [1791]: zona 10.168.192.ip1.arpa/IN : įkelta serija 29 sausio 10 05:32:1791 dns pavadinta[1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0]: zona desdelinux.fan/IN: įkeltas serialas sausio 1 d. 29 10:05:32 dns pavadintas[1791]: zona localhost.localdomain/IN: įkelta serija 0 29 sausio 10:05:32 dns pavadinta[1791]: zona localhost/IN: įkelta serialas 0 sausio 29 d. 10:05:32 dns pavadintas [1791]: visos zonos pakrautos Sausio 29 d. 10:05:32 dns pavadintas [1791]: veikia Sausio 29 d. 10:05:32 dns systemd [1]: paleistas Berkeley interneto vardo domenas (DNS). Sausio 29 d. 10:05:32 dns pavadinimu [1791]: zona 10.168.192.in-addr.arpa/IN: pranešimų siuntimas (1 serija)
Patikrinimai
Patikrinimus galima atlikti tame pačiame serveryje arba kompiuteryje, prijungtame prie LAN. Mes mieliau juos darome iš komandos sysadmin.desdelinux.gerbėjas į kurią mes davėme aiškų leidimą atlikti zonos perkėlimus. Failas / Etc / resolv.conf šios komandos nariai yra šie:
„buzz @ sysadmin“: ~ $ cat /etc/resolv.conf # Sukurta naudojant NetworkManager paiešką desdelinux.fan nameserver 192.168.10.5 buzz@sysadmin:~$ dig desdelinux.ventiliatorius axfr ; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> desdelinux.fan axfr ;; pasaulinės parinktys: +cmd desdelinux.gerbėjas. 10800 IN SOA dns.desdelinux.gerbėjas. root.dns.desdelinux.gerbėjas. 1 86400 3600 604800 10800 desdelinux.gerbėjas. 10800 IN NS dns.desdelinux.gerbėjas. desdelinux.gerbėjas. 10800 IN MX 10 el.desdelinux.gerbėjas. desdelinux.gerbėjas. 10800 IN TXT "FromLinux, jūsų tinklaraštis, skirtas laisvai programinei įrangai" ad-dc.desdelinux.gerbėjas. 10800 192.168.10.3 tinklaraštyje.desdelinux.gerbėjas. 10800 IN A 192.168.10.7 dns.desdelinux.gerbėjas. 10800 Į 192.168.10.5 failų serverį.desdelinux.gerbėjas. 10800 192.168.10.4 ftpserveryje.desdelinux.gerbėjas. 10800 192.168.10.8 paštu.desdelinux.gerbėjas. 10800 IN A 192.168.10.9 proxyweb.desdelinux.gerbėjas. 10800 Į 192.168.10.6 sysadmin.desdelinux.gerbėjas. 10800 Į 192.168.10.1 desdelinux.gerbėjas. 10800 IN SOA dns.desdelinux.gerbėjas. root.dns.desdelinux.gerbėjas. 1 86400 3600 604800 10800 ;; Užklausos laikas: 0 ms ;; SERVERIS: 192.168.10.5#53(192.168.10.5) ;; KADA: Sekmadienis, sausio 29 d., 11:44:18 EST 2017 m. ;; XFR dydis: 13 įrašų (pranešimai 1, baitai 385) „buzz @ sysadmin“: ~ $ dig 10.168.192. in-addr.arpa axfr ; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> 10.168.192.in-addr.arpa axfr ;; pasaulinės parinktys: +cmd 10.168.192.in-addr.arpa. 10800 IN SOA dns.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 10.168.192.in-addr.arpa. 10800 IN NS dns.desdelinux.gerbėjas. 1.10.168.192.in-addr.arpa. 10800 IN PTR sysadmin.desdelinux.gerbėjas. 3.10.168.192.in-addr.arpa. 10800 IN PTR ad-dc.desdelinux.gerbėjas. 4.10.168.192.in-addr.arpa. 10800 IN PTR failų serveris.desdelinux.gerbėjas. 5.10.168.192.in-addr.arpa. 10800 IN PTR dns.desdelinux.gerbėjas. 6.10.168.192.in-addr.arpa. 10800 IN PTR proxyweb.desdelinux.gerbėjas. 7.10.168.192.in-addr.arpa. 10800 IN PTR tinklaraštis.desdelinux.gerbėjas. 8.10.168.192.in-addr.arpa. 10800 IN PTR ftpserver.desdelinux.gerbėjas. 9.10.168.192.in-addr.arpa. 10800 PTR paštu.desdelinux.gerbėjas. 10.168.192.in-addr.arpa. 10800 IN SOA dns.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 ;; Užklausos laikas: 0 ms ;; SERVERIS: 192.168.10.5#53(192.168.10.5) ;; KADA: Sekmadienis, sausio 29 d., 11:44:57 EST 2017 m.; XFR dydis: 11 įrašų (pranešimai 1, baitai 352) buzz@sysadmin:~$ dig IN SOA desdelinux.gerbėjas buzz@sysadmin: ~$ dig IN MX desdelinux.fan buzz@sysadmin:~$ dig IN TXT desdelinux.gerbėjas buzz @ sysadmin: ~ $ host dns dns.desdelinux.ventiliatorius turi adresą 192.168.10.5 buzz @ sysadmin: ~ $ host sysadmin sysadmin.desdelinux.ventiliatoriaus adresas yra 192.168.10.1 ... Ir visi kiti reikalingi patikrinimai
- Iki šiol turime DNS serverio pagrindą savo MVĮ tinkle. Tikimės, kad jums patiko visa procedūra, kuri buvo gana paprasta, tiesa?
Įdiegiame ir sukonfigūruojame DHCP
[root @ dns ~] # yum įdiegti DHCP
Įkeliami papildiniai: greičiausias veidrodis, „centos-base langpacks“ 3.4 kB 00:00:00 cento atnaujinimai | 3.4 kB 00:00:00 Veidrodinio greičio įkėlimas iš talpyklos pagrindinio failo Priklausomybių sprendimas -> Operacijos testo vykdymas ---> Paketas dhcp.x86_64 12: 4.2.5-42.el7.centos turi būti įdiegti -> Priklausomybių sprendimas nutrauktos išspręstos priklausomybės =============================================== =================================================== =================================== Paketo architektūros versijos saugyklos dydis =========== =================================================== =================================================== ======================== Diegimas: dhcp x86_64 12: 4.2.5-42.el7.centos-base 511k operacijų suvestinė ==== =================================================== =================================================== ============================== Įdiekite 1 paketą Visas atsisiuntimo dydis: 511k Įdiegtas dydis: 1.4 M Ar tai gerai [y / d / N]: y Siunčiami paketai: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 Vykdomas operacijos patikrinimas Vykdomas operacijos testas Vykdomas operacijos testas Sėkmingas operacijos testas Vykdomas operacijos diegimas: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Tikrinimas: 12: dhcp-4.2.5-42. el7.centos.x86_64 1/1 Įdiegta: dhcp.x86_64 12: 4.2.5-42.el7.centos Atlikta!
[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # DHCP serverio konfigūracijos failas. # žr. /usr/share/doc/dhcp*/dhcpd.conf.example # žr. dhcpd.conf(5) vadovo puslapį # ddns-update-style interim; ddns-naujinimai įjungti; ddns-domeno vardas "desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; ignoruoti kliento atnaujinimus; autoritetingas; parinktis IP persiuntimas išjungtas; parinktis domeno pavadinimas "desdelinux.fan"; # parinktis ntp-servers 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; įtraukti "/etc/dhcp.key" ; zona desdelinux.gerbėjas. { pirminis 127.0.0.1; raktas dhcp-key; } zona 10.168.192.in-addr.arpa. { pirminis 127.0.0.1; raktas dhcp-key; } bendrinamo tinklo redlocal { potinklis 192.168.10.0 tinklo kaukė 255.255.255.0 { parinktis maršrutizatoriai 192.168.10.1; parinktis potinklio kaukė 255.255.255.0; parinktis transliacijos adresas 192.168.10.255; parinktis domeno vardo serveriai 192.168.10.5; parinktis netbios-name-servers 192.168.10.5; diapazonas 192.168.10.30 192.168.10.250; } } # END dhcpd.conf
[root @ dns ~] # dhcpd -t
Interneto sistemų konsorciumas DHCP Server 4.2.5. Autorių teisės 2004–2013 m. Interneto sistemų konsorciumas. Visos teisės saugomos. Norėdami gauti informacijos, apsilankykite https://www.isc.org/software/dhcp/ Neieško LDAP, nes konfigūracijos faile nenurodyti „ldap-server“, „ldap-port“ ir „ldap-base-dn“
[root @ dns ~] # systemctl įgalinti dhcpd
Sukurta simbolinė nuoroda iš /etc/systemd/system/multi-user.target.wants/dhcpd.service į /usr/lib/systemd/system/dhcpd.service.
[root @ dns ~] # systemctl pradėti dhcpd
[root @ dns ~] # systemctl būsena dhcpd
● dhcpd.service - DHCPv4 serverio deimonas įkeltas: pakrautas (/usr/lib/systemd/system/dhcpd.service; įgalintas; pardavėjo išankstinis nustatymas: išjungtas) Aktyvus: aktyvus (veikia) nuo domeno 2017-01-29 12:04:59 ITS T; Prieš 23 d. Dokumentai: vyras: dhcpd (8) vyras: dhcpd.conf (5) Pagrindinis PID: 2381 (dhcpd) Būsena: "Paketų siuntimas ..." CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid sausio 29 d. 12:04:59 dns dhcpd [2381]: interneto sistemų konsorciumo DHCP serveris 4.2.5 sausio 29 d. 12 : 04: 59 dns dhcpd [2381]: Autorių teisių 2004–2013 m. Interneto sistemų konsorciumas. Sausio 29 d. 12:04:59 dns dhcpd [2381]: Visos teisės saugomos. Sausio 29 d. 12:04:59 dns dhcpd [2381]: Norėdami gauti informacijos, apsilankykite https://www.isc.org/software/dhcp/ sausio 29 d. 12:04:59 dns dhcpd [2381]: LDAP neieškoma nuo ldap -serveris, ldap-portas ir ldap-base-dn nebuvo nurodyti konfigūracijos faile sausio 29 d. 12:04:59 dns dhcpd [2381]: Parašė 0 nuomos į nuomos failą. Sausio 29 d. 12:04:59 dns dhcpd [2381]: klausymasis LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal sausio 29 d. 12:04:59 dns dhcpd [2381]: siuntimas per LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal Jan 29 12:04:59 dns dhcpd [2381]: Siuntimas „Socket“ / atsarginis / atsarginis tinklas sausio 29 d. 12:04:59 dns systemd [1]: pradėtas DHCPv4 serverio demonas.
Ką dar reikia padaryti?
Paprasta. Paleiskite „Windows 7“ ar kitą klientą naudodami nemokamą programinę įrangą ir pradėkite bandymus bei tikrinimus. Tai padarėme su dviem klientais: septyni.desdelinux.gerbėjas y suse-desktop.desdelinux.gerbėjas. Patikrinimai buvo tokie:
buzz @ sysadmin: ~ $ host septyni septyni.desdelinux.ventiliatorius turi adresą 192.168.10.30 buzz@sysadmin:~$ septynetas.desdelinux.gerbėjas septyni.desdelinux.ventiliatorius turi adresą 192.168.10.30 buzz@sysadmin:~$ dig IN TXT septyni.desdelinux.gerbėjas .... ;; KLAUSIMŲ SKYRIUS: ;septyni.desdelinux.gerbėjas. TXT ;; ATSAKYMŲ SKYRIUS: septyni.desdelinux.gerbėjas. 3600 TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"....
Pavadiname komandą „septyni“ į „LAGER“ ir perkrauname iš naujo. Paleidus iš naujo naują LAGER, mes patikriname:
buzz @ sysadmin: ~ $ host septyni Nerasta septynių kompiuterių: 5 (ATSISAKYTA) buzz@sysadmin:~$ septynetas.desdelinux.gerbėjas Septynetas šeimininkas.desdelinux.ventiliatorius nerastas: 3(NXDOMAIN) Buzz@sysadmin: ~ $ host lager lageris.desdelinux.ventiliatorius turi adresą 192.168.10.30 Buzz@sysadmin: ~$host lager.desdelinux.gerbėjas lageris.desdelinux.ventiliatorius turi adresą 192.168.10.30 buzz@sysadmin:~$ dig IN TXT lager.desdelinux.gerbėjas .... ;; KLAUSIMŲ SKYRIUS: ;lager.desdelinux.gerbėjas. TXT ;; ATSAKYMŲ SKYRIUS: lager.desdelinux.gerbėjas. 3600 TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"....
Dėl „suse-desktop“ kliento:
buzz @ sysadmin: ~ $ host suse-dektop Nerasta pagrindinio kompiuterio „suse-dektop“: 5 (ATSISAKYTA) buzz @ sysadmin: ~ $ host suse-desktop suse-desktop.desdelinux.ventiliatorius turi adresą 192.168.10.33 buzz@sysadmin:~$ priegloba suse-desktop.desdelinux.gerbėjas suse-desktop.desdelinux.ventiliatorius turi adresą 192.168.10.33 „buzz @ sysadmin“: ~ $ pagrindinis kompiuteris 192.168.10.33 33.10.168.192.in-addr.arpa domeno vardo rodyklė suse-desktop.desdelinux.gerbėjas. „buzz @ sysadmin“: ~ $ pagrindinis kompiuteris 192.168.10.30 30.10.168.192.in-addr.arpa domeno vardo rodyklė LAGER.desdelinux.gerbėjas.
„buzz @ sysadmin“: ~ $ dig -x 192.168.10.33 .... ;; KLAUSIMŲ SKYRIUS: ;33.10.168.192.in-addr.arpa. Į PTR ;; ATSAKYMO SKYRIUS: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.desdelinux.gerbėjas. ;; INSTITUCIJOS SKYRIUS: 10.168.192.in-addr.arpa. 10800 IN NS dns.desdelinux.gerbėjas. ;; PAPILDOMA SKYRIUS: dns.desdelinux.gerbėjas. 10800 Į 192.168.10.5 .... buzz@sysadmin:~$ dig IN TXT suse-desktop.desdelinux.ventiliatorius.... ;suse-desktop.desdelinux.gerbėjas. TXT ;; ATSAKYMO SKYRIUS: suse-desktop.desdelinux.gerbėjas. 3600 TXT "31b78d287769160c93e6dca472e9b46d73" ;; INSTITUCIJOS SKYRIUS: desdelinux.gerbėjas. 10800 IN NS dns.desdelinux.gerbėjas. ;; PAPILDOMA SKYRIUS: dns.desdelinux.gerbėjas. 10800 Į 192.168.10.5 ....
Taip pat vykdykime šias komandas
[root@dns ~ # kasti desdelinux.ventiliatorius axfr ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> desdelinux.fan axfr ;; pasaulinės parinktys: +cmd desdelinux.gerbėjas. 10800 IN SOA dns.desdelinux.gerbėjas. root.dns.desdelinux.gerbėjas. 6 86400 3600 604800 10800 desdelinux.gerbėjas. 10800 IN NS dns.desdelinux.gerbėjas. desdelinux.gerbėjas. 10800 IN MX 10 el.desdelinux.gerbėjas. desdelinux.gerbėjas. 10800 IN TXT "FromLinux, jūsų tinklaraštis, skirtas laisvai programinei įrangai" ad-dc.desdelinux.gerbėjas. 10800 192.168.10.3 tinklaraštyje.desdelinux.gerbėjas. 10800 IN A 192.168.10.7 dns.desdelinux.gerbėjas. 10800 Į 192.168.10.5 failų serverį.desdelinux.gerbėjas. 10800 192.168.10.4 ftpserveryje.desdelinux.gerbėjas. 10800 192.168.10.8 LAGER.desdelinux.gerbėjas. 3600 TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"LAGER.desdelinux.gerbėjas. 3600 192.168.10.30 el. laišku.desdelinux.gerbėjas. 10800 IN A 192.168.10.9 proxyweb.desdelinux.gerbėjas. 10800 IN 192.168.10.6 suse-desktop.desdelinux.gerbėjas. 3600 TXT"31b78d287769160c93e6dca472e9b46d73“ suse-desktop.desdelinux.gerbėjas. 3600 192.168.10.33 sysadmin.desdelinux.gerbėjas. 10800 Į 192.168.10.1 desdelinux.gerbėjas. 10800 IN SOA dns.desdelinux.gerbėjas. root.dns.desdelinux.gerbėjas. 6 86400 3600 604800 10800
Ankstesnėje išvestyje paryškinome įrenginių, kurių IP adresus priskyrė DHCP tarnyba ir kuriems DHCP pateikė aiškų 3600 TTL deklaravimą , TTL (sekundėmis). Statiniams IP adresams taikomas 3H (3 valandos = 10800 sekundžių) TTL, deklaruotas kiekvieno zonos failo SOA įraše.
Jie gali patikrinti atvirkštinę zoną tuo pačiu būdu.
[root @ dns ~] # dig 10.168.192.in-addr.arpa axfr
Kitos nepaprastai įdomios komandos yra:
[root@dns ~]# named-journalprint /var/named/dynamic/db.desdelinux.fan.jnl [root @ dns ~] # named-journalprint /var/named/dynamic/db.10.168.192.in-addr.arpa.jnl [root @ dns ~] # journalctl -f
Rankinis zonų failų modifikavimas
Kai DHCP perima dinaminį įvardytoji serverio zonos failų atnaujinimą , jei kada nors reikės rankiniu būdu modifikuoti zonos failą, turėsime atlikti šią procedūrą, bet prieš tai šiek tiek daugiau sužinosime, kaip veikia „rndc“ programa , skirta valdyti vardų serverį.
[root @ dns ~] # vyras rndc
....
sustingti [zona [klasė [vaizdas]]]
Laikinai sustabdykite dinaminės zonos naujinius. Jei zona nenurodyta, visos zonos yra sustabdytos. Tai leidžia rankiniu būdu redaguoti zoną, kurią paprastai atnaujina dinaminis atnaujinimas. Tai taip pat sukelia žurnalo failo pakeitimų sinchronizavimą su pagrindiniu failu. Visiems dinaminio atnaujinimo bandymams bus atsisakyta, kol zona užšaldyta.
atitirpti [zona [klasė [vaizdas]]]
Įgalinti užšaldytos dinaminės zonos naujinius. Jei zona nenurodyta, įjungiamos visos užšaldytos zonos. Tai priverčia serverį iš naujo įkelti zoną iš disko ir vėl įgalina dinaminius naujinimus, kai tik įkeliama. Atšildžius zoną, dinaminių atnaujinimų nebebus atsisakoma. Jei zona pasikeitė ir naudojama parinktis „ixfr-from-atšķirimai“, žurnalo failas bus atnaujintas, kad atspindėtų zonos pokyčius. Kitu atveju, jei zona pasikeitė, visi esami žurnalo failai bus pašalinti. ....
Ką, jūs manėte, kad aš perrašysiu visą vadovą?... gabalas ir jie važiuoja automobiliu. Likusią dalį palieku tau.
Iš esmės:
- rndc užšaldyti [zona [klasė [vaizdas]]], sustabdo dinaminį zonos atnaujinimą. Jei vienas nenurodytas, visi užšals. Komanda leidžia rankiniu būdu redaguoti užšaldytą zoną arba visas zonas. Bet koks dinaminis atnaujinimas nebus užšaldytas.
- rndc tirpimas [zona [klasė [vaizdas]]], įgalina dinaminius anksčiau užšaldytos zonos naujinimus. DNS serveris iš naujo įkelia zonos failą iš disko, o dinaminiai naujinimai vėl įjungiami, kai perkėlimas bus baigtas.
Kokių atsargumo priemonių reikėtų imtis rankiniu būdu redaguojant zonos failą? Tos pačios, kaip ir kuriant jį, tik nepamiršti padidinti serijos numerio vienetu prieš išsaugant failą su galutiniais pakeitimais.
pavyzdys:
[root @ dns ~] # rndc užšaldyti desdelinux.gerbėjas
[root@dns ~ # nano /var/named/dynamic/db.desdelinux.gerbėjas
Aš keičiu zonos failą dėl bet kokios priežasties, reikalingos ar ne. Aš išsaugoju pakeitimus
[root @ dns ~] # rndc tirpimas desdelinux.gerbėjas
Buvo pradėtas zonos perkrovimas ir atitirpimas. Patikrinkite žurnalus, kad pamatytumėte rezultatą.
[root @ dns ~] # journalctl -f
sausio 29 d. 14:06:46 dns pavadintas [2257]: atšildymo zonadesdelinux.fan/IN': sėkmė
sausio 29 d. 14:06:46 dns pavadintas [2257]: zona desdelinux.fan/IN: serijos zona (6) nepakeista. zona gali nepavykti perduoti vergams.
sausio 29 d. 14:06:46 dns pavadintas [2257]: zona desdelinux.fan/IN: įkelta serija 6
Ankstesnio išvesties klaida, kuri konsolėje rodoma raudonai, yra dėl to, kad „pamiršau“ padidinti serijos numerį 1. Jei teisingai atlikčiau procedūrą, išvestis būtų:
[root @ dns ~] # journalctl -f -- Žurnalai prasideda sekmadienį 2017-01-29 08:31:32 EST. -- Sausio 29 d. 14:06:46 dns pavadintas [2257]: zona desdelinux.fan/IN: įkeltas serialas Sau 6 29 14:10:01 dns systemd[1]: Pradėta 43 vartotojo šaknies sesija. sausio 29 d. 14:10:01 dns systemd[1]: pradedama 43 vartotojo šakninio vartotojo sesija. Sausio 29 d. 14:10:01 dns CROND[2693]: (root) CMD (/usr/lib64/sa/sa1 1 1) sausio 29 d. 14:10:45 dns named[2257]: gauta valdymo kanalo komanda „užšaldyti“ desdelinux.fan' sausio 29 d. 14:10:45 dns pavadintas[2257]: užšalimo zona "desdelinux.fan/IN': sėkmė sausio 29 d. 14:10:58 dns named[2257]: gauta valdymo kanalo komanda 'atšilimas desdelinux.fan' sausio 29 d. 14:10:58 dns pavadintas[2257]: atšilimo zona "desdelinux.fan/IN': sėkmė sausio 29 d. 14:10:58 dns named[2257]: zona desdelinux.fan/IN: žurnalo failas pasenęs: šalinamas žurnalo failas sausio 29 14:10:58 dns named[2257]: zona desdelinux.fan/IN: įkelta serija 7
- Skaitytojai draugai, kartoju, kad turite atidžiai perskaityti komandų išvestis. Už ką nors jo kūrėjai praleido tiek daug darbo programuodami kiekvieną komandą, kad ir kokia paprasta ji būtų.
Santrauka
Iki šiol mes sprendėme DNS - DHCP poros, svarbių ir labai svarbių paslaugų, skirtų geram mūsų MVĮ tinklo veikimui, įgyvendinimą, kalbėdami apie dinaminių adresų suteikimą per DHCP ir kompiuterių bei domenų pavadinimų sprendimą per DNS.
Mes labai tikimės, kad jums patiko visa procedūra, kaip mums. Nors naudojant konsolę gali pasirodyti sunkiau, su jos pagalba įdiegti paslaugą UNIX® / Linux sistemoje yra daug lengviau ir švietėjiškiau.
Atleiskite man bet koks klaidingas sąvokų, sukurtų, parašytų, peržiūrėtų, perrašytų ir paskelbtų Šekspyro, o ne Servanteso kalba, interpretavimas.
Kitas pristatymas
Manau, kad šiek tiek daugiau to paties - su teoriniais DNS įrašų papildymais - bet „Debian“. Mes negalime pamiršti to paskirstymo, tiesa?