DNS at DHCP sa CentOS 7 - SMB Networks

Pangkalahatang talaan ng serye: Mga Network ng Kompyuter para sa mga SME: Panimula

Magandang araw mga kaibigan! Sa artikulong ito, titingnan natin kung paano ipatupad ang mahahalagang serbisyo sa networking ng DNS at DHCP sa CentOS Linux, partikular na ang bersyon 7.2.

  • Ang ilang mga artikulo tungkol sa DNS ay tumutukoy sa katotohanan na ang pagpapatupad ng serbisyong ito ay medyo hindi nakakubli at mahirap. Hindi ako masyadong sumasang-ayon sa pahayag na iyon. Mas gugustuhin kong sabihin na ito ay medyo konseptwal at marami sa mga config file nito ang mayroong malusot na syntax. Sa kabutihang palad, mayroon kaming mga tool upang suriin, hakbang-hakbang, ang syntax ng bawat configure file na binago namin. Samakatuwid, susubukan naming gawing kaaya-aya at kasiya-siya ang pagbabasa sa post na ito..

Para sa mga naghahanap ng pangunahing konsepto tungkol sa parehong serbisyo, masidhi naming inirerekumenda na simulan mo ang iyong paghahanap sa Wikipedia, kapwa sa mga bersiyong Espanyol at Ingles. Hindi gaanong totoo na ang mga artikulo sa Ingles ay halos palaging mas kumpleto at magkakaugnay. Gayunpaman, ang Wikipedia ay isang napakahusay na panimulang punto.

Ang mga tunay na nagnanais matuto tungkol sa DNS at BIND ay pinapayuhang basahin ang aklat na " OReilly – DNS and BIND 4th ed " na isinulat nina Paul Albitz at Cricket Liu , o isang mas bagong edisyon na tiyak na mayroon pa.

Naglathala na kami ng isang artikulo tungkol sa paksang ito na pinamagatang " DNS at DHCP sa openSUSE 13.2 Harlequin – SME Networks " para sa mga mas gusto ang graphical na kapaligiran. Gayunpaman, sa mga susunod na panahon, makakatagpo ka ng mga artikulo tungkol sa paksang ito—ngunit hindi sa iba—na isinulat na may malawakang paggamit ng terminal o console emulator. Sa madaling salita, sa klasikong istilo na ginagamit ng mga UNIX®/Linux System Administrator.

Kung nais mong matuto nang higit pa tungkol sa paksa ng artikulong ito na " SMEs Networks ," maaari mong bisitahin ang pahinang " SMEs Networks: First Virtual Cut " sa blog ding ito . Makikita mo roon ang mga link sa maraming iba pang nailathalang artikulo.

  • Matapos ang pag-install ng CentOS 7 Operating System ay tapos na sa mga pakete na inirerekumenda namin, el direktoryo /usr/share/doc/bind-9.9.4/ Naglalaman ito ng isang mahusay na dami ng dokumentasyon na inirerekumenda namin na kumunsulta ka bago ka makipagsapalaran sa isang paghahanap sa Internet nang hindi mo muna nalalaman na, sa iyong mga kamay at sa iyong sariling tahanan, mahahanap mo ang hinahanap mo.

Pag-install ng base system

Pangkalahatang data ng domain at DNS server

Pangalan ng domain: desdelinux.fan
Pangalan ng DNS server: dns.desdelinux.fan
IP address: 192.168.10.5
Subnet mask: 255.255.255.0

Instalasyon

Magsisimula tayo sa isang bago o malinis na pag-install ng operating system ng CentOS 7, gaya ng inilarawan sa nakaraang artikulo na " CentOS 7 Hypervisor I – SME Networks ". Ang mga sumusunod na pagbabago lang ang kailangan nating gawin:

  • Sa Imagen 22 «SELECTION NG SOFTWARE«, Inirerekumenda namin ang pagpili sa kaliwang haligi«Batayang Kapaligiran»Ang pagpipilian na naaayon sa isang«Infrastructure server«, Habang nasa tamang hanay«Mga Plugin para sa Napiling Kapaligiran»Piliin ang check box«DNS name server«. I-install namin ang server ng DHCP sa paglaon.
  • Tandaan natin ang pagdedeklara ng mga karagdagang repository tulad ng ipinakita sa Imagen 23, pagkatapos itakda ang «NETWORK at PANGALAN NG TEAM".
  • Ang mga imaheng tumutukoy sa mga partisyon na gagawin namin sa aming hard drive ay ibinibigay lamang bilang mga gabay. Huwag mag-atubiling piliin ang mga partisyon sa iyong sariling paghuhusga, kasanayan, at mabuting pagpapasiya.
  • Panghuli, sa Larawan 13 «NETWORK & TEAM NAME»Dapat nating baguhin ang mga halaga ayon sa pangkalahatang mga parameter ng ipinahayag na domain at DNS server, nang hindi nalilimutang tukuyin ang pangalan ng host -sa kasong ito «dns«- matapos makumpleto ang pagsasaayos ng network. Ito ay positibong gawin i-ping -mula sa isa pang host- sa tinukoy na IP address pagkatapos ng network ay aktibo:

DNS at DHCP sa CentOS

Mayroong talagang kaunti at napaka halata na mga pagbabago na dapat nating gawin tungkol sa naunang artikulo.

Paunang pagsusuri at pagsasaayos

Matapos naming mai-install ang operating system dapat naming suriin ang mga sumusunod na file nang hindi bababa sa, at para dito nagsisimula kami ng isang sesyon sa pamamagitan ng SSH mula sa aming computer sysadmin.desdelinux.fan:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
[protektado ng email]password ni: Huling pag-login: Sab Ene 28 09:48:05 2017 mula sa 192.168.10.1
[buzz @ dns ~] $

Ang operasyon sa itaas ay maaaring tumagal ng mas mahaba kaysa sa normal, at higit sa lahat ito ay sanhi ng ang katunayan na wala pa kaming isang DNS sa LAN. Suriing muli sa ibang pagkakataon na gumagana ang DNS.

[buzz @ dns ~] $ cat / etc / host
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-script / 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 
# Binuo ng paghahanap sa NetworkManager desdelinux.fan nameserver 127.0.0.1

Ang mga pangunahing konpigurasyon ay sumasalamin sa aming mga napili. Tandaan na kahit sa isang Red Hat 7 – CentOS 7 server, ang NetworkManager ay naka-configure bilang default upang pamahalaan ang mga interface ng network, wired man o wireless (WiFi), mga koneksyon sa VPN, mga koneksyon sa PPPoE, at anumang iba pang koneksyon sa network.

[buzz @ dns ~] $ sudo systemctl status networkmanager
[sudo] password para sa buzz: ● networkmanager.service Loaded: not-found (Dahilan: Walang ganoong file o direktoryo) Aktibo: hindi aktibo (patay)

[buzz @ dns ~] $ sudo systemctl katayuan NetworkManager
● NetworkManager.service - Na-load ang Network Manager: na-load (/usr/lib/systemd/system/NetworkManager.service; pinagana; preset ng vendor: pinagana) Aktibo: aktibo (tumatakbo) mula noong Sat 2017-01-28 12:23:59 EST; 12 minuto ang nakalipas Main PID: 705 (NetworkManager) CGroup: /system.slice/NetworkManager.service └─705 / usr / sbin / NetworkManager --no-daemon

Pinapayagan ka rin ng Red Hat – CentOS na ikonekta at idiskonekta ang mga interface ng network gamit ang mga klasikong utos na `ifup` at `ifdown` . Patakbuhin natin ang mga sumusunod na utos sa isang server console:

[root @ dns ~] # ifdown eth0
Matagumpay na naidiskonekta ang aparato na 'eth0'.

[root @ dns ~] # ifup eth0
Matagumpay na na-aktibo ang koneksyon (D-Bus na aktibong landas: / org / freedesktop / NetworkManager / ActiveConnection / 1)
  • Iminumungkahi namin huwag baguhin ang mga default na setting na inaalok ng CentOS 7 tungkol sa NetworkManager.

