Pag-install ng centos dns server. Sinusuri ang pagpapatakbo ng DNS Server. Pag-install at Pagpapatakbo ng BIND

Ipakita sa iyong pansin bagong kurso mula sa koponan Ang Codeby- "Pagsubok sa pagtagos ng mga Web Application mula sa simula." Pangkalahatang teorya, paghahanda ng kapaligiran sa pagtatrabaho, passive fuzzing at fingerprinting, Active fuzzing, Vulnerabilities, Post-exploitation, Mga gamit, Social Engeneering at marami pang iba.


Ang mga domain ay may hindi bababa sa dalawa DNS server a, ang isa ay tinatawag na primary name server (ns1) at ang isa naman ay tinatawag na secondary name server (ns2). Karaniwang ginagamit ang mga pangalawang server kapag may mga problema sa pangunahing DNS server: kung hindi available ang isang server, magiging aktibo ang pangalawa. Mas marami ang posible kumplikadong mga circuit gamit ang load balancing, firewalls at clusters.

Lahat Mga tala ng DNS idinagdag ang partikular na domain sa pangunahing server mga pangalan Pangalawang server sini-synchronize lang ang lahat ng impormasyon, tinatanggap ito mula sa pangunahing server, batay sa mga parameter na tinukoy sa pangunahing server.

Ang tagubiling ito ay maglalarawan, paano gumawa ng pangunahing DNS server na tumatakbo sa CentOS. Pakitandaan na ang DNS server na ipinakita sa gabay na ito ay magiging isang pampublikong DNS, na nangangahulugang tutugon ang server sa mga kahilingan mula sa anumang IP address. Kung paano paghigpitan ang pag-access sa server ay inilarawan sa manwal na ito.

Bago tayo magsimula, nais kong banggitin na ang DNS ay maaaring mai-install nang may o walang chroot jail environment. kapaligiran ng chroot nililimitahan ng jail ang DNS server sa isang partikular na direktoryo sa system, kumpara sa ganap na access ng system sa server. Sa ganitong paraan, hindi makokompromiso ng anumang kahinaan ng DNS server ang buong system. Ang paglilimita sa DNS server sa isang partikular na direktoryo (isang proseso na tinatawag na chrooting) ay kapaki-pakinabang din sa mga kapaligiran ng pagsubok.

Target

Magse-set up kami ng DNS server sa ilalim ng mga kundisyon ng pagsubok para sa example.tst domain, na isang hypothetical (non-existent) na domain. Sa ganitong paraan, hindi kami basta-basta manghihimasok sa anumang totoong domain.

Mayroong tatlong sumusunod na server sa domain na ito.

Server IP address Mga Serbisyong Naka-host FQDN
Server A 172.16.1.1 Mail mail.example.tst
Server B 172.16.1.2 Web, FTP www.example.tst
ftp.example.tst
Server C 172.16.1.3 Pangunahin DNS server ns1.example.tst

Iko-configure namin ang pangunahing DNS server at idagdag ang kinakailangang domain at mga tala ng DNS tulad ng ipinapakita sa talahanayan.

Pagse-set up ng mga hostname

Ang lahat ng mga host ay dapat na matukoy nang tama sa mga tuntunin ng FQDN. Magagawa ito gamit ang sumusunod na pamamaraan.

Yung mga nagmamahal GUI, maaaring gumamit ng mga tool sa NetworkManaget. Upang gawin ito, i-type ang command nmtui. Ang sumusunod na pseudo-graphical na interface ay magbubukas:

Piliin ang "Palitan ang pangalan ng host" at ilagay ang ns1.example.tst

Kapag handa na, i-click ang OK.

Isa pang paraan, sa isang utos lang:

Hostnamectl set-hostname ns1.example.tst

Kapag na-install na, maaaring suriin ang hostname gamit ang sumusunod na command.

# hostname ns1.example.tst

Katayuan ng Hostnamectl

Bago magpatuloy sa susunod na hakbang, siguraduhing ang hostname para sa lahat ng mga server ay nakatakda nang maayos.

Pag-install ng mga pakete

Gagamitin namin ang bind para sa DNS, na madaling itakda gamit ang yum command.

Pag-install ng DNS nang walang chroot:

# yum install bind

Pagtatakda ng DNS gamit ang chroot:

# yum install bind bind-chroot

Paghahanda ng mga configuration file

Tulad ng nabanggit kanina, ang bind ay maaaring i-configure nang may o walang chroot. Ang mga landas ay bahagyang nag-iiba depende sa kung ang chroot ay na-install.

Paraan sa configuration file Path sa zone file
Walang chroot /etc/ /var/named/
Kasama si chroot /var/named/chroot/etc/ /var/named/chroot/var/named/

Maaari mong gamitin ang name.conf configuration file, na ibinibigay bilang default. Gayunpaman, gagamit kami ng ibang halimbawang configuration file para sa kadalian ng paggamit.

Gumagawa ng backup na kopya ng /etc/named.conf file

Cp /etc/named.conf /etc/named.conf.bak

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /etc/named.conf

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf

Ngayong meron backup na kopya configuration file, at ang orihinal na file mismo ay nabago, nagpapatuloy kami.

# vim /etc/named.conf

# vim /var/named/chroot/etc/named.conf

Ang mga sumusunod na linya ay idinagdag/binago.