Tukoy na idineklara namin ang mga repository na gagamitin namin at i-update ang operating system kung kinakailangan:

[buzz @ dns ~] $ su Password: [root @ dns buzz] # cd /etc/yum.repos.d/
[root @ dns yum.repos.d] # ls -l
kabuuang 28 -rw-r - r--. 1 ugat ng ugat 1664 Disyembre 9 2015 CentOS-Base.repo -rw-r - r--. 1 ugat ng ugat 1309 Dis 9 2015 CentOS-CR.repo -rw-r - r--. 1 ugat ng ugat 649 Dis 9 2015 CentOS-Debuginfo.repo -rw-r - r--. 1 ugat ng ugat 290 Dis 9 2015 CentOS-fasttrack.repo -rw-r - r--. 1 ugat na ugat 630 Dis 9 2015 CentOS-Media.repo -rw-r - r--. 1 ugat ng ugat 1331 Dis 9 2015 CentOS-Pinagmulan.repo -rw-r - r--. 1 ugat ng ugat 1952 Dis 9 2015 CentOS-Vault.repo

Mahusay na basahin ang mga nilalaman ng orihinal na mga file ng deklarasyon ng mga repositoryo na inirerekomenda ng CentOS. Ang mga pagbabagong ginagawa namin dito ay dahil sa katotohanang wala kaming access sa Internet, at nakikipagtulungan kami sa mga lokal na repositoryo na na-download mula sa WWW Village, ng mga kasamahan na nagpapadali sa aming buhay. 

[root @ dns yum.repos.d] # mkdir orihinal
[root @ dns yum.repos.d] # mv CentOS- * orihinal /