Mga Pagpipilian ( ## path sa mga zone file ## direktoryo "/var/named"; ## mga kahilingan sa pag-redirect sa pampublikong DNS server ng Google para sa mga hindi lokal na domain ## forwarder ( 8.8.8.8; ); ); ## deklarasyon ng direktang zone halimbawa.tst ## zone "example.tst" IN ( type master; file "example-fz"; ## file para sa direct zone ay matatagpuan sa /var/named ## allow-update (wala;); ## deklarasyon ng reverse zone para sa network 172.16.1.0 ## zone "1.16.172.in-addr.arpa" IN ( type master; file "rz-172-16-1"; ## file para sa reverse zone ay matatagpuan sa /var /named ## allow-update ( wala; );

Paghahanda ng mga zone file

Ang mga file ng default na zone ay awtomatikong nilikha sa /var/named o /var/named/chroot/var/named (para sa chroot).

Ipagpalagay na ang mga default na zone file ay wala, maaari naming kopyahin ang mga sample na file mula sa /usr.

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/chroot/var/named

Malaki. Ngayon ang mga default na zone file ay handa na, gumawa kami ng sa amin sariling mga file mga zone halimbawa.tst at network 172.16.1.0. Habang gumagawa kami ng mga zone file, kailangan naming tandaan ang mga sumusunod.

  • Ang simbolo na '@' ay nangangahulugang NULL sa mga zone file.
  • Ang bawat entry na Fully Qualified Domain Name (FQDN) ay nagtatapos sa isang tuldok na '.' mail.example.tst. Kung walang punto, magkakaroon ng mga problema.

1. Direktang sona

Ang direktang zone ay naglalaman ng isang mapa ng mga pagsasalin mula sa mga pangalan hanggang sa mga IP address. Para sa mga pampublikong domain, ang mga DNS domain na naka-host sa mga serbisyo sa pagho-host ay nasa direct zone file.

# vim /var/named/example-fz

# vim /var/named/chroot/var/named/example-fz $TTL 1D @ SA SOA ns1.example.tst. mial.example.tst. (0; serial 1D; i-refresh ang 1H; muling subukan ang 1W; mag-expire 3H); minimum SA NS ns1.example.tst. SA ISANG 172.16.1.3 mail SA A 172.16.1.1 SA MX 10 mail.example.tst. www SA A 172.16.1.2 ns1 SA A 172.16.1.3 ftp SA CNAME www.example.tst.

Paliwanag: Sa loob ng isang zone file, ang SOA ay nagpapahiwatig ng pagsisimula ng awtorisasyon. Kumpleto na ito Pangalan ng domain authoritative name server. Pagkatapos ng buong pangalan ng domain ay dumating ang impormasyon ng contact email address. Dahil hindi natin magagamit ang '@' sa [email protected], muli naming isinusulat ang email address bilang mial.example.tst.

  • N.S.: Pangalan ng server
  • A: Ang record o address record ay isang IP address
  • MX: Mail Exchanger rekord. Dito gumagamit lang kami ng isang MX na may priority 10. Sa kaso ng maraming MX, maaari kaming gumamit ng iba't ibang mga digital na priyoridad. Ibabang numero panalo. Halimbawa, ang MX 0 ay mas mahusay kaysa sa MX 1.
  • CNAME: pangalan sa kanonikal na anyo. Kung ang isang server ay nagho-host ng maraming mga serbisyo, malaki ang posibilidad na maraming mga pangalan ang mareresolba sa isang server. Ang CNAME ay nagpapahiwatig na ang server ay maaaring may iba pang mga pangalan at tumutukoy sa pangalang nakapaloob sa A record.

2. Reverse zone

Ang reverse zone ay naglalaman ng mapa ng mga conversion mula sa mga IP address patungo sa mga pangalan. Dito, lumikha kami ng reverse zone para sa network 172.16.1.0. Sa isang tunay na domain, ang DNS server ng may-ari ng pampublikong IP block ay nakapaloob sa reverse zone file.

# vim /var/named/rz-172-16-1

# vim /var/named/chroot/var/named/rz-172-16-1 $TTL 1D @ SA SOA ns1.example.tst. sarmed.example.tst. (0; serial 1D; i-refresh ang 1H; muling subukan ang 1W; mag-expire 3H); minimum SA NS ns1.example.tst. 1 SA PTR mail.example.tst. 2 SA PTR www.example.tst. 3 SA PTR ns1.example.tst.

Paliwanag: Karamihan sa mga parameter na ginamit sa reverse zone kapareho ng tuwid na sona, maliban sa isang bagay.

  • PTR: PTR o pointer record, tumuturo ito sa ganap na kwalipikadong domain name

Pagkumpleto

Ngayon na handa na ang mga zone file, iko-configure namin ang resolution ng mga zone file.

# chgrp na pinangalanang /var/named/*

# chgrp na pinangalanang /var/named/chroot/var/named/*

Ngayon ay itatakda namin ang IP DNS address server.

# vim /etc/resolv.conf nameserver 172.16.1.3

Sa wakas makakatakbo na tayo serbisyo ng DNS at tiyaking idinagdag ito sa autorun.

# serbisyo na pinangalanang i-restart ang # chkconfig na pinangalanan sa

Pagsubok sa DNS

Maaari naming gamitin ang dig o nslookup upang subukan ang DNS. Una, i-install namin ang mga kinakailangang pakete.

# yum install bind-utils

1. Direktang pagsubok sa zone gamit ang dig

# dig example.tst ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31184 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 86400 IN A 172.16.1.3 ;; AUTHORITY SECTION: example.com. 86400 IN NS ns1.example.com. ;; ADDITIONAL SECTION: ns1.example.com. 86400 IN A 172.16.1.3

2. Suriin ang PTR gamit ang dig

Kapag gumamit ka ng dig para sa pagsubok, dapat mong laging hanapin ang katayuang "NOERROR". Anumang ibang kundisyon ay nangangahulugan na may mali.

# dig -x 172.16.1.1 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27415 ;; QUESTION SECTION: ;1.1.17.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.1.16.172.in-addr.arpa. 86400 IN PTR mail.example.tst. ;; AUTHORITY SECTION: 1.16.172.in-addr.arpa. 86400 IN NS ns1.example.tst. ;; ADDITIONAL SECTION: ns1.example.tst. 86400 IN A 172.16.1.3

3. Sinusuri ang MX gamit ang dig

# dig example.tst mx ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35405 ;; QUESTION SECTION: ;example.tst. IN MX ;; ANSWER SECTION: example.tst. 14366 IN MX 10 mail.example.tst.

Mga Tip sa Paglutas ng Problema

  1. Na-disable ko ang SELinux.
  2. Tiyaking hindi hinaharangan ng iyong firewall ang UDP port 53
  3. Ang /var/log/messages ay dapat maglaman ng kapaki-pakinabang na impormasyon kung sakaling may mali
  4. Tiyaking 'pinangalanan' ng user ang may-ari ng mga zone file
  5. Tiyaking nakalista muna ang IP address ng DNS server sa /etc/resolv.conf
  6. Kung gumagamit ka ng example.tst sa isang lab environment, tiyaking idiskonekta ang server mula sa Internet dahil ang example.tst ay isang hindi umiiral na domain.

Upang buod, ang tutorial na ito ay nakatuon sa pagho-host ng example.tst na domain sa isang setting ng lab para sa mga layunin ng pagpapakita. Pakitandaan na hindi ito gabay sa paggawa ng pampublikong DNS server, gaya ng DNS server na tumutugon sa mga kahilingan mula sa anumang IP address. Kung nagse-set up ka ng production DNS server, tiyaking suriin kung aling mga patakaran ang nalalapat sa pampublikong DNS. Ang isa pang aralin ay sumasaklaw sa paglikha ng pangalawang DNS, paghihigpit sa pag-access sa DNS server, at pagpapatupad ng DNSSEC.

Ang Guarantor ay isang pinagkakatiwalaang tagapamagitan sa pagitan ng mga Kalahok sa panahon ng transaksyon.


Ang isa sa mga mahahalagang serbisyo na nagtitiyak sa paggana ng modernong Internet ay ang serbisyo para sa pag-convert ng isang pangalan ng site sa isang IP address. Ise-set up namin ang pagpapatupad ng serbisyo ng DNS sa artikulong ito gamit ang halimbawa ng pag-set up ng Bind 9 (pinangalanan) sa isang server na tumatakbo sa CentOS 7. Ihahanda namin ang pinakamababang kinakailangang basic functionality at titingnan nang mas malalim ang mga setting ng pag-log.

Magbigkis- ang pinakakaraniwang pagpapatupad ng isang DNS server ngayon, na nagsisiguro sa conversion ng mga IP address sa mga pangalan ng DNS at vice versa. Tinatawag din itong pinangalanan, halimbawa sa Freebsd. Sa paghusga sa impormasyon mula sa Wikipedia, ngayon 10 sa 13 root DNS server sa Internet ay tumatakbo sa bind. Naka-install ito sa labas ng kahon sa halos lahat ng mga pamamahagi ng Linux. Titingnan ko ang pag-install nito sa isang server ng CentOS 7.

Pag-install ng Bind 9 (pinangalanan) sa CentOS 7

Una sa lahat, suriin natin kung mayroon tayong naka-install na DNS server sa system:

# rpm -qa bind* bind-libs-lite-9.9.4-14.el7.x86_64 bind-license-9.9.4-14.el7.noarch

Hindi ko ito na-install dahil pinili ko ang pinakamababang software package. Ang aming name server ay gagana sa isang chroot environment, kaya i-install ang naaangkop na mga package:

# yum - y install bind bind - utils bind - chroot

Muli, pakitandaan na gagamitin namin ang bind in chroot kapaligiran upang madagdagan ang seguridad. Ito ay nagpapataw ng ilang mga tampok sa pag-set up at pamamahala ng server. Kailangan mong maging maingat sa maliliit na bagay na ito. Kaya, patakbuhin natin ang bind :

# systemctl simulan pinangalanang-chroot# systemctl paganahin pinangalanang-chroot ln -s "/usr/lib/systemd/system/named-chroot.service" "/etc/systemd/system/multi-user.target.wants/named-chroot.service"

Sinusuri ang mga nilalaman ng direktoryo ng chroot:

# ls -l /var/named/chroot/etc

Ang lahat ay maayos, nagsimula ang server, ang mga kinakailangang file ay nilikha, ang lahat ay handa na para sa pagsasaayos. Asikasuhin natin ito.

Pag-set up ng DNS server sa CentOS 7

Ang aming file ng pagsasaayos ng server ay matatagpuan sa /var/named/chroot/etc/named.conf. Binuksan namin ito at dinadala sa sumusunod na form:

# mcedit /var/named/chroot/etc/named.conf options ( listen-on port 53 ( any; ); listen-on-v6 port 53 ( none; ); directory "/var/named"; dump-file " /var/named/data/cache_dump.db"; allow-query ( 127.0.0.1; 192.168.7.0/24; ); recursion yes; allow-recursion ( 127.0.0.1; 192.168.7.0/24; ); forwarders ( 8.8 .8.8); bersyon na "DNS Server"; pinamamahalaang-keys-directory "/var/named/dynamic"; "; dnssec-enable no; dnssec-validation no; ); zone "." IN (type hint; file "named.ca"; ); isama ang "/etc/named.rfc1912.zones"; isama ang "/etc/named.root.key"; pag-log ( channel default_file ( file "/var/log/named/default.log" versions 3 size 5m; severity dynamic; print-time yes; ); category default ( default_file; ); );

Titiyakin ng pagsasaayos na ito ang pagpapatakbo ng isang regular na server ng caching sa isang lokal na network. Mga komento sa ilang mga parameter:

Huwag kalimutang i-edit ang mga panuntunan ng firewall para sa tamang operasyon ng DNS server - buksan ang UDP port 53 para sa caching server, na na-configure na namin ngayon, at TCP port 53 para sa mga forwarding zone, na tatalakayin sa ibang pagkakataon

Ngayon gumawa tayo ng isang folder para sa mga log. Huwag kalimutan na nagtatrabaho kami sa isang chroot na kapaligiran:

# cd /var/named/chroot/var/log && mkdir na pinangalanang && chown na pinangalanan. pinangalanan

Sariling suporta sa zone

Sabihin nating kailangan nating ilagay ang sarili nating zone site1.ru sa ating pinangalanan. Una sa lahat, gumawa kami ng zone file na ihahatid ng DNS server:

# mcedit /var/named/chroot/var/named/site1.ru.zone $TTL 86400 @ SA SOA site1.ru. site1.ru.local. (2015092502 43200 3600 3600000 2592000) SA NS ns1.site1.ru. SA NS ns2.site1.ru. SA ISANG 192.168.7.254 SA MX 10 mx.site1.ru. gate IN A 192.168.7.254 mx IN A 192.168.7.250 ns1 IN A 192.168.7.235 ns2 IN A 192.168.7.231

Ang paglalarawan ng syntax ng mga file ng zone ay mahusay na sakop sa Internet; Kung ninanais, makikita ng lahat para sa kanilang sarili kung kailangan nilang i-configure ang suporta para sa kanilang sariling zone.

Itinakda namin ang mga kinakailangang karapatan:

# chown root:named /var/named/chroot/var/named/site1.ru.zone # chmod 0640 /var/named/chroot/var/named/site1.ru.zone

Zone "site1.ru" ( type master; file "site1.ru.zone"; );

Binasa namin muli ang pinangalanang configuration gamit ang rndc:

# rndc reconfig

Pagdaragdag sa pagbigkis ng slave zone

Kung gusto mong panatilihin sa iyong server ang isang kopya ng isang zone na kinuha mula sa isa pang DNS server, pagkatapos ay idagdag ang mga sumusunod na setting sa config.

Zone "site.ru" IN ( uri ng alipin; masters ( 10.1.3.4; ); file "site.ru.zone"; );

10.1.3.4 - IP address ng DNS server kung saan namin kinuha ang zone. Huwag kalimutang payagan ang paglipat ng zone sa iyong DNS server.

Kailangan mong magdagdag ng pahintulot sa pagsulat sa pinangalanang pangkat upang magmukhang ganito:

Pagkatapos nito, maaari mong i-restart ang bind at suriin na ang slave zone file ay nagawa na. Gamit ang mga setting sa itaas, ito ay matatagpuan sa /var/named/chroot/var/named/site.ru.zone. Kung walang karapatan ang bind na lumikha ng file, makakatanggap ka ng error sa log:

Paglalaglag ng master file: tmp-7Swr6EZpcd: bukas: tinanggihan ang pahintulot

Ito ay mas kawili-wili at kapaki-pakinabang upang maunawaan ang detalyadong pag-log ng pagpapatakbo ng server. Sa loob ng mahabang panahon ay mababaw kong nakuha ang lahat ng uri ng mga rekomendasyon at piraso ng mga sample na config sa Internet, hanggang sa nagpasya akong harapin ang paksang ito sa aking sarili at tumingin sa orihinal na manwal.

Nagbibigay ang Bind ng malawak na kakayahan sa pag-log. Maaari mong i-record ang halos lahat ng bagay na may kaugnayan sa pagpapatakbo ng server. Ipapakita ko ngayon sa iyo kung paano ito gumagana gamit ang mga simpleng halimbawa.

Una sa lahat, sa pagsasaayos ay itinakda namin ang channel kung saan maiimbak ang mga log para sa ilang partikular na kaganapan. Narito ang isang halimbawa ng naturang channel:

Channel general ( file "/var/log/named/general.log" versions 3 size 5m; severity dynamic; print-time yes;

Ang pangalan ng channel ay ipinahiwatig dito, na kung saan naiisip natin ang ating sarili - pangkalahatan, ang landas sa file ay ipinahiwatig, sinasabing mag-iimbak tayo ng 3 bersyon ng log na hindi hihigit sa 5 megabytes ang laki. Parameter kalubhaan maaaring kunin ang mga sumusunod na halaga:

Parameter oras ng pag-print ay nagpapahiwatig na ang oras ng kaganapan ay dapat itala sa log. Bilang karagdagan sa mga setting na tinukoy ko, ang mga sumusunod na parameter ay maaaring idagdag sa pagsasaayos ng channel:

  • kalubhaan ng pag-print oo | hindi — tumutukoy kung isusulat o hindi ang severity parameter sa log
  • print-category oo | hindi — tumutukoy kung isusulat o hindi ang pangalan ng kategorya ng log

Hindi ko tinukoy ang mga parameter na ito, dahil nakatakda ang default na halaga sa hindi, na nababagay sa akin nang personal.

Pangkalahatang kategorya ( pangkalahatan; );

Paglalarawan ng mga kategorya ng log sa bind (pinangalanan)
defaultAng mga kaganapan ng lahat ng mga kategorya mula sa talahanayang ito ay mahuhulog dito kung hindi sila tinukoy nang hiwalay, maliban sa kategorya ng mga query, na dapat na partikular na isama. Iyon ay, kung itinalaga mo lamang ang default na kategorya, ang mga kaganapan sa lahat ng mga kategorya ay bubuhos dito.
pangkalahatanAng kategoryang ito ay para sa lahat ng mga log na hindi kasama sa alinman sa mga nakalistang kategorya.
databaseMga mensaheng nauugnay sa imbakan ng zone at pag-cache.
seguridadPagkumpirma at pagtanggi ng mga kahilingan.
configLahat ng nauugnay sa pagbabasa at pagpapatupad ng file ng pagsasaayos.
solverResolusyon ng pangalan, kabilang ang impormasyon tungkol sa mga recursive na query na ginawa sa ngalan ng client ng caching server.
xfer-inImpormasyon tungkol sa pagkuha ng mga zone.
xfer-outImpormasyon tungkol sa paglilipat ng mga zone.
ipaalamPag-log NOTIFY protocol operations.
kliyentePagtupad sa mga kahilingan ng kliyente.
walang kaparisAng mga mensaheng pinangalanan ay hindi maitalaga sa anumang klase o kung saan walang natukoy na pagmamapa.
networkPag-log ng mga pagpapatakbo ng network.
updateMga dynamic na update.
update-seguridadPagkumpirma o pagtanggi sa mga kahilingan sa pag-update.
mga tanongPag-log ng mga kahilingan sa DNS server. Upang paganahin ang kategoryang ito, dapat mong hiwalay na itakda ang parameter sa configuration ng server. Ito ay dahil sa katotohanan na ang kategoryang ito ay bumubuo ng maraming mga entry sa log file, na maaaring makaapekto sa pagganap ng server.
query-errorsMga error sa mga kahilingan sa server.
pagpapadalaPag-redirect ng mga papasok na packet sa mga module ng server para sa pagproseso.
dnssecPagpapatakbo ng DNSSEC at TSIG protocol.
pilay-serverInayos ang mga error na nagbubuklod sa mga natatanggap kapag nakikipag-ugnayan sa mga malalayong server sa pagtatangkang magsagawa ng kahilingan sa paglutas ng pangalan.
delegasyon-lamangMga kahilingan sa pag-log na nagbalik ng NXDOMAIN.
edns-disabledMga kahilingang napipilitang gumamit ng plain DNS dahil sa paglampas sa mga timeout.
RPZLahat ng mga operasyon na nauugnay sa pagpapatupad ng Response Policy Zone (RPZ).
rate-limitMga operasyong nauugnay sa isa o higit pang mga pahayag ng limitasyon sa rate sa mga opsyon o view.

Kaya, upang maipakita ang lahat ng mga kategorya ng mga log sa magkahiwalay na mga file, kailangan mong idagdag ang sumusunod na konstruksyon sa pinangalanang config:

Pag-log ( channel default ( file "/var/log/named/default.log" na mga bersyon 3 laki 5m; severity dynamic; print-time yes; ); channel general ( file "/var/log/named/general.log" na mga bersyon 3 laki 5m; dynamic na kalubhaan; oras ng pag-print oo ); name/config.log" versions 3 size 5m; severity dynamic; print-time yes; ); channel resolver ( file "/var/log/named/resolver.log" versions 3 size 5m; severity dynamic; print-time yes; ); channel xfer-in ( file na "/var/log/ named/xfer-in.log" na mga bersyon 3 size 5m; severity dynamic; print-time yes; ); /xfer-out.log" versions 3 size 5m; severity dynamic ; print-time yes; ); channel notify ( file "/var/log/named/notify.log" versions 3 size 5m; severity dynamic; print-time yes ; dynamic na kalubhaan; oras ng pag-print oo; ); channel na walang kaparis ( file "/var/log/named/unmatched.log" na mga bersyon 3 laki 5m; dynamic na kalubhaan; oras ng pag-print oo; ); channel network ( file "/var/log/named/network.log" na mga bersyon 3 size 5m; severity dynamic; print-time yes; ); pag-update ng channel ( file "/var/log/named/update.log" na mga bersyon 3 laki 5m; dynamic na kalubhaan; oras ng pag-print oo; ); channel update-security ( file "/var/log/named/update-security.log" na mga bersyon 3 size 5m; severity dynamic; print-time yes; ); mga query sa channel ( file "/var/log/named/queries.log" na mga bersyon 3 laki 5m; dynamic na kalubhaan; oras ng pag-print oo; ); channel query-errors ( file "/var/log/named/query-errors.log" versions 3 size 5m; severity dynamic; print-time yes; ); channel dispatch ( file "/var/log/named/dispatch.log" na mga bersyon 3 laki 5m; dynamic na kalubhaan; oras ng pag-print oo; ); channel dnssec ( file "/var/log/named/dnssec.log" na mga bersyon 3 laki 5m; dynamic na kalubhaan; oras ng pag-print oo; ); channel lame-servers ( file "/var/log/named/lame-servers.log" na mga bersyon 3 laki 5m; dynamic na kalubhaan; oras ng pag-print oo; ); channel delegation-only ( file "/var/log/named/delegation-only.log" na mga bersyon 3 size 5m; severity dynamic; print-time yes; ); channel edns-disabled ( file "/var/log/named/edns-disabled.log" na bersyon 3 laki 5m; dynamic na kalubhaan; oras ng pag-print oo; ); channel rpz ( file "/var/log/named/rpz.log" na mga bersyon 3 laki 5m; dynamic na kalubhaan; oras ng pag-print oo; ); channel rate-limit ( file "/var/log/named/rate-limit.log" na mga bersyon 3 laki 5m; dynamic na kalubhaan; oras ng pag-print oo; ); default na kategorya(default;); pangkalahatang kategorya(pangkalahatan;); database ng kategorya ( database; ); seguridad ng kategorya ( seguridad; ); config ng kategorya(config;); solver ng kategorya(resolver;); kategorya xfer-in ( xfer-in; ); kategorya xfer-out ( xfer-out; ); category notify ( ipaalam; ); kliyente ng kategorya ( kliyente; ); kategoryang walang kaparis ( unmatched; ); network ng kategorya ( network; ); update ng kategorya(update;); kategorya update-security ( update-security; ); mga query sa kategorya ( query; ); kategorya query-errors ( query-errors; ); kategorya dispatch ( dispatch; ); kategorya dnssec ( dnssec; ); kategorya lame-servers ( lame-servers; ); kategorya delegasyon-lamang ( delegasyon-lamang; ); kategorya edns-disabled ( edns-disabled; ); kategorya rpz ( rpz; ); kategorya rate-limit ( rate-limit; ); );

Kung gusto naming kolektahin ang lahat ng mga log ng kahilingan mula sa isang kategorya mga tanong, pagkatapos ay sa seksyon ng mga pagpipilian ng file ng pagsasaayos kailangan mong magdagdag ng isang parameter na nagbibigay-daan dito:

Querylog oo;

I-restart ang bind:

# systemctl restart named-chroot.service

Sinusuri ang pagpapatakbo ng DNS Server

Una sa lahat, pumunta tayo sa direktoryo na may mga log at suriin kung ano ang mayroon tayo doon:

# cd /var/named/chroot/var/log/named # ls -l

Nagawa na ang lahat ng log files at nagsisimula nang mapuno. Maaari mong suriin ang isa sa kanila. Halimbawa, tingnan natin kung paano ni-log ng aming centos server (192.168.7.246) ang mga kahilingan ng user. Subukan nating patakbuhin ang nslookup yandex.ru mula sa computer 192.168.7.254 (Windows) at tingnan kung paano ito makikita sa log file:

26-Sep-2015 19:25:30.923 client 192.168.7.254#56374 (yandex.ru): query: yandex.ru IN A + (192.168.7.246) 26-Sep-2015 19:21.48 . 56375 (yandex.ru): query: yandex.ru SA AAAA + (192.168.7.246)

Ngayon, i-ping natin ang site1.ru para tingnan kung paano sinusuportahan ng server ang ating zone:

Tingnan natin kung ano ang nasa logs:

26-Sep-2015 19:28:01.660 client 192.168.7.254#49816 (site1.ru): query: site1.ru IN A + (192.168.7.246)

Ginagawa nitong lubos na maginhawa upang subaybayan kung saan pupunta ang computer. Halimbawa, maaari mong pansamantalang itaas ang DNS server at paganahin ang query log. Sa kliyente, tukuyin ang tanging DNS server na aming na-configure. Pagkatapos ay maaari naming subaybayan, halimbawa, kung saan napupunta ang Windows pagkatapos mag-load nang hindi namin nalalaman. O kung saan nilo-load ang mga ad sa Skype. Ang lahat ng mga kahilingan ay maayos na isasama sa isang file, na pagkatapos ay madaling masuri, at pagkatapos, halimbawa, .

Iyon lang ang gusto kong sabihin sa iyo sa materyal na ito. Ang paksa ng pagtatakda ng bind (pinangalanan) ay medyo malawak. Baka babalikan ko ulit yun.

Online na kursong "Linux Administrator"

Kung mayroon kang pagnanais na matutunan kung paano bumuo at magpanatili ng mataas na magagamit at maaasahang mga sistema, inirerekumenda ko na pamilyar ka sa online na kursong "Linux Administrator" sa OTUS. Ang kurso ay hindi para sa mga nagsisimula upang makapag-enroll kailangan mo ng pangunahing kaalaman sa mga network at pag-install ng Linux sa isang virtual machine. Ang pagsasanay ay tumatagal ng 5 buwan, pagkatapos kung saan ang mga matagumpay na nagtapos ng kurso ay maaaring sumailalim sa mga panayam sa mga kasosyo. Subukan ang iyong sarili sa pagsusulit sa pasukan at tingnan ang programa para sa higit pang mga detalye.

DNS- domain name system - isang distributed system na may kakayahang mag-ulat ng IP address nito kapag hiniling na naglalaman ng host name. Ang istraktura ng DNS ay katulad ng sistema ng file ng Linux ang buong database ay may istraktura ng puno, na may ugat sa tuktok (). . ). Ito ay mula sa tuldok na magsisimula ang buong sistema ng domain name. Ang tuldok ay maaaring sundan ng ru, com, net, info, atbp. Mga domain na nagmula sa ugat i.e. ru., com.,net. ay tinatawag unang antas ng mga domain, mga domain ng uri ng website. ay tinatawag pangalawang antas ng mga domain, ngunit ng form file.site. - ikatlong antas ng mga domain at iba pa. Pansinin ang tuldok sa dulo ng mga halimbawa. Ang mga pangalang nakasulat sa ganitong paraan ay tinatawag na absolute names (FQDN). Kung hindi tinukoy ang tuldok, ituturing na kamag-anak ang pangalan. Ibig sabihin, ang website.