[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 malinis lahat
Na-load ang mga plugin: pinakamabilis na mirror, langpacks Nililinis ang mga imbakan: centos-base centos-update Nililinis ang lahat

[root @ dns yum.repos.d] # yum update
Mga na-load na plugin: pinakamabilis na sensor, centos-base langpacks | 3.4 kB 00:00 centos-update | 3.4 kB 00:00 (1/2): centos-base / primary_db | 5.3 MB 00:00 (2/2): mga centos-update / primary_db | 9.1 MB 00:00 Pagtukoy ng pinakamabilis na mga salamin Walang mga pakete na minarkahan para sa pag-update

Ang mensaheng "Walang mga paketeng minarkahan para sa pag-update" ay nagpapahiwatig na, sa pamamagitan ng pagdedeklara ng mga pinakabagong repository na magagamit habang nag-i-install, ang mga pinakabagong pakete ang na-install.

Tungkol sa konteksto ng SELinux at ang firewall

Tututuon namin ang artikulong ito - panimula - sa pagpapatupad ng mga serbisyo ng DNS at DHCP, na kung saan ay ang Pangunahing Layunin nito.

Kung may sinumang mambabasa na pumili ng Patakaran sa Seguridad habang isinasagawa ang proseso ng pag-install, gaya ng ipinapakita sa Larawan 06 ng artikulong sanggunian na " CentOS 7 Hypervisor I – SME Networks " na ginamit para sa pag-install ng DNS-DHCP server na ito, at natuklasang hindi nila alam kung paano maayos na i-configure ang SELinux at ang CentOS Firewall, iminumungkahi naming patakbuhin nila ang sumusunod:

Baguhin ang /etc/sysconfig/selinux file at palitan ang SELINUX=enforcing ng SELINUX=disable

[root @ dns ~] # nano / etc / sysconfig / selinux
# Kinokontrol ng file na ito ang estado ng SELinux sa system. # SELINUX = maaaring kunin ang isa sa tatlong halagang ito: # pagpapatupad - Ipinatupad ang patakaran sa seguridad ng SELinux. # nagpapahintulot - Nag-print ang SELinux ng mga babala sa halip na ipatupad. # hindi pinagana - Walang patakaran sa SELinux ang na-load.
SELINUX = hindi pinagana
# SELINUXTYPE = maaaring tumagal ng isa sa tatlong dalawang halaga: # naka-target - Protektado ang mga naka-target na proseso, # minimum - Pagbabago ng naka-target na patakaran. Ang mga napiling proseso lamang ang pr $ # mls - Proteksyon ng Multi Level Security. SELINUXTYPE = naka-target

Pagkatapos ay patakbuhin ang mga sumusunod na utos

[root @ dns ~] # setenforce 0
[root @ dns ~] # service firewalld stop
Ang pag-redirect sa / bin / systemctl ihinto ang firewalld.service

[root @ dns ~] # systemctl huwag paganahin ang firewalld
Inalis ang symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Inalis ang symlink /etc/systemd/system/basic.target.wants/firewalld.service.

Kung nagpapatupad ka ng isang DNS server na nakaharap sa internet, HINDI mo dapat sundin ang mga tagubilin sa itaas. Sa halip, i-configure nang tama ang konteksto at firewall ng SELinux. Sumangguni sa "Pag-configure ng mga Server gamit ang GNU/Linux" ni Joel Barrios Dueñas o sa dokumentasyon ng CentOS/Red Hat.

I-configure namin ang BIND - pinangalanan

  • El direktoryo /usr/share/doc/bind-9.9.4/ naglalaman ng isang mahusay na dami ng dokumentasyon na inirerekumenda naming kumonsulta ka bago maghanap sa isang paghahanap sa Internet nang hindi mo muna nalalaman na, sa iyong mga kamay at sa iyong sariling tahanan, mahahanap mo ang hinahanap mo

Sa maraming distribusyon, ang serbisyo ng DNS na naka-install sa pamamagitan ng BIND package ay tinatawag na pinangalanan ( Name Daemon ). Sa CentOS 7, naka-install ito nang naka-disable bilang default, tulad ng ipinapakita sa output ng sumusunod na command, na nagsasaad na ang estado nito ay " disabled ," at ang estadong ito ay paunang natukoy ng vendor- vendor preset nito . Tandaan na ang BIND ay Free Software.

Pagpapagana sa pinangalanang serbisyo

[root @ dns ~] # systemctl status na pinangalanan
● named.service - Berkeley Internet Name Domain (DNS) Loaded: load (/usr/lib/systemd/system/named.service; hindi pinagana; preset ng vendor: hindi pinagana) Aktibo: hindi aktibo (patay)

[root @ dns ~] # systemctl paganahin ang pinangalanan
Nilikha symlink mula sa /etc/systemd/system/multi-user.target.wants/named.service sa /usr/lib/systemd/system/named.service.

[root @ dns ~] # systemctl simulang pinangalanan

[root @ dns ~] # systemctl status na pinangalanan
● named.service - Berkeley Internet Name Domain (DNS) Loaded: load (/usr/lib/systemd/system/named.service; Pinagana; preset ng vendor: hindi pinagana)
   Aktibo: aktibo (tumatakbo) mula noong Sat 2017-01-28 13:22:38 EST; 5min ang nakalipas Proseso: 1990 ExecStart = / usr / sbin / pinangalanang -u na pinangalanang $ OPTIONS (code = exited, status = 0 / SUCCESS) Proseso: 1988 ExecStartPre = / bin / bash -c kung [! "$ DISABLE_ZONE_CHECKING" == "oo"]; pagkatapos / usr / sbin / pinangalanang-checkconf -z /etc/named.conf; kung hindi man ay echo "Ang pag-check ng mga file ng zone ay hindi pinagana"; fi (code = exited, status = 0 / SUCCESS) Pangunahing PID: 1993 (pinangalanang) CGroup: /system.slice/named.service └─1993 / usr / sbin / pinangalanang -u na pinangalanang Jan 28 13:22:45 dns pinangalanan [1993]: error (hindi maabot ang network) na nalulutas ang './NS/IN': 2001: 500: 2f :: f # 53 Ene 28 13:22:47 dns na pinangalanang [1993]: error (hindi maabot ang network) na nalulutas './ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 Ene 28: 13: 22 mga dns na pinangalanang [47]: error (hindi maabot ang network) na nalulutas' ./NS/IN ': 1993: 2001: 500 :: 3 # 42 Ene 53 28: 13: 22 pinangalanan ang mga dns [47]: error (hindi maabot ang network) na nalulutas ang './DNSKEY/IN': 1993: 2001: 500d :: d # 2 Ene 53 28:13:22 pinangalanan ang mga dns na [47 ]: error (hindi maabot ang network) paglutas ng './NS/IN': 1993: 2001: 500d :: d # 2 Ene 53 28:13:22 dns na pinangalanang [47]: error (hindi maabot ang network) na nalulutas './DNSKEY/ IN ': 1993: dc2001 :: 3 # 35 Jan 53 28:13:22 dns na pinangalanan [47]: error (hindi maabot ang network) na nalulutas' ./NS/IN ': 1993: dc2001 :: 3 # 35 Ene 53 28: 13:22 dns pinangalanang [47]: error (hindi maabot ang network) paglutas ng './DNSKEY/IN': 1993: 2001fe :: 7 # 53 Ene 53 28:13:22 pinangalanan ang mga dns [47]: error (hindi maabot ang network) res olving './NS/IN': 1993: 2001fe :: 7 # 53 Ene 53: 28:13 dns pinangalanang [22]: pinamamahalaang-key-zone: Hindi makuha ang set ng DNSKEY '.': nag-time out

[root @ dns ~] # systemctl restart na pinangalanan

[root @ dns ~] # systemctl status na pinangalanan
● named.service - Berkeley Internet Name Domain (DNS) Loaded: load (/usr/lib/systemd/system/named.service; pinagana; preset ng vendor: hindi pinagana)
   Aktibo: aktibo (tumatakbo) mula noong Sat 2017-01-28 13:29:41 EST; 1s ang nakalipas Proseso: 1449 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (code = exited, status = 0 / SUCCESS) Proseso: 1460 ExecStart = / usr / sbin / pinangalanang -u na pinangalanang $ OPTIONS (code = exited, status = 0 / SUCCESS) Proseso: 1457 ExecStartPre = / bin / bash -c kung [! "$ DISABLE_ZONE_CHECKING" == "oo"]; pagkatapos / usr / sbin / pinangalanang-checkconf -z /etc/named.conf; iba pa ang echo na "Ang pag-check ng mga file ng zone ay hindi pinagana"; fi (code = exited, status = 0 / SUCCESS) Pangunahing PID: 1463 (pinangalanang) CGroup: /system.slice/named.service └─1463 / usr / sbin / pinangalanang -u na pinangalanang Ene 28 13:29:41 pinangalanan ang mga dns [1463]: pinamamahalaang-mga-key-zone: ang file ng journal ay wala na sa panahon: pag-aalis ng file ng journal Enero 28 13:29:41 dns na pinangalanang [1463]: pinamamahalaang-mga-key-zone: na-load ng serial Jan 2 28 13:29:41 dns pinangalanang [1463]: zone 0.in-addr.arpa/IN: na-load ng serial 0 Ene 28 13:29:41 dns pinangalanang [1463]: zone localhost.localdomain / IN: na-load ng serial 0 Ene 28:13 29:41:1463 dns pinangalanang [1.0.0.127]: zone 0.in-addr.arpa/IN: na-load na serial 28 Ene 13 29:41:1463 dns na pinangalanang [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]: zone 6 .0.ip28.arpa / IN: na-load ng serial 13 Ene 29 41 1463:0:28 dns pinangalanang [13]: zone localhost / IN: load serial 29 Ene 41 1463 : 28: 13 dns pinangalanang [29]: lahat ng mga zone ay na-load Enero 41 1463:28:13 dns pinangalanang [29]: tumatakbo Enero 41 1:XNUMX:XNUMX dns systemd [XNUMX]: Sinimulan ang Berkeley Internet Name Domain (DNS).

Matapos paganahin at simulan ang named service sa unang pagkakataon, ang output ng command na `systemctl status named` ay magpapakita ng mga error. Kapag ni-restart natin ang serbisyo, ang named ang gagawa ng lahat ng configuration file na kailangan nito para gumana nang tama bilang default. Samakatuwid, kapag pinatakbo natin muli ang command na `systemctl status named` , wala nang iba pang error na ipapakita.

  • Minamahal, mahal, at hinihingi na Mambabasa: kung gusto mong malaman -kahit- kung aling landas ang patungo sa dulo ng butas ng kuneho, mangyaring, mahinahon na basahin ang mga detalyadong output ng bawat utos.  Tiyak na ang artikulo ay mukhang medyo mahaba, ngunit hindi mo itatanggi na ito ay nakakakuha ng paliwanag at kalinawan.

Binabago namin ang file /etc/named.conf

Maraming komento ng mambabasa ang nagpapahayag— at hindi lang ako ang nagsasabi nito —ng ugali ng mga tagapangasiwa ng iba't ibang distribusyon ng Linux na maglagay ng mga system configuration file sa mga folder na may iba't ibang pangalan depende sa distro. Tama sila. Pero ano nga ba ang magagawa natin, na mga ordinaryong gumagamit ng mga distribusyon na ito? Mag-adapt! 😉

Hindi nga pala, sa FreeBSD, isang clone ng UNIX® "The Origin," ang file ay matatagpuan sa /usr/local/etc/namedb/named.conf ; habang sa Debian, bukod sa nahahati ito sa apat na file na named.conf, named.conf.options, named.conf.default-zones, at named.conf.local , ito ay matatagpuan sa folder na /etc/bind/ . Para sa mga gustong malaman kung saan ito inilalagay ng openSUSE, dapat basahin ang " DNS and DHCP in openSUSE 13.2 Harlequin – SME Networks ." Tama ang mga mambabasa! 😉

At gaya ng lagi naming ginagawa: bago baguhin ang anuman, sine-save namin ang orihinal na configuration file sa ilalim ng ibang pangalan.

[root @ dns ~] # cp /etc/named.conf /etc/named.conf.original

Para mas mapadali ang mga bagay-bagay, sa halip na gumawa ng TSIG key para sa mga dynamic DNS update sa pamamagitan ng DHCP, kinokopya natin ang parehong rndc.key gaya ng dhcp.key.

[root @ dns ~] # cp /etc/rndc.key /etc/dhcp.key

[root @ dns ~] # nano /etc/dhcp.key
key "dhcp-key" {algorithm hmac-md5; lihim na "OI7Vs + TO83L7ghUm2xNVKg =="; };

Para mabasa ng pinangalanang user ang bagong kinopyang file, binabago namin ang nagmamay-ari nitong grupo:

[root @ dns ~] # chown root: pinangalanang /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 ugat na pinangalanang 77 Enero 28 16:36 PM /etc/dhcp.key -rw-r -----. 1 ugat na pinangalanang 77 Enero 28 13:22 /etc/rndc.key

Ang mga maliliit na detalye tulad ng naunang isa ay kung ano ang maaaring makapagbaliw sa atin na sinusubukan na malaman, ngayon ... nasaan ang problema ...? na may ilang mga pang-uri, na hindi namin isinusulat bilang paggalang sa Kagalang-galang.

Ngayon, sa wakas, binago na natin ang /etc/named.conf file . Ang mga pagbabago o karagdagan na ginawa natin, kumpara sa orihinal, ay naka- bold . Tandaan na kakaunti lamang ang mga.

[root @ dns ~] # nano /etc/named.conf
// // named.conf // // Ibinigay ng Red Hat bind package upang mai-configure ang ISC BIND na pinangalanang (8) DNS // server bilang isang nameserver lamang ng pag-cache (bilang isang resolver na localhost DNS lamang). // // See / usr / share / doc / bind * / sample / halimbawa halalan ng mga file ng pagsasaayos. //

// Listahan ng Kontrol sa Access na nagdedeklara kung aling mga network ang makakonsulta
// pinangalanan ang aking server
tumingin si acl {
 127.0.0.0 / 8;
 192.168.10.0 / 24;
};

mga pagpipilian {
 // Ipinahayag ko na ang pinangalanang daemon ay nakikinig din para sa interface
 // eth0 na mayroong IP: 192.168.10.5
    makinig sa daungan 53 {127.0.0.1; 192.168.10.5; };
    makinig-sa-v6 port 53 {:: 1; }; direktoryo "/ var / Pinangalanang"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt";

 // Forwarders statement
 // tagapagbalita {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // forward muna;

    // Pinapayagan ko lang ang mga query sa aking naka-ACL na AC
    allow-query { mired; }; // Upang suriin gamit ang dig command desdelinux.fan axfr // mula sa SysAdmin workstation at localhost lang // Wala kaming slave DNS server. Hindi natin ito kailangan...hanggang ngayon.
 payagan-ilipat ang {localhost; 192.168.10.1; };

    / * - Kung nagtatayo ka ng isang AUTHORITATIVE DNS server, HUWAG paganahin ang recursion. - Kung nagtatayo ka ng isang RecURSIVE (caching) DNS server, kailangan mong paganahin ang recursion. - Kung ang iyong recursive DNS server ay may isang pampublikong IP address, DAPAT mong paganahin ang kontrol sa pag-access upang limitahan ang mga query sa iyong mga lehitimong gumagamit. Ang kabiguang gawin ito ay magiging sanhi ng iyong server na maging bahagi ng mga malalaking pag-atake sa paglaki ng DNS. Ang pagpapatupad ng BCP38 sa loob ng iyong network ay lubos na mabawasan ang naturang atake sa ibabaw * /
    // Gusto namin ng isang server ng AUTHORITY para sa aming LAN - SME
    hindi recursion;

    dnssec-paganahin ang oo; dnssec-pagpapatunay oo; / * Landas sa key ng ISC DLV * / bindkeys-file na "/etc/named.iscdlv.key"; pinamamahalaang-mga susi-direktoryo "/ var / Pinangalanang / pabago-bagong"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; pag-log sa {channel default_debug {file "data / named.run"; dinamikong kalubhaan; }; }; zone "." SA {type hint; file na "named.ca"; }; isama ang "/etc/named.rfc1912.zones"; isama ang "/etc/named.root.key";

// Isinasama namin ang TSIG key para sa mga pabago-bagong pag-update ng DNS // ng DHCP
isama ang "/etc/dhcp.key";

// Pagdeklara ng pangalan, uri, lokasyon, at pahintulot sa pag-update
// ng DNS Records Zones // Parehong Mga Zone ay MASTERS
zone"desdelinux.fan" {
 type master;
 file na "dynamic/db.desdelinux.fan";
 payagan-i-update ang {key dhcp-key; };
};

zone "10.168.192.in-addr.arpa" {
 type master;
 file "Dynamic / db.10.168.192.in-addr.arpa";
 payagan-i-update ang {key dhcp-key; };
};

Sinusuri namin ang syntax

[root @ dns ~] # pinangalanang-checkconf 
[root @ dns ~] #

Dahil walang ibinalik ang naunang utos, ayos lang ang syntax. Gayunpaman, kung gagamitin natin ang parehong utos, ngunit gamit ang opsyong -z , ang magiging output ay:

[root @ dns ~] # pinangalanang-checkconf -z
zone localhost.localdomain/IN: load serial 0 zone localhost/IN: load serial 0 zone 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: load serial 0 zone 1.0.0.127.in-addr.arpa/IN: load serial 0 zone 0.in-addr.arpa/IN: loaded serial 0 zone desdelinux.fan/IN: naglo-load mula sa master file na dynamic/db.desdelinux.fan failed: file not found zone desdelinux.fan/IN: hindi na-load dahil sa mga error. _default/desdelinux.fan/IN: file not found zone 10.168.192.in-addr.arpa/IN: loading from master file dynamic/db.10.168.192.in-addr.arpa failed: file not found zone 10.168.192.in- addr.arpa/IN: hindi na-load dahil sa mga error. _default/10.168.192.in-addr.arpa/IN: hindi nahanap ang file

Siyempre ang mga ito ay mga error na nagaganap sapagkat hindi pa namin nalilikha ang Mga Rehistrasyon ng DNS para sa aming domain.

  • Para sa karagdagang impormasyon tungkol sa utos pinangalanang-checkconf, patakbo lalaking nagngangalang-checkconf, bago maghanap ng anumang iba pang impormasyon sa Internet. Tinitiyak ko sa iyo na makatipid ito ng maraming oras.

Ginagawa namin ang Direct Zone file desdelinux.fan

…ngunit hindi nang walang kaunting teorya. 

Bilang template para sa paggawa ng zone data file, maaari nating gamitin ang alinman sa /var/named/named.empty o /usr/share/doc/bind-9.9.4/sample/var/named/named.empty . Parehong magkapareho.

[root @ dns ~] # cat /var/named/named.empty 
$ TTL 3H @ IN SOA @ rname.invalid. (0; serial 1D; i-refresh ang 1H; subukang muli ang 1W; mag-expire ang 3H); minimum o Negatibong oras ng pag-cache upang mabuhay ang NS @ A 127.0.0.1 AAAA :: 1

Oras ng buhay - Oras upang mabuhay TTL Record ng SOA

Maglaan tayo ng ilang sandali upang ipaliwanag ang TTL – Time to Live – ng SOA – Start of Authority record para sa isang Master Zone. Ang pag-unawa sa kahulugan ng mga ito ay kapaki-pakinabang kapag gusto nating baguhin ang alinman sa mga value ng mga ito.

$TTL : Panahon na para mabuhay – Panahon na para mabuhay para sa lahat ng rekord sa file kasunod ng deklarasyon (ngunit nauuna sa anumang iba pang deklarasyon ng $TTL) at na walang tahasang deklarasyon ng TTL.

Serial : Ang serial number ng datos ng zone. Sa tuwing mano-mano nating binabago ang isang DNS record sa isang zone, dapat nating dagdagan ang numerong ito ng 1, lalo na kung mayroon tayong mga slave o secondary server. Sa tuwing makikipag-ugnayan ang isang secondary o slave DNS server sa master server nito, hihilingin nito ang serial number ng datos ng master. Kung mas mababa ang serial number ng slave, ang datos para sa zone na iyon sa slave server ay luma na, at ang slave ay nagsasagawa ng zone transfer upang i-update ito.

refresh : Sinasabi sa slave server ang agwat ng oras kung kailan dapat nitong suriin kung ang data nito ay napapanahon kaugnay ng master.

retry : Kung ang master server ay hindi magagamit - dahil nagkasakit ito, sabihin nating - sa slave pagkatapos ng agwat ng oras ng pag-refresh , sinasabi ng retry sa slave kung gaano katagal maghihintay bago subukang kontakin muli ang master nito.

Mag-expire : Kung hindi makontak ng slave server ang master server nito sa loob ng isang tinukoy na agwat ng oras , masisira ang ugnayan ng slave-master zone, at walang magagawa ang slave server kundi i-expire ang zone na pinag-uusapan. Ang pag-expire ng zone ng isang slave DNS server ay nangangahulugan na hihinto ito sa pagtugon sa mga DNS query na may kaugnayan sa zone na iyon dahil ang magagamit na data ay masyadong luma na para maging kapaki-pakinabang.

  • Ang nasa itaas ay nagtuturo sa amin nang hindi direkta at na-load ng mahusay na bait-ang pinakakaunawa ng mga pandama- na kung hindi namin kailangan ng mga server ng alipin DNS para sa pagpapatakbo ng aming SME, hindi namin ito ipapatupad, maliban kung mahigpit silang kinakailangan. Palaging subukan nating pumunta mula sa simple hanggang sa kumplikado.

minimum : Sa mga bersyon bago ang BIND 8.2 , ang huling tala ng SOA ay nagpapahiwatig din ng Default na oras para mabuhay at ang Negatibong oras para mabuhay sa caching para sa Zone. Ang oras na ito ay tumutukoy sa lahat ng negatibong tugon na ibinigay ng awtoritatibong server para sa Zone.

Zone file /var/named/dynamic/db.desdelinux.fan

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.fan
$TTL 3H @ SA SOA dns.desdelinux.fan. ugat.dns.desdelinux.fan. ( 1 ; serial 1D ; refresh 1H ; muling subukan ang 1W ; expire 3H ); pinakamababa o ; Negatibong oras ng pag-cache upang mabuhay; @ SA NS dns.desdelinux.fan. @ IN MX 10 email.desdelinux.fan. @ SA TXT "Mula saLinux, ang iyong Blog na nakatuon sa Libreng Software"; sysadmin SA A 192.168.10.1 ad-dc SA A 192.168.10.3 fileserver SA A 192.168.10.4 dns SA A 192.168.10.5 proxyweb SA A 192.168.10.6 blog SA 192.168.10.7 blog SA 192.168.10.8 192.168.10.9 mail SA A XNUMX

Sinusuri namin ang /var/named/dynamic/db.desdelinux.fan

[root@dns ~]# name-checkzone desdelinux.fan /var/named/dynamic/db.desdelinux.fan
sona desdelinux.fan/IN: load serial 1 OK

Lumilikha kami ng file ng Reverse Zone 10.168.192.in-addr.arpa

  • Ang tala ng SOA ng Zone na ito ay kapareho ng direktang Zone nang hindi isinasaalang-alang ang tala ng MX..
[root @ dns ~] # nano /var/named/dynamic/db.10.168.192.in-addr.arpa
$TTL 3H @ SA SOA dns.desdelinux.fan. ugat.dns.desdelinux.fan. ( 1 ; serial 1D ; refresh 1H ; muling subukan ang 1W ; expire 3H ); pinakamababa o ; Negatibong oras ng pag-cache upang mabuhay; @ SA NS dns.desdelinux.fan. ; 1 SA PTR sysadmin.desdelinux.fan. 3 SA PTR ad-dc.desdelinux.fan. 4 SA PTR fileserver.desdelinux.fan. 5 SA PTR dns.desdelinux.fan. 6 SA PTR proxyweb.desdelinux.fan. 7 SA PTR blog.desdelinux.fan. 8 SA PTR ftpserver.desdelinux.fan. 9 SA PTR mail.desdelinux.fan.

[root @ dns ~] # pinangalanang-checkzone 10.168.192.in-addr.arpa /var/named/dynamic/db.10.168.192.in-addr.arpa 
zone 10.168.192.in-addr.arpa/IN: na-load ang serial 1 OK

Bago i-restart ang pinangalanan suriin namin ang pagsasaayos nito

  • Hanggang sa natitiyak namin na ang mga pinangalanang mga file ng pagsasaayos, names.conf, at ang mga file ng zone ay hindi na-configure nang tama, iminumungkahi namin na huwag muling simulan ang pinangalanang daemon. Kung gagawin natin ito at sa paglaon ay magbago ng isang file ng zone, dapat nating taasan ang serial number ng binagong zone ng 1.
  • Tingnan natin ang "." sa pagtatapos ng mga pangalan ng domain at host.
[root @ dns ~] # pinangalanang-checkconf 
[root @ dns ~] # pinangalanang-checkconf -z
zone localhost.localdomain/IN: load serial 0 zone localhost/IN: load serial 0 zone 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: load serial 0 zone 1.0.0.127.in-addr.arpa/IN: load serial 0 zone 0.in-addr.arpa/IN: loaded serial 0 zone desdelinux.fan/IN: load serial 1 zone 10.168.192.in-addr.arpa/IN: load serial 1

Lahat ng kasalukuyang pagngangalang pagsasaayos

Para sa kalinawan, at kahit na hahaba ang artikulo, ibibigay namin ang kumpletong output ng utos na pinangalanang-checkconf -zp :

[root @ dns ~] # pinangalanang-checkconf -zp
zone localhost.localdomain/IN: load serial 0 zone localhost/IN: load serial 0 zone 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: load serial 0 zone 1.0.0.127.in-addr.arpa/IN: load serial 0 zone 0.in-addr.arpa/IN: loaded serial 0 zone desdelinux.fan/IN: load serial 1 zone 10.168.192.in-addr.arpa/IN: load serial 1 options { bindkeys-file "/etc/named.iscdlv.key"; session-keyfile "/run/named/session.key"; direktoryo na "/var/named"; dump-file "/var/named/data/cache_dump.db"; listen-on port 53 { 127.0.0.1/32; 192.168.10.5/32; }; listen-on-v6 port 53 { ::1/128; }; pinamamahalaang-keys-directory "/var/named/dynamic"; memstatistics-file "/var/named/data/named_mem_stats.txt"; pid-file "/run/named/named.pid"; statistics-file "/var/named/data/named_stats.txt"; dnssec-enable yes; dnssec-validation yes; recursion no; allow-query { "pinanood"; }; allow-transfer { 192.168.10.1/32; }; }; acl "napanood" { 127.0.0.0/8; 192.168.10.0/24; }; pag-log { channel "default_debug" { file "data/named.run"; dynamic na kalubhaan; }; }; key "dhcp-key" { algorithm "hmac-md5"; sikreto "OI7Vs+TO83L7ghUm2xNVKg=="; }; zone "." SA { uri ng pahiwatig; file na "named.ca"; }; zone "localhost.localdomain" SA { type master; file na "named.localhost"; allow-update { "wala"; }; }; zone "localhost" SA { type master; file na "named.localhost"; allow-update { "wala"; }; }; zone "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" SA { type master; file na "named.loopback"; allow-update { "wala"; }; }; zone "1.0.0.127.in-addr.arpa" SA { type master; file na "named.loopback"; allow-update { "wala"; }; }; zone "0.in-addr.arpa" SA { type master; file na "named.empty"; allow-update { "wala"; }; }; zone"desdelinux.fan" { type master; file "dynamic/db.desdelinux.fan"; allow-update { key "dhcp-key"; }; }; zone "10.168.192.in-addr.arpa" { type master; file "dynamic/db.10.168.192.in-addr.arpa "; allow-update { key "dhcp-key"; }; }; pinamamahalaang-keys { "." initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6wEd58rBGCj0vQUTf0wEd8rBGCj0 2NfnfL37MTJRkxoX bfDaUeVPQuYEhg9NZWAJQ496VnMVDxP/VHL5M/QZxkjf2/Efucp6gaD F6dsV68DoBQzgul0sGIcGOYl1OyQdXfZ9relS Qageu7mLqPdJfJoyl6OyQdXfZ3relS Qageu5mLypNGAdJoys B2N8knNnulq QxA +Uk6ihz6="; };
  • Kasunod sa pamamaraan ng pagbabago ng pinangalanan.conf Ayon sa aming mga pangangailangan at suriin, at likhain ang bawat file ng zone at suriin ito, nagdududa kami na haharapin namin ang mga pangunahing problema sa pagsasaayos. Sa huli napagtanto namin na ito ay laro ng isang lalaki, na may maraming mga konsepto at fussy syntax. 

Ang mga pagsusuri ay nagbalik ng kasiya-siyang resulta, kaya maaari nating i-restart ang BIND – na pinangalanang.

I-restart namin ang pinangalanan at suriin ang katayuan nito

[root @ dns ~] # systemctl restart na pinangalanan. serbisyo
[root @ dns ~] # systemctl status na pinangalanan.service

Kung makakakuha ka ng anumang mga error sa output ng huling utos, dapat mong i-restart ang named.service at suriin muli ang katayuan nito . Kung nawala ang mga error, matagumpay na nagsimula ang serbisyo. Kung hindi, dapat mong maingat na suriin ang lahat ng binago at nilikhang mga file at ulitin ang pamamaraan.

Ang tamang output ng katayuan ay dapat na:

[root @ dns ~] # systemctl status na pinangalanan.service
● named.service - Berkeley Internet Name Domain (DNS) Loaded: load (/usr/lib/systemd/system/named.service; pinagana; preset ng vendor: hindi pinagana) Aktibo: aktibo (tumatakbo) mula Linggo 2017-01-29 10:05:32 EST; 2min 57s ang nakalipas Proseso: 1777 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS) Proseso: 1788 ExecStart=/usr/sbin/named -u na pinangalanang $OPTIONS (code=exited, status=0/SUCCESS) Proseso: 1786 ExecStartPre =/bin/bash -c kung [ ! "$DISABLE_ZONE_CHECKING" == "oo" ]; pagkatapos /usr/sbin/named-checkconf -z /etc/named.conf; else echo "Ang pagsuri ng mga zone file ay hindi pinagana"; fi (code=exited, status=0/SUCCESS) Pangunahing PID: 1791 (pinangalanan) CGroup: /system.slice/named.service └─1791 /usr/sbin/named -u na pinangalanang Jan 29 10:05:32 dns na pinangalanan [1791]: zone 1.0.0.127.in-addr.arpa/IN: load serial Ene 0 29 10:05:32 dns named[1791]: zone 10.168.192.in-addr.arpa/IN: load serial Ene 1 29 10:05:32 dns na pinangalanan[1791]: zone 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 : load serial 0 Ene 29 10:05:32 dns na pinangalanan[1791]: zone desdelinux.fan/IN: load serial Jan 1 29 10:05:32 dns named[1791]: zone localhost.localdomain/IN: load serial Jan 0 29 10:05:32 dns named[1791]: zone localhost/IN: loaded serial 0 Ene 29 10:05:32 dns na pinangalanan[1791]: ang lahat ng mga zone na-load
Ene 29 10:05:32 dns pinangalanan [1791]: tumatakbo
Ene 29 10:05:32 dns systemd [1]: Sinimulan ang Berkeley Internet Name Domain (DNS). Ene 29 10:05:32 dns pinangalanang [1791]: zone 10.168.192.in-addr.arpa/IN: nagpapadala ng mga abiso (serial 1)

Mga tseke

Ang mga tseke ay maaaring patakbuhin sa parehong server o sa isang makina na nakakonekta sa LAN. Mas gusto naming gawin ang mga ito mula sa koponan sysadmin.desdelinux.fan kung saan binigyan namin ng malinaw na pahintulot upang magawa nito ang Mga Paglipat ng Zone. Ang file /etc/resolv.conf ng koponan na iyon ang sumusunod:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# Binuo ng paghahanap sa NetworkManager desdelinux.fan nameserver 192.168.10.5

buzz@sysadmin:~$ dig desdelinux.fan axfr
; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> desdelinux.fan axfr ;; pandaigdigang mga opsyon: +cmd
desdelinux.fan. 10800 SA SOA dns.desdelinux.fan. ugat.dns.desdelinux.fan. 1 86400 3600 604800 10800
desdelinux.fan. 10800 SA NS dns.desdelinux.fan.
desdelinux.fan. 10800 IN MX 10 email.desdelinux.fan.
desdelinux.fan. 10800 IN TXT "Mula sa Linux, ang iyong Blog na nakatuon sa Libreng Software" ad-dc.desdelinux.fan. 10800 SA 192.168.10.3 blog.desdelinux.fan. 10800 SA A 192.168.10.7 dns.desdelinux.fan. 10800 IN TO 192.168.10.5 fileserver.desdelinux.fan. 10800 SA A 192.168.10.4 ftpserver.desdelinux.fan. 10800 SA A 192.168.10.8 mail.desdelinux.fan. 10800 SA A 192.168.10.9 proxyweb.desdelinux.fan. 10800 SA A 192.168.10.6 sysadmin.desdelinux.fan. 10800 IN TO 192.168.10.1
desdelinux.fan. 10800 SA SOA dns.desdelinux.fan. ugat.dns.desdelinux.fan. 1 86400 3600 604800 10800 ;; Oras ng pagtatanong: 0 msec ;; SERVER: 192.168.10.5#53(192.168.10.5) ;; KAILAN: Linggo Ene 29 11:44:18 EST 2017 ;; Laki ng XFR: 13 record (mga mensahe 1, bytes 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 ;; pandaigdigang opsyon: +cmd 10.168.192.in-addr.arpa. 10800 SA SOA dns.desdelinux.fan.10.168.192.in-addr.arpa. ugat.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 10.168.192.in-addr.arpa. 10800 SA NS dns.desdelinux.fan. 1.10.168.192.in-addr.arpa. 10800 SA PTR sysadmin.desdelinux.fan. 3.10.168.192.in-addr.arpa. 10800 SA PTR ad-dc.desdelinux.fan. 4.10.168.192.in-addr.arpa. 10800 SA PTR fileserver.desdelinux.fan. 5.10.168.192.in-addr.arpa. 10800 SA PTR dns.desdelinux.fan. 6.10.168.192.in-addr.arpa. 10800 SA PTR proxyweb.desdelinux.fan. 7.10.168.192.in-addr.arpa. 10800 SA PTR blog.desdelinux.fan. 8.10.168.192.in-addr.arpa. 10800 SA PTR ftpserver.desdelinux.fan. 9.10.168.192.in-addr.arpa. 10800 SA PTR mail.desdelinux.fan. 10.168.192.in-addr.arpa. 10800 SA SOA dns.desdelinux.fan.10.168.192.in-addr.arpa. ugat.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 ;; Oras ng pagtatanong: 0 msec ;; SERVER: 192.168.10.5#53(192.168.10.5) ;; KAILAN: Linggo Ene 29 11:44:57 EST 2017 ;; Laki ng XFR: 11 record (mga mensahe 1, bytes 352)

buzz@sysadmin:~$ maghukay SA SOA desdelinux.fan
buzz@sysadmin:~$ dig IN MX desdelinux.fan buzz@sysadmin:~$ dig IN TXT desdelinux.fan
buzz @ sysadmin: ~ $ host dns
dns.desdelinuxAng .fan ay may address na 192.168.10.5
buzz @ sysadmin: ~ $ host sysadmin
sysadmin.desdelinuxAng .fan ay may address na 192.168.10.1 ... At anumang iba pang mga pagsusuri na kailangan namin
  • Sa ngayon, mayroon kaming batayan para sa isang DNS server sa aming SME network. Umaasa kami na nasiyahan ka sa buong pamamaraan, na medyo simple, tama? 

Nag-install at nag-configure kami ng DHCP

[root @ dns ~] # yum install dhcp
Mga na-load na plugin: pinakamabilis na sensor, centos-base langpacks | 3.4 kB 00:00:00 centos-update | 3.4 kB 00:00:00 Nilo-load ang mga bilis ng salamin mula sa naka-cache na hostfile Paglutas ng mga dependency -> Pagpapatakbo ng pagsubok sa transaksyon ---> Package dhcp.x86_64 12: 4.2.5-42.el7.centos dapat na mai-install -> Paglutas ng mga dependency winakasan ang Nalutas na Mga Dependensya ==== ==== ==================================== Laki ng Repository ng Bersyon ng Package ng Arkitektura ==== ==== =________________________________________________________ =________________________________________ Pag-install: dhcp x86_64 12: 4.2.5-42.el7.centos-base 511k Buod ng Transaksyon ==== ==== =________________________________________________________ =________________________________________ I-install ang 1 Package Kabuuang laki ng pag-download: 511k Na-install na laki: 1.4 M Ok lang ba ito [y / d / N]: y Pag-download ng mga package: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 Pagpapatakbo ng tseke sa transaksyon Pagpapatakbo ng pagsubok sa transaksyon Nagtagumpay ang pagsubok sa transaksyon Pagpapatakbo ng transaksyon: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Checking: 12: dhcp-4.2.5-42. el7.centos.x86_64 1/1 Nai-install: dhcp.x86_64 12: 4.2.5-42.el7.centos Tapos na!

[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page # ddns-update-style interim; ddns-update sa; ddns-domainname "desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; huwag pansinin ang client-updates; authoritative; option ip-forwarding off; option domain-name "desdelinux.fan"; # option ntp-servers 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; isama ang "/etc/dhcp.key" ; sona desdelinux.fan. { pangunahing 127.0.0.1; key dhcp-key; } zone 10.168.192.in-addr.arpa. { pangunahing 127.0.0.1; key dhcp-key; } shared-network redlocal { subnet 192.168.10.0 netmask 255.255.255.0 { option routers 192.168.10.1; opsyon subnet-mask 255.255.255.0; opsyon broadcast-address 192.168.10.255; opsyon domain-name-servers 192.168.10.5; opsyon netbios-name-servers 192.168.10.5; saklaw 192.168.10.30 192.168.10.250; } } # END dhcpd.conf

[root @ dns ~] # dhcpd -t
Internet Systems Consortium DHCP Server 4.2.5 Copyright 2004-2013 Internet Systems Consortium. Nakalaan ang lahat ng mga karapatan. Para sa impormasyon, mangyaring bisitahin ang https://www.isc.org/software/dhcp/ Hindi naghahanap ng LDAP dahil ang ldap-server, ldap-port at ldap-base-dn ay hindi tinukoy sa config file

[root @ dns ~] # systemctl paganahin ang dhcpd
Nilikha symlink mula sa /etc/systemd/system/multi-user.target.wants/dhcpd.service sa /usr/lib/systemd/system/dhcpd.service.

[root @ dns ~] # systemctl simulan ang dhcpd

[root @ dns ~] # systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon Loaded: load (/usr/lib/systemd/system/dhcpd.service; pinagana; preset ng vendor: hindi pinagana) Aktibo: aktibo (tumatakbo) mula dom 2017-01-29 12:04:59 ITS T; 23s nakaraan Docs: man: dhcpd (8) man: dhcpd.conf (5) Pangunahing PID: 2381 (dhcpd) Katayuan: "Nagpapadala ng mga packet ..." CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid Jan 29 12:04:59 dns dhcpd [2381]: Internet Systems Consortium DHCP Server 4.2.5 Ene 29 12 : 04: 59 dns dhcpd [2381]: Copyright 2004-2013 Internet Systems Consortium. Enero 29 12:04:59 dns dhcpd [2381]: Nakalaan ang lahat ng mga karapatan. Enero 29 12:04:59 dns dhcpd [2381]: Para sa impormasyon, mangyaring bisitahin ang https://www.isc.org/software/dhcp/ Ene 29 12:04:59 dns dhcpd [2381]: Hindi naghahanap ng LDAP mula nang ldap -server, ldap-port at ldap-base-dn ay hindi tinukoy sa config file Jan 29 12:04:59 dns dhcpd [2381]: Sumulat ng 0 mga lease upang mai-lease ang file. Ene 29 12:04:59 dns dhcpd [2381]: Pakikinig sa LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal Jan 29 12:04:59 dns dhcpd [2381]: Pagpapadala sa LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal Ene 29 12:04:59 dns dhcpd [2381]: Pagpapadala sa Socket / fallback / fallback-net Jan 29 12:04:59 dns systemd [1]: Nagsimula DHCPv4 Server Daemon.

Ano pa ang dapat gawin?

Simple Magsimula ng isang Windows 7 o ibang kliyente na may Libreng Software at simulang subukan at suriin. Ginawa namin ito sa dalawang kliyente: pitongdesdelinux.fan y suse-desktop.desdelinux.fan. Ang mga tseke ay ang mga sumusunod:

buzz @ sysadmin: ~ $ host pito
pitongdesdelinuxAng .fan ay may address na 192.168.10.30

buzz@sysadmin:~$ host pito.desdelinux.fan
pitongdesdelinuxAng .fan ay may address na 192.168.10.30

buzz@sysadmin:~$ maghukay SA TXT pito.desdelinux.fan
.... ;; SEKSYON NG TANONG: ;pito.desdelinux.fan. SA TXT ;; SAGOT SEKSYON: pito.desdelinux.fan. 3600 SA TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"....

Pinalitan namin ang pangalan ng koponan na "pitong" sa "LAGER" at muling pag-reboot. Matapos muling simulan ang bagong LAGER, suriin namin:

buzz @ sysadmin: ~ $ host pito
Hindi nahanap ang host pitong: 5 (REFUSED)

buzz@sysadmin:~$ host pito.desdelinux.fan
Host pito.desdelinuxHindi nahanap ang .fan: 3(NXDOMAIN)

buzz@sysadmin: ~ $ host lager
lager.desdelinuxAng .fan ay may address na 192.168.10.30

buzz@sysadmin:~$host lager.desdelinux.fan
lager.desdelinuxAng .fan ay may address na 192.168.10.30

buzz@sysadmin:~$ maghukay SA TXT lager.desdelinux.fan
.... ;; SEKSYON NG TANONG: ;lager.desdelinux.fan. SA TXT ;; SAGOT SEKSYON: lager.desdelinux.fan. 3600 SA TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"....

Tungkol sa suse-desktop client:

buzz @ sysadmin: ~ $ host suse-dektop
Hindi nahanap ang host suse-dektop: 5 (REFUSED)

buzz @ sysadmin: ~ $ host suse-desktop
suse-desktop.desdelinuxAng .fan ay may address na 192.168.10.33

buzz@sysadmin:~$ host suse-desktop.desdelinux.fan
suse-desktop.desdelinuxAng .fan ay may address na 192.168.10.33

buzz @ sysadmin: ~ $ host 192.168.10.33
33.10.168.192.in-addr.arpa domain name pointer suse-desktop.desdelinux.fan.

buzz @ sysadmin: ~ $ host 192.168.10.30
30.10.168.192.in-addr.arpa domain name pointer LAGER.desdelinux.fan.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; SEKSYON NG TANONG: ;33.10.168.192.in-addr.arpa. SA PTR ;; SAGOT SEKSYON: 33.10.168.192.in-addr.arpa. 3600 SA PTR suse-desktop.desdelinux.fan. ;; SEKSYON NG AWTORIDAD: 10.168.192.in-addr.arpa. 10800 SA NS dns.desdelinux.fan. ;; KARAGDAGANG SEKSYON: dns.desdelinux.fan. 10800 IN TO 192.168.10.5 ....

buzz@sysadmin:~$ dig IN TXT suse-desktop.desdelinux.fan....
;suse-desktop.desdelinux.fan. SA TXT ;; SAGOT SEKSYON: suse-desktop.desdelinux.fan. 3600 SA TXT "31b78d287769160c93e6dca472e9b46d73"

;; SEKSYON NG KAPANGYARIHAN:
desdelinux.fan. 10800 SA NS dns.desdelinux.fan. ;; KARAGDAGANG SEKSYON: dns.desdelinux.fan. 10800 IN TO 192.168.10.5
....

Patakbuhin din natin ang mga sumusunod na utos

[root@dns ~]# dig desdelinux.fan axfr
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> desdelinux.fan axfr ;; pandaigdigang mga opsyon: +cmd
desdelinux.fan. 10800 SA SOA dns.desdelinux.fan. ugat.dns.desdelinux.fan. 6 86400 3600 604800 10800
desdelinux.fan. 10800 SA NS dns.desdelinux.fan.
desdelinux.fan. 10800 IN MX 10 email.desdelinux.fan.
desdelinux.fan. 10800 IN TXT "Mula sa Linux, ang iyong Blog na nakatuon sa Libreng Software" ad-dc.desdelinux.fan. 10800 SA 192.168.10.3 blog.desdelinux.fan. 10800 SA A 192.168.10.7 dns.desdelinux.fan. 10800 IN TO 192.168.10.5 fileserver.desdelinux.fan. 10800 SA A 192.168.10.4 ftpserver.desdelinux.fan. 10800 SA A 192.168.10.8 LAGER.desdelinux.fan. 3600 SA TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"LAGER.desdelinux.fan.   3600 SA 192.168.10.30 na email.desdelinux.fan. 10800 SA A 192.168.10.9 proxyweb.desdelinux.fan. 10800 SA A 192.168.10.6 suse-desktop.desdelinux.fan. 3600 SA TXT"31b78d287769160c93e6dca472e9b46d73" suse-desktop.desdelinux.fan. 3600 SA ISANG 192.168.10.33 sysadmin.desdelinux.fan. 10800 IN TO 192.168.10.1
desdelinux.fan. 10800 SA SOA dns.desdelinux.fan. ugat.dns.desdelinux.fan. 6 86400 3600 604800 10800

Sa nakaraang output, itinampok namin nang naka-bold ang mga TTL (sa segundo) para sa mga device na may mga IP address na itinalaga ng serbisyo ng DHCP, na mayroong tahasang deklarasyon ng TTL na 3600 na ibinigay ng DHCP. Ang mga static na IP ay pinamamahalaan ng TTL na 3H (3 oras = 10800 segundo) na idineklara sa SOA record ng bawat zone file.

Maaari nilang suriin ang reverse zone sa parehong paraan.

[root @ dns ~] # dig 10.168.192.in-addr.arpa axfr

Ang iba pang labis na kagiliw-giliw na mga utos ay:

[root@dns ~]# named-journalprint /var/named/dynamic/db.desdelinux.fan.jnl
[root @ dns ~] # pinangalanang-journalprint /var/named/dynamic/db.10.168.192.in-addr.arpa.jnl
[root @ dns ~] # journalctl -f

Manu-manong pagbabago ng mga file ng Zones

Matapos pamahalaan ng DHCP ang dynamic na pag-update ng mga zone file ng pinangalanang server , kung sakaling kailanganin nating manu-manong baguhin ang isang zone file, dapat nating isagawa ang sumusunod na pamamaraan, ngunit hindi bago matuto nang kaunti pa tungkol sa kung paano gumagana ang rndc utility para sa pagkontrol sa name server.

[root @ dns ~] # tao rndc
....
       i-freeze [zone [klase [view]]]
           Suspindihin ang mga pag-update sa isang dynamic na zone. Kung walang tinukoy na zone, ang lahat ng mga zone ay nasuspinde. Pinapayagan nitong magawa ang mga manu-manong pag-edit sa isang zone na karaniwang na-update ng pabago-bagong pag-update. Nagdudulot din ito ng mga pagbabago sa file ng journal na mai-sync sa master file. Tatanggihan ang lahat ng mga pagsubok sa pabago-bagong pag-update habang ang zone ay na-freeze.

       lasaw [zone [klase [tingnan]]]
           Paganahin ang mga pag-update sa isang nakapirming dynamic na zone. Kung walang tinukoy na zone, ang lahat ng mga nakapirming mga zone ay pinagana. Ito ay sanhi ng server upang mai-reload ang zone mula sa disk, at muling paganahin ang mga pabago-bagong pag-update pagkatapos makumpleto ang pag-load. Matapos matunaw ang isang zone, hindi na tatanggihan ang mga pabago-bagong pag-update. Kung ang zone ay nagbago at ang pagpipiliang ixfr-mula sa mga pagkakaiba ay ginagamit, pagkatapos ay mai-a-update ang file ng journal upang maipakita ang mga pagbabago sa zone. Kung hindi man, kung ang zone ay nagbago, ang anumang umiiral na file ng journal ay aalisin. ....

Ano, sa tingin mo ba ita-transcribe ko ang buong manual?... isang piraso at pumunta sila sa pamamagitan ng kotse. Ipaubaya ko sa iyo ang natitira. 

Karaniwang:

  • rndc freeze [zone [klase [view]]], sinuspinde ang pabago-bagong pag-update ng isang zone. Kung ang isa ay hindi tinukoy, lahat ay mai-freeze. Pinapayagan ng utos ang manu-manong pag-edit ng frozen zone o ng lahat ng mga zone. Ang anumang pabago-bagong pag-update ay tatanggihan habang naka-freeze.
  • Tumunaw si rndc [zone [klase [tingnan]]], nagbibigay-daan sa mga pabago-bagong pag-update sa isang dati nang nagyeyelong zone. I-reload ng DNS server ang zone file mula sa disk, at ang mga pabago-bagong pag-update ay muling pinagana pagkatapos makumpleto ang pag-reload.

Anong mga pag-iingat ang dapat gawin kapag mano-manong nag-eedit ng zone file? Katulad ng kung ginagawa natin ito, naaalalang dagdagan ang serial number ng 1 bago i-save ang file kasama ang mga pinal na pagbabago.

Halimbawa:

[root @ dns ~] # rndc freeze desdelinux.fan

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.fan
Binabago ko ang file ng zone para sa anumang kadahilanan, kinakailangan o hindi. Nai-save ko ang mga pagbabago

[root @ dns ~] # rndc natunaw desdelinux.fan
Ang isang pag-reload ng zone at pagkatunaw ay nagsimula. Suriin ang mga tala upang makita ang resulta.

[root @ dns ~] # journalctl -f
Ene 29 14:06:46 dns na pinangalanan[2257]: thawing zone 'desdelinux.fan/IN': tagumpay
Ene 29 14:06:46 dns na pinangalanang[2257]: zone desdelinux.fan/IN: zone serial (6) hindi nabago. zone ay maaaring mabigong ilipat sa mga alipin.
Ene 29 14:06:46 dns na pinangalanang[2257]: zone desdelinux.fan/IN: load serial 6

Ang error sa nakaraang output, na ipinapakita sa pula sa console, ay dahil sa ang katunayan na "nakalimutan" kong dagdagan ang serial number ng 1. Kung nasunod ko nang tama ang pamamaraan, ang output ay:

[root @ dns ~] # journalctl -f
-- Magsisimula ang mga log sa Linggo 2017-01-29 08:31:32 EST. -- Ene 29 14:06:46 dns na pinangalanang[2257]: zone desdelinux.fan/IN: load serial Jan 6 29 14:10:01 dns systemd[1]: Sinimulan ang Session 43 ng user root. Ene 29 14:10:01 dns systemd[1]: Simula sa Session 43 ng user root. Ene 29 14:10:01 dns CROND[2693]: (root) CMD (/usr/lib64/sa/sa1 1 1) Ene 29 14:10:45 dns na pinangalanan[2257]: nakatanggap ng control channel command na 'freeze desdelinux.fan' Ene 29 14:10:45 dns na pinangalanan[2257]: freezing zone 'desdelinux.fan/IN': tagumpay Ene 29 14:10:58 dns na pinangalanan[2257]: nakatanggap ng control channel command na 'thaw desdelinux.fan' Ene 29 14:10:58 dns na pinangalanan[2257]: thawing zone 'desdelinux.fan/IN': tagumpay Ene 29 14:10:58 dns na pinangalanan[2257]: zone desdelinux.fan/IN: lipas na ang journal file: inaalis ang journal file Ene 29 14:10:58 dns na pinangalanang[2257]: zone desdelinux.fan/IN: load serial 7
  • Mga kaibigan ng mambabasa, inuulit ko na kailangan mong basahin nang maingat ang mga output output. Para sa isang bagay na ginugol ng mga developer nito ang napakaraming programa sa trabaho sa bawat utos, gaano man kasimple ito.

Buod

Sa ngayon nakipag-usap kami sa pagpapatupad ng pares ng DNS - DHCP, mahalaga at mahahalagang serbisyo para sa mahusay na pagganap ng aming SME Network, na tumutukoy sa pagbibigay ng mga dynamic na address sa pamamagitan ng DHCP at ang paglutas ng mga pangalan ng computer at domain sa pamamagitan ng DNS.

Seryoso kaming umaasa na nasiyahan ka sa buong pamamaraan tulad ng ginawa namin. Bagaman mukhang mas mahirap ito gamit ang console, mas madali at mas pang-edukasyon na ipatupad ang isang serbisyo sa UNIX® / Linux sa tulong nito.

Patawarin mo ako sa anumang maling interpretasyon ng mga konseptong naisip, nilikha, isinulat, binago, muling isinulat, at inilathala sa wika ni Shakespeare, hindi Cervantes. 

Susunod na paghahatid

Sa palagay ko medyo pareho pa rin - na may mga panteorya na karagdagan sa mga tala ng DNS - ngunit sa Debian. Hindi natin makakalimutan ang pamamahagi na iyon, tama ba?


Idagdag bilang ginustong mapagkukunan sa Google