Bakit gumagamit ng DNS?

1) Isipin na kailangan mong i-access ang isang mapagkukunan ng network sa ilalim ng pangalan host(ito ang file server kung saan nakaimbak ang lahat ng file ng empleyado) pangalan host Mayroon itong IP ang address ay 192.168.200.20 at kung wala kang serbisyo na nagko-convert ng mga IP address sa mga pangalan, dapat mong i-dial ang IP address na 192.168.200.20 para makapunta sa file server. Ano ang mas madaling matandaan ang pangalan ng host o ang hanay ng mga numero 192.168.200.20?

2) Ang pangalawang opsyon ay nauugnay sa pag-access sa Internet, halimbawa, kailangan mong makapunta sa isang FTP server sa Internet na may pangalan ftp.site, at ang IP address ay 89.111.176.87.

Kaya, kung sa unang opsyon ay hindi mo na kailangang mag-install at mag-configure ng DNS server, ngunit maaari mong mabilis na i-set up, halimbawa, ang serbisyong WINS, kailangan mo lang ito upang ma-access ang Internet (namin' t patuloy na naaalala ang mga numero kapag sinubukan naming i-access ang anumang mapagkukunan sa Internet). Ang isa pang tanong ay, kailangan mo bang i-configure ito kung ang provider ay nagbigay sa iyo ng mga DNS server nito?

Ang DNS server ay maaaring gamitin bilang: pangunahin at pangalawa, recursive at query redirector.

Pangunahin Ang (master) ay naglo-load ng data para sa zone mula sa isang file sa server machine, at ang pangalawang (slave) ay tumatanggap ng data mula sa pangunahing DNS. Ang isang DNS server ay maaaring pangunahin para sa isang zone at pangalawa para sa isa pa.

Recursive server nilikha sa malalaking organisasyon na may mataas na bilis ng mga koneksyon sa network. Hindi ito nakatali sa mga server ng provider, flexible at secure.

Humiling ng Redirector nagpapadala ng kahilingan mula sa kliyente sa server ng provider. Pinoproseso ng server ng provider ang maraming kahilingan ng kliyente, may malaking cache at high-speed na koneksyon.

Mga pangunahing tala ng DNS.

A - pagsusulatan sa pagitan ng pangalan at IP address
AAAA - pagsusulatan sa pagitan ng pangalan at IPv6 address
CNAME - canonical name (synonym)
MX - tumuturo sa mail server para sa domain na ito
NS - DNS server para sa domain
PTR - canonical na pangalan
Ang SOA ay ang paunang talaan na nagsasaad kung saan nakaimbak ang impormasyon tungkol sa server.
SRV - mga server para sa mga serbisyo.

Pag-install ng BIND.
I-install namin ang BIND sa centOs5.
May server na pinangalanang ns1..168.200.1

yum install bind

Mga setting MAGBIGKIS
Gumawa at punan ang configuration file

vi /var/named/chroot/etc/named.conf

mga pagpipilian (
direktoryo na "/var/named/";
dump-file "/var/run/named_dump.bd";
statistics-file "/var/run/named.stats";
};
zone "site" sa (
uri ng master;
file na "site.db";
};
zone "200.168.192.IN-ADDR.ARPA." SA (
uri ng master;
file "192.168.200.db";
};

zone "0.0.127.IN-ADDR.ARPA." SA (
uri ng master;
file na "127.0.0.db";
};

zone "." (
uri ng pahiwatig;
file na "named.ca";
};

Gumagawa kami ng mga zone file para sa site.db, 192.168.0.db, 127.0.0.db, named.ca.

vi /var/named/chroot/var/named/site.db# direktang zone para sa pagmamapa ng mga pangalan sa mga address.

$TTL 1H ; 1 oras
SA website ng SOA ns1.site. root.site (22
3H
1H
1W
1H)

; Mga name server
N.S. ns1.site

Para sa mga caconical na pangalan
ns1.site. SA 1H A 192.168.200.1
host1.site. SA 1H A 192.168.200.154
;Mga alyas
gw1.site. SA 1H CNAME host1.site.
www.site. SA 1H CNAME host1.site.

vi /var/named/chroot/var/named/192.168.200.db# reverse zone para sa pagmamapa ng mga address sa mga pangalan.

$TTL 3600 ; 1 oras
200.168.192.in-addr.arpa SA SOA ns1.site. root.site (21
3H
1H
1W
1H)
; Mga name server
200.168.192.in-addr.arpa SA NS ns1.site

; mga kanonikal na pangalan
1.200.168.192.in-addr.arpa PTR ns1.site.
154.200.168.192.in-addr.arpa PTR host1.site.

vi /var/named/chroot/var/name/127.0.0.db# loopback address para sa pagpapadala ng mga packet sa iyong sarili.

$TTL 3600 ; 1 oras
0.0.127.in-addr.arpa SA SOA ns1.site. root.site (21
3H
1H
1W
1H)

0.0.127.in-addr.arpa SA NS ns1.site
0.0.127.in-addr.arpa. SA PTR localhost.

vi /var/named/chroot/var/named/named.ca#root server

A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; dating NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
;
; dating C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; dating TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; dating NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; dating NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
;
; dating NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; dating AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
;
; dating NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
;
; pinamamahalaan ng RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
;
; pinamamahalaan ng ICANN
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
;
; pinapatakbo ng WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
; Katapusan ng File

Pagsisimula at pagpapahinto sa server/etc/init.d/named (start stop restart)
Mga Utility sa Pagsubok ng DNS: host, nslookup, dig.
Para sa mas detalyadong mga setting ng DNS, basahin ang man bind, ang DNS at BIND book, atbp.

Sa artikulong ito, titingnan natin ang pag-deploy ng Master at Slave BIND (Berkeley Internet Name Domain) DNS server sa CentOS 6.4 minimal. Bago mo makumpleto ang lahat ng mga hakbang sa artikulong ito, dapat ay na-configure mo ang iyong network, naka-install ang system-config-firewall-tui, at Midnight Commander. Maaari mong basahin ang buong paunang pag-setup ng CentOS.

Sa parehong mga makina:

i-install ang Midnight Commander:

i-install ang system-config-firewall-tui:

yum install system-config-firewall-tui –y

pumasok sa command line

iptables -A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT

i-install ang BIND:

yum install bind-chroot bind-utils –y

Ilunsad natin ang firewall configuration utility at i-configure:

system-config-firewall-tui

Markahan ng asterisk DNS

I-click "Pasulong". Markahan ang interface eth0 at i-click "Pasulong"

I-click "Pasulong". Markahan ang interface para sa eth0 masquerade at i-click "Pasulong"

I-click "Pasulong".

I-click "Pasulong".

I-click "Pasulong".

I-click "Pasulong".

I-click "malapit".

I-click "OK".

I-click "Oo". handa na.

Huwag paganahin ang SELINUX:

sa /etc/selinux/config ay itatama namin ito SELINUX=hindi pinagana

Ngayon, buuin natin ang susi:

dnssec-keygen -a HMAC-MD5 -b 128 -n USER rndckey

Ang utos na ito ay lilikha ng dalawang file sa kasalukuyang direktoryo. Sa *.private na file sa ikatlong linya magkakaroon ng susi ng form: wGmtcnMtn9od+ndTc20tGg==

Pagkatapos nito, buksan ang file /etc/resolv.conf at sa pinakasimula ay isusulat namin dito:

nameserver 192.168.0.191

nameserver 192.168.0.192

Master DNS server (IP: 192.168.0.191 host name: ns1.localserver12.ru):

lumikha ng isang direktoryo /etc/named/master

mkdir /etc/named/master

ililipat namin si bindu sa farm

chown -R na pinangalanang:named /etc/named/master

Pagbubukas /etc/named.conf. Sa loob nito, sinusuri namin ang pagkakaroon ng mga opsyon na ipinahiwatig sa ibaba. Kung wala sila roon, idagdag ang mga ito kung iba ang mga ito, itama ang mga ito:

makinig-sa port 53 ( 127.0.0.1; 192.168.0.191; );

allow-transfer (192.168.0.192; );

abisuhan oo;

zone "localserver12.ru" SA (

uri ng master;

file na "/etc/named/master/localserver12.ru";

/* Path sa ISC DLV key */)

dnssec-enable yes;

dnssec-validation yes;

dnssec-lookaside auto;

Gumawa tayo ng file localserver12.ru sa /etc/named/master directory

pindutin ang /etc/named/master/localserver12.ru

Ibigay natin sa bindu farm:

chown -R named:named /etc/named/master/localserver12.ru

Isulat natin ang sumusunod dito (humigit-kumulang tulad ng nasa larawan):

Simulan na natin ang pagtali

Inilalagay namin ang BIND sa startup upang magsimula ito sa panahon ng system boot

Handa na ang master DNS server.

Slave DNS server (IP: 192.168.0.192 host name: ns2.localserver12.ru):

lumikha ng isang direktoryo /etc/named/slave

Ibigay natin sa bindu farm

chown -R na pinangalanang:named /etc/named/slave

Buksan ang /etc/named.conf. Sa loob nito, sinusuri namin ang pagkakaroon ng mga opsyon na ipinahiwatig sa ibaba. Kung wala sila roon, idagdag ang mga ito kung iba ang mga ito, itama ang mga ito:

listen-on port 53 ( 127.0.0.1; 192.168.0.192; );

payagan-recursion ( 192.168.0.0/24; );

recursion oo;

allow-transfer (wala; );

abisuhan hindi;

zone "localserver12.ru" (

uri ng alipin;

file na "/etc/named/slave/localserver12.ru";

masters(192.168.0.191;);

Sinusuri din namin ang pagkakaroon ng mga naturang linya (kung hindi, idagdag bago ang linya /* Path sa ISC DLV key */)

Dnssec-enable yes;

Dnssec-validation yes;

Dnssec-lookaside auto;

Simulan na natin ang pagtali

Inilalagay namin ito sa startup upang magsimula ito sa panahon ng pag-boot ng system

Ang server ng Slave DNS ay handa na. Gayundin, pagkatapos ng pag-restart, ang file ay awtomatikong mapupunta sa /etc/named/slave na direktoryo localserver12.ru

Ngayon suriin natin:

sa alipin ipasok ang utos

dig @ns1.localserver12.ru localserver12.ru axfr

at sa master na ganito

dig @ns2.localserver12.ru localserver12.ru axfr

sa parehong mga kaso, ang data at mga tala ng DNS ay ipinapakita mula sa file localserver12.ru

Lahat. Ang mga DNS server ay handa na.


Kung nakatulong sa iyo ang artikulong ito, maaari mong pasalamatan ang may-akda:
ilipat sa WMR wallet (WebMoney): R301575071888
ilipat sa Yandex.Wallet: 410011003938168
o sa PayPal:

Ipinakita namin sa iyong pansin ang isang bagong kurso mula sa koponan Ang Codeby- "Pagsubok sa pagtagos ng mga Web Application mula sa simula." Pangkalahatang teorya, paghahanda sa kapaligiran sa pagtatrabaho, passive fuzzing at fingerprinting, Active fuzzing, Vulnerabilities, Post-exploitation, Tools, Social Engeneering at marami pang iba.


Ang mga domain ay may hindi bababa sa dalawang DNS server, ang isa ay tinatawag na primary name server (ns1) at ang isa ay tinatawag na pangalawang name server (ns2). Karaniwang ginagamit ang mga pangalawang server kapag may mga problema sa pangunahing DNS server: kung hindi available ang isang server, magiging aktibo ang pangalawa. Posible rin ang mas kumplikadong mga scheme gamit ang load balancing, firewall at cluster.

Ang lahat ng mga tala ng DNS para sa isang partikular na domain ay idinaragdag sa pangunahing server ng pangalan. Sini-synchronize lang ng pangalawang server ang lahat ng impormasyong natanggap mula sa pangunahing server, batay sa mga parameter na tinukoy sa pangunahing server.

Ang tagubiling ito ay maglalarawan, paano gumawa ng pangunahing DNS server na tumatakbo sa CentOS. Pakitandaan na ang DNS server na ipinakita sa gabay na ito ay magiging isang pampublikong DNS, na nangangahulugang tutugon ang server sa mga kahilingan mula sa anumang IP address. Kung paano paghigpitan ang pag-access sa server ay inilarawan sa manwal na ito.

Bago tayo magsimula, nais kong banggitin na ang DNS ay maaaring mai-install nang may o walang chroot jail environment. Nililimitahan ng kapaligiran ng chroot jail ang DNS server sa isang partikular na direktoryo sa system, kumpara sa ganap na access ng system sa server. Sa ganitong paraan, hindi makokompromiso ng anumang kahinaan ng DNS server ang buong system. Ang paglilimita sa DNS server sa isang partikular na direktoryo (isang proseso na tinatawag na chrooting) ay kapaki-pakinabang din sa mga kapaligiran ng pagsubok.

Target

Magse-set up kami ng DNS server sa ilalim ng mga kundisyon ng pagsubok para sa example.tst domain, na isang hypothetical (non-existent) na domain. Sa ganitong paraan, hindi kami basta-basta manghihimasok sa anumang totoong domain.

Mayroong tatlong sumusunod na server sa domain na ito.

Server IP address Mga Serbisyong Naka-host FQDN
Server A 172.16.1.1 Mail mail.example.tst
Server B 172.16.1.2 Web, FTP www.example.tst
ftp.example.tst
Server C 172.16.1.3 Pangunahing DNS server ns1.example.tst

Iko-configure namin ang pangunahing DNS server at idagdag ang kinakailangang domain at mga tala ng DNS tulad ng ipinapakita sa talahanayan.

Pagse-set up ng mga hostname

Ang lahat ng mga host ay dapat na matukoy nang tama sa mga tuntunin ng FQDN. Magagawa ito gamit ang sumusunod na pamamaraan.

Ang mga gusto ng isang graphical na interface ay maaaring gumamit ng mga tool na NetworkManaget. Upang gawin ito, i-type ang command nmtui. Ang sumusunod na pseudo-graphical na interface ay magbubukas:

Piliin ang "Palitan ang pangalan ng host" at ilagay ang ns1.example.tst

Kapag handa na, i-click ang OK.

Isa pang paraan, sa isang utos lang:

Hostnamectl set-hostname ns1.example.tst

Kapag na-install na, maaaring suriin ang hostname gamit ang sumusunod na command.

# hostname ns1.example.tst

Katayuan ng Hostnamectl

Bago magpatuloy sa susunod na hakbang, siguraduhing ang hostname para sa lahat ng mga server ay nakatakda nang maayos.

Pag-install ng mga pakete

Gagamitin namin ang bind para sa DNS, na madaling itakda gamit ang yum command.

Pag-install ng DNS nang walang chroot:

# yum install bind

Pagtatakda ng DNS gamit ang chroot:

# yum install bind bind-chroot

Paghahanda ng mga configuration file

Tulad ng nabanggit kanina, ang bind ay maaaring i-configure nang may o walang chroot. Ang mga landas ay bahagyang nag-iiba depende sa kung ang chroot ay na-install.

Path sa configuration file Path sa zone file
Walang chroot /etc/ /var/named/
Kasama si chroot /var/named/chroot/etc/ /var/named/chroot/var/named/

Maaari mong gamitin ang name.conf configuration file, na ibinibigay bilang default. Gayunpaman, gagamit kami ng ibang halimbawang configuration file para sa kadalian ng paggamit.

Gumagawa ng backup na kopya ng /etc/named.conf file

Cp /etc/named.conf /etc/named.conf.bak

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /etc/named.conf

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf

Ngayon na mayroong isang backup na kopya ng configuration file, at ang orihinal na file mismo ay nabago, magpatuloy kami.

# vim /etc/named.conf

# vim /var/named/chroot/etc/named.conf

Ang mga sumusunod na linya ay idinagdag/binago.

Mga Opsyon ( ## path sa mga zone file ## direktoryo "/var/named"; ## mga kahilingan sa pagpapasa sa pampublikong DNS server ng Google para sa mga hindi lokal na domain ## mga forwarder ( 8.8.8.8; ); ); ## deklarasyon ng direktang zone halimbawa.tst ## zone "example.tst" IN ( type master; file "example-fz"; ## file para sa direct zone ay matatagpuan sa /var/named ## allow-update (wala;); ## deklarasyon ng reverse zone para sa network 172.16.1.0 ## zone "1.16.172.in-addr.arpa" IN ( type master; file "rz-172-16-1"; ## file para sa reverse zone ay matatagpuan sa /var /named ## allow-update ( wala; );

Paghahanda ng mga zone file

Ang mga file ng default na zone ay awtomatikong nilikha sa /var/named o /var/named/chroot/var/named (para sa chroot).

Ipagpalagay na ang mga default na zone file ay wala, maaari naming kopyahin ang mga sample na file mula sa /usr.

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/chroot/var/named

Malaki. Ngayon ang mga default na zone file ay handa na, gumawa kami ng sarili naming mga zone file halimbawa.tst at network 172.16.1.0. Habang gumagawa kami ng mga zone file, kailangan naming tandaan ang mga sumusunod.

  • Ang simbolo na '@' ay nangangahulugang NULL sa mga zone file.
  • Ang bawat entry na Fully Qualified Domain Name (FQDN) ay nagtatapos sa isang tuldok na '.' mail.example.tst. Kung walang punto, magkakaroon ng mga problema.

1. Direktang sona

Ang direktang zone ay naglalaman ng isang mapa ng mga pagsasalin mula sa mga pangalan hanggang sa mga IP address. Para sa mga pampublikong domain, ang mga DNS domain na naka-host sa mga serbisyo sa pagho-host ay nasa direct zone file.

# vim /var/named/example-fz

# vim /var/named/chroot/var/named/example-fz $TTL 1D @ SA SOA ns1.example.tst. mial.example.tst. (0; serial 1D; i-refresh ang 1H; muling subukan ang 1W; mag-expire 3H); minimum SA NS ns1.example.tst. SA ISANG 172.16.1.3 mail SA A 172.16.1.1 SA MX 10 mail.example.tst. www SA A 172.16.1.2 ns1 SA A 172.16.1.3 ftp SA CNAME www.example.tst.

Paliwanag: Sa loob ng isang zone file, ang SOA ay nagpapahiwatig ng pagsisimula ng awtorisasyon. Ito ang ganap na kwalipikadong domain name ng isang authoritative name server. Pagkatapos ng buong domain name mayroong isang contact email address. Dahil hindi natin magagamit ang '@' sa [email protected], muli naming isinusulat ang email address bilang mial.example.tst.

  • N.S.: Pangalan ng server
  • A: Ang record o address record ay isang IP address
  • MX: Mail Pagpasok ng exchanger. Dito gumagamit lang kami ng isang MX na may priority 10. Sa kaso ng maraming MX, maaari kaming gumamit ng iba't ibang mga digital na priyoridad. Panalo ang ibabang numero. Halimbawa, ang MX 0 ay mas mahusay kaysa sa MX 1.
  • CNAME: pangalan sa canonical form. Kung ang isang server ay nagho-host ng maraming mga serbisyo, malaki ang posibilidad na maraming mga pangalan ang mareresolba sa isang server. Ang CNAME ay nagpapahiwatig na ang server ay maaaring may iba pang mga pangalan at tumutukoy sa pangalang nakapaloob sa A record.

2. Reverse zone

Ang reverse zone ay naglalaman ng mapa ng mga conversion mula sa mga IP address patungo sa mga pangalan. Dito, lumikha kami ng reverse zone para sa network 172.16.1.0. Sa isang tunay na domain, ang DNS server ng may-ari ng pampublikong IP block ay nakapaloob sa reverse zone file.

# vim /var/named/rz-172-16-1

# vim /var/named/chroot/var/named/rz-172-16-1 $TTL 1D @ SA SOA ns1.example.tst. sarmed.example.tst. (0; serial 1D; i-refresh ang 1H; muling subukan ang 1W; mag-expire 3H); minimum SA NS ns1.example.tst. 1 SA PTR mail.example.tst. 2 SA PTR www.example.tst. 3 SA PTR ns1.example.tst.

Paliwanag: Karamihan sa mga parameter na ginamit sa reverse zone ay magkapareho sa forward zone, maliban sa isa.

  • PTR: PTR o pointer record, tumuturo ito sa ganap na kwalipikadong domain name

Pagkumpleto

Ngayon na handa na ang mga zone file, iko-configure namin ang resolution ng mga zone file.

# chgrp na pinangalanang /var/named/*

# chgrp na pinangalanang /var/named/chroot/var/named/*

Ngayon ay itatakda namin ang IP address ng DNS server.

# vim /etc/resolv.conf nameserver 172.16.1.3

Sa wakas, maaari nating simulan ang serbisyo ng DNS at tiyaking idinagdag ito sa autostart.

# serbisyo na pinangalanang i-restart ang # chkconfig na pinangalanan sa

Pagsubok sa DNS

Maaari naming gamitin ang dig o nslookup upang subukan ang DNS. Una, i-install namin ang mga kinakailangang pakete.

# yum install bind-utils

1. Direktang pagsubok sa zone gamit ang dig

# dig example.tst ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31184 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 86400 IN A 172.16.1.3 ;; AUTHORITY SECTION: example.com. 86400 IN NS ns1.example.com. ;; ADDITIONAL SECTION: ns1.example.com. 86400 IN A 172.16.1.3

2. Suriin ang PTR gamit ang dig

Kapag gumamit ka ng dig para sa pagsubok, dapat mong laging hanapin ang katayuang "NOERROR". Anumang ibang kundisyon ay nangangahulugan na may mali.

# dig -x 172.16.1.1 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27415 ;; QUESTION SECTION: ;1.1.17.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.1.16.172.in-addr.arpa. 86400 IN PTR mail.example.tst. ;; AUTHORITY SECTION: 1.16.172.in-addr.arpa. 86400 IN NS ns1.example.tst. ;; ADDITIONAL SECTION: ns1.example.tst. 86400 IN A 172.16.1.3

3. Sinusuri ang MX gamit ang dig

# dig example.tst mx ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35405 ;; QUESTION SECTION: ;example.tst. IN MX ;; ANSWER SECTION: example.tst. 14366 IN MX 10 mail.example.tst.

Mga Tip sa Paglutas ng Problema

  1. Na-disable ko ang SELinux.
  2. Tiyaking hindi hinaharangan ng iyong firewall ang UDP port 53
  3. Ang /var/log/messages ay dapat maglaman ng kapaki-pakinabang na impormasyon kung sakaling may mali
  4. Tiyaking 'pinangalanan' ng user ang may-ari ng mga zone file
  5. Tiyaking nakalista muna ang IP address ng DNS server sa /etc/resolv.conf
  6. Kung gumagamit ka ng example.tst sa isang lab environment, tiyaking idiskonekta ang server mula sa Internet dahil ang example.tst ay isang hindi umiiral na domain.

Upang buod, ang tutorial na ito ay nakatuon sa pagho-host ng example.tst na domain sa isang setting ng lab para sa mga layunin ng pagpapakita. Pakitandaan na hindi ito gabay sa paggawa ng pampublikong DNS server, gaya ng DNS server na tumutugon sa mga kahilingan mula sa anumang IP address. Kung nagse-set up ka ng production DNS server, tiyaking suriin kung aling mga patakaran ang nalalapat sa pampublikong DNS. Ang isa pang aralin ay sumasaklaw sa paglikha ng pangalawang DNS, paghihigpit sa pag-access sa DNS server, at pagpapatupad ng DNSSEC.

Ang Guarantor ay isang pinagkakatiwalaang tagapamagitan sa pagitan ng mga Kalahok sa panahon ng transaksyon.