CentOS 7'de DNS ve DHCP - SMB Ağları

Serinin genel içeriği: KOBİ'ler için Bilgisayar Ağları: Giriş

Merhaba arkadaşlar! Bu yazıda, CentOS Linux'ta , özellikle 7.2 sürümünde, DNS ve DHCP gibi önemli ağ hizmetlerinin nasıl uygulanacağını göreceğiz .

  • DNS ile ilgili bazı makaleler, bu hizmetin uygulanmasının biraz belirsiz ve zor olduğu gerçeğine atıfta bulunmaktadır. Bu ifadeye pek katılmıyorum. Bunun biraz kavramsal olduğunu ve yapılandırma dosyalarının çoğunun telaşlı sözdizimine sahip olduğunu söylemeyi tercih ederim. Neyse ki, değiştirdiğimiz her yapılandırma dosyasının sözdizimini adım adım kontrol edecek araçlarımız var. Bu nedenle, bu yazıyı olabildiğince keyifli ve eğlenceli hale getirmeye çalışacağız..

Her iki hizmetin de temellerini arayanlar için, aramanıza Wikipedia'da hem İspanyolca hem de İngilizce sürümleriyle başlamanızı şiddetle tavsiye ederiz. İngilizce makalelerin neredeyse her zaman daha eksiksiz ve tutarlı olduğu da daha az doğru değildir. Yine de Wikipedia çok iyi bir başlangıç ​​noktası.

DNS ve BIND hakkında gerçekten bilgi edinmek isteyenlere, Paul Albitz ve Cricket Liu tarafından yazılan " OReilly – DNS and BIND 4th ed " kitabını veya mutlaka mevcut olan daha sonraki bir baskısını okumaları tavsiye edilir.

Grafik arayüzü tercih edenler için " openSUSE 13.2 Harlequin'de DNS ve DHCP – KOBİ Ağları " başlıklı bir makale yayınladık . Ancak bundan sonra, bu konuyla ilgili makalelerin büyük çoğunluğu terminal veya konsol emülatörü kullanılarak yazılacaktır. Başka bir deyişle, UNIX®/Linux Sistem Yöneticilerinin kullandığı klasik tarzda.

Bu makalenin başlığında yer alan " KOBİ Ağları " konusu hakkında daha fazla bilgi edinmek isterseniz, aynı blogdaki " KOBİ Ağları: İlk Sanal Kesim " sayfasına göz atabilirsiniz . Orada yayınlanmış diğer birçok makaleye bağlantılar bulacaksınız.

  • CentOS 7 İşletim Sisteminin kurulumu tavsiye ettiğimiz paketler ile tamamlandıktan sonra, el dizin /usr/share/doc/bind-9.9.4/ Parmaklarınızın ucunda ve kendi evinizde aradığınızı bulabileceğinizi bilmeden bir İnternet aramasına girmeden önce danışmanızı tavsiye ettiğimiz çok sayıda belge içerir.

Temel sistem kurulumu

Etki alanı ve DNS sunucusunun genel verileri

Alan adı: desdelinux.fan
DNS sunucusu adı: dns.desdelinux.fan
IP adresi: 192.168.10.5
Alt ağ maskesi: 255.255.255.0

Montaj

Önceki " CentOS 7 Hypervisor I – KOBİ Ağları " makalesinde açıklandığı gibi, CentOS 7 işletim sisteminin yeni veya temiz bir kurulumuyla başlıyoruz . Sadece aşağıdaki değişiklikleri yapmamız gerekiyor:

  • In Imagen 22 «YAZILIM SEÇİMİ«, Sol sütundan seçmenizi öneririz«Temel Ortam»Bir« ile ilgili seçenekAltyapı sunucusu«, Sağ sütunda iken«Seçili Ortam için Eklentiler»Onay kutusunu seçin«DNS ad sunucusu«. DHCP sunucusunu daha sonra kuracağız.
  • Ek depoların beyanını hatırlayalım. Imagen 23, «AĞ VE EKİP ADI".
  • Sabit diskimizde oluşturacağımız bölümlere atıfta bulunan görüntüler sadece kılavuz olarak verilmiştir. Bölmeleri kendi takdirinize, pratik yapmanıza ve sağduyunuza göre seçmekte özgürsünüz.
  • Son olarak Resim 13 «AĞ & TAKIM ADI», ana bilgisayar adını belirtmeyi unutmadan beyan edilen etki alanı ve DNS sunucusunun genel parametrelerine göre değerleri değiştirmeliyiz - bu durumda «dns«- ağ yapılandırması tamamlandıktan sonra. Yapması olumlu ping -başka bir ana bilgisayardan- ağ etkin olduktan sonra belirtilen IP adresine:

CentOS üzerinde DNS ve DHCP

Önceki makaleye göre yapmamız gereken gerçekten çok az ve çok açık değişiklik var.

İlk kontroller ve ayarlamalar

İşletim sistemini kurduktan sonra en azından aşağıdaki dosyaları incelemeliyiz ve bunun için bilgisayarımızdan SSH aracılığıyla bir oturum başlatıyoruz sistem yöneticisi.desdelinux.fan:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
[e-posta korumalı]'nin şifresi: Son giriş: 28 Ocak 2017 Cumartesi 09:48:05, 192.168.10.1 adresinden
[buzz @ dns ~] $

Yukarıdaki işlem normalden daha uzun sürebilir ve temel olarak LAN üzerinde henüz bir DNS'ye sahip olmamamızdan kaynaklanmaktadır. DNS'nin çalıştığını daha sonra tekrar kontrol edin.

[buzz @ dns ~] $ cat / etc / hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6

[buzz @ dns ~] $ cat / etc / hostname
dns

[buzz @ dns ~] $ cat / etc / sysconfig / network-scripts / ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=946f5ac9-238a-4a94-9acb-9e3458c680fe
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.10.5
PREFIX=24
GATEWAY=192.168.10.1
DNS1=127.0.0.1
DOMAIN=desdelinux.fan

[buzz @ dns ~] $ cat /etc/resolv.conf 
# NetworkManager araması tarafından oluşturulmuştur desdelinux.fan ad sunucusu 127.0.0.1

Ana yapılandırmalar, yaptığımız seçimleri yansıtmaktadır. Red Hat 7 – CentOS 7 sunucusunda bile NetworkManager'ın varsayılan olarak kablolu veya kablosuz (WiFi), VPN bağlantıları, PPPoE bağlantıları ve diğer tüm ağ bağlantılarını yönetmek üzere yapılandırıldığını unutmayın.

[buzz @ dns ~] $ sudo systemctl status networkmanager
[sudo] buzz şifresi: ● networkmanager.service Yüklendi: bulunamadı (Nedeni: Böyle bir dosya veya dizin yok) Aktif: etkin değil (ölü)

[buzz @ dns ~] $ sudo systemctl durumu NetworkManager
● NetworkManager.service - Ağ Yöneticisi Yüklendi: yüklendi (/usr/lib/systemd/system/NetworkManager.service; etkin; satıcı ön ayarı: etkin) Aktif: Cmt 2017-01-28 12:23:59 EST'den beri aktif (çalışıyor); 12 dakika önce Ana PID: 705 (NetworkManager) CGroup: /system.slice/NetworkManager.service └─705 / usr / sbin / NetworkManager --no-daemon

Red Hat – CentOS, klasik `ifup` ve `ifdown` komutlarını kullanarak ağ arayüzlerini bağlamanıza ve bağlantısını kesmenize de olanak tanır . Şimdi sunucu konsolunda aşağıdaki komutları çalıştıralım:

[root @ dns ~] # ifdown eth0
'Eth0' cihazının bağlantısı başarıyla kesildi.

[root @ dns ~] # ifup eth0
Bağlantı başarıyla etkinleştirildi (D-Bus etkin yolu: / org / freedesktop / NetworkManager / ActiveConnection / 1)
  • Öneriyoruz CentOS 7'nin sunduğu varsayılan ayarları değiştirmeyin Ağ yöneticisi.

Kullanacağımız depoları kesin olarak beyan ederiz ve gerekirse işletim sistemini güncelleriz:

[buzz @ dns ~] $ su Şifre: [root @ dns buzz] # cd /etc/yum.repos.d/
[root @ dns yum.repos.d] # ls -l
toplam 28 -rw-r - r--. 1 kök kök 1664 9 Aralık 2015 CentOS-Base.repo -rw-r - r--. 1 kök kök 1309 9 Aralık 2015 CentOS-CR.repo -rw-r - r--. 1 kök kök 649 9 Aralık 2015 CentOS-Debuginfo.repo -rw-r - r--. 1 kök kök 290 9 Aralık 2015 CentOS-fasttrack.repo -rw-r - r--. 1 kök kök 630 9 Aralık 2015 CentOS-Media.repo -rw-r - r--. 1 kök kök 1331 9 Aralık 2015 CentOS-Sources.repo -rw-r - r--. 1 kök kök 1952 9 Aralık 2015 CentOS-Vault.repo

CentOS'un önerdiği repository'lerin orjinal bildirim dosyalarının içeriklerini okumak sağlıklıdır. Burada yaptığımız değişiklikler internet erişimimizin olmaması ve hayatımızı biraz daha kolaylaştıran meslektaşlarımızın WWW Köyü'nden indirdiği yerel depolarla çalışmamızdan kaynaklanmaktadır. 

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

[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 tümünü temizle
Yüklenen eklentiler: en hızlı ayna, yazılım paketleri Depoları temizleme: centos-base centos-güncellemeleri Her şeyi temizleme

[root @ dns yum.repos.d] # yum güncelleme
Yüklü eklentiler: fastestmirror, centos tabanlı langpacks | 3.4 kB 00:00 centos güncellemeleri | 3.4 kB 00:00 (1/2): temel-temel / birincil_db | 5.3 MB 00:00 (2/2): centos-güncellemeleri / birincil_db | 9.1 MB 00:00 En hızlı yansıtmaları belirleme Güncelleme için işaretlenmiş paket yok

"Güncellenecek paket yok" mesajı , kurulum sırasında mevcut en güncel depoların belirtilmesiyle en güncel paketlerin yüklendiğini gösterir .

SELinux bağlamı ve güvenlik duvarı hakkında

Bu makaleyi - temelde - Ana Hedefi olan DNS ve DHCP hizmetlerinin uygulanmasına odaklanacağız.

Eğer okuyucularımızdan herhangi biri, bu DNS-DHCP sunucusunun kurulumu için kullanılan " CentOS 7 Hypervisor I – SME Networks " referans makalesinin 06 numaralı resminde gösterildiği gibi, kurulum işlemi sırasında bir Güvenlik Politikası seçtiyse ve SELinux ile CentOS Güvenlik Duvarı'nı nasıl doğru şekilde yapılandıracağını bilmiyorsa, aşağıdaki komutu çalıştırmalarını öneririz:

/etc/sysconfig/selinux dosyasını değiştirin ve SELINUX=enforcing ifadesini SELINUX=disable olarak değiştirin.

[root @ dns ~] # nano / etc / sysconfig / selinux
# Bu dosya sistemdeki SELinux durumunu kontrol eder. # SELINUX = şu üç değerden birini alabilir: # zorlama - SELinux güvenlik politikası uygulanır. # permissive - SELinux zorlamak yerine uyarılar yazdırır. # devre dışı - SELinux politikası yüklenmedi.
SELINUX = devre dışı
# SELINUXTYPE = üç değerden birini alabilir: # hedefli - Hedeflenen süreçler korunur, # minimum - Hedeflenen politikanın değiştirilmesi. Yalnızca seçili işlemler pr $ # mls - Çok Seviyeli Güvenlik korumasıdır. SELINUXTYPE = hedeflendi

Ardından aşağıdaki komutları çalıştırın

[root @ dns ~] # setenforce 0
[root @ dns ~] # hizmet güvenlik duvarı durdur
/ Bin / systemctl'ye yeniden yönlendiriliyor firewalld.service durdur

[root @ dns ~] # systemctl güvenlik duvarını devre dışı bırak
Symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service kaldırıldı. /Etc/systemd/system/basic.target.wants/firewalld.service symlink kaldırıldı.

İnternete açık bir DNS sunucusu kuruyorsanız, yukarıdaki talimatları UYGULAMAMALISINIZ. Bunun yerine, SELinux bağlamını ve güvenlik duvarını doğru şekilde yapılandırın. Joel Barrios Dueñas'ın "GNU/Linux ile Sunucuları Yapılandırma" kitabına veya CentOS/Red Hat belgelerine bakın.

BIND - isimli

  • El dizin /usr/share/doc/bind-9.9.4/ parmaklarınızın ucunda ve kendi evinizde aradığınızı bulabileceğinizi bilmeden bir İnternet aramasına girmeden önce danışmanızı tavsiye ettiğimiz çok sayıda belge içerir

Birçok dağıtımda, BIND paketi aracılığıyla kurulan DNS hizmetine named ( Name Daemon ) adı verilir. CentOS 7'de, aşağıdaki komutun çıktısında da görüldüğü gibi, varsayılan olarak devre dışı bırakılmış olarak kurulur; bu durum " devre dışı " olarak belirtilir ve bu durum satıcı tarafından önceden tanımlanmıştır – vendor preset . BIND'in Özgür Yazılım olduğunu unutmayın.

Adı verilen hizmeti etkinleştirme

[root @ dns ~] # systemctl durumu adlandırıldı
● named.service - Berkeley İnternet Adı Etki Alanı (DNS) Yüklendi: yüklendi (/usr/lib/systemd/system/named.service; özürlü; satıcı ön ayarı: devre dışı) Aktif: pasif (ölü)

[root @ dns ~] # systemctl etkinleştirildi
/Etc/systemd/system/multi-user.target.wants/named.service'den /usr/lib/systemd/system/named.service'e symlink oluşturuldu.

[root @ dns ~] # systemctl başlangıç ​​adı

[root @ dns ~] # systemctl durumu adlandırıldı
● named.service - Berkeley İnternet Adı Etki Alanı (DNS) Yüklendi: yüklendi (/usr/lib/systemd/system/named.service; etkin; satıcı ön ayarı: devre dışı)
   Aktif: aktif (çalışıyor) Cmt 2017-01-28 13:22:38 EST'den beri; 5 dakika önce İşlem: 1990 ExecStart = / usr / sbin / adlandırılmış -u $ SEÇENEKLER (kod = çıkıldı, durum = 0 / BAŞARI) İşlem: 1988 ExecStartPre = / bin / bash -c eğer [! "$ DISABLE_ZONE_CHECKING" == "evet"]; sonra / usr / sbin / named-checkconf -z /etc/named.conf; else echo "Bölge dosyalarının kontrolü devre dışı bırakıldı"; fi (kod = çıkıldı, durum = 0 / BAŞARI) Ana PID: 1993 (adlandırılmış) CGroup: /system.slice/named.service └─1993 / usr / sbin / adlandırılmış -u 28 Ocak 13:22:45 dns adlı [1993]: './NS/IN' çözme hatası (ağ erişilemez): 2001: 500: 2f :: f # 53 28 Ocak 13:22:47 dns adlı [1993]: hata (ağ erişilemez) çözülüyor './ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 Jan 28 13:22:47 dns adlı [1993]:' ./NS/IN 'çözülürken hata (ağ erişilemez): 2001: 500: 3 :: 42 # 53 28 Ocak 13:22:47 dns adlı [1993]: './DNSKEY/IN' çözülürken hata (ağa ulaşılamıyor): 2001: 500: 2d :: d # 53 28 Ocak 13:22:47 dns adlı [1993 ]: './NS/IN' çözme hatası (ağa erişilemiyor): 2001: 500: 2d :: d # 53 28 Ocak 13:22:47 dns adlı [1993]: "./DNSKEY/ çözme hatası (ağ ulaşılamıyor) IN ': 2001: dc3 :: 35 # 53 28 Ocak 13:22:47 dns [1993]:' ./NS/IN 'çözülürken hata (ağa erişilemiyor): 2001: dc3 :: 35 # 53 28 Ocak 13: [22] adlı 47:1993 dns: './DNSKEY/IN' çözme hatası (ağa erişilemiyor): 2001: 7fe :: 53 # 53 Jan 28 13:22:47 dns adlı [1993]: hata (ağ erişilemez) olving './NS/IN': 2001: 7fe :: 53 # 53 Jan 28 13:22:48 dns adlı [1993]: yönetilen anahtarlar bölgesi: DNSKEY kümesi getirilemiyor '.': zaman aşımına uğradı

[root @ dns ~] # systemctl restart adlandırıldı

[root @ dns ~] # systemctl durumu adlandırıldı
● named.service - Berkeley İnternet Adı Etki Alanı (DNS) Yüklendi: yüklendi (/usr/lib/systemd/system/named.service; etkin; satıcı ön ayarı: devre dışı)
   Aktif: aktif (çalışıyor) Cmt 2017-01-28 13:29:41 EST'den beri; 1s önce İşlem: 1449 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (kod = çıkıldı, durum = 0 / BAŞARI) İşlem: 1460 Yürütme Başlangıcı = / usr / sbin / adlandırılmış -u $ SEÇENEKLER (kod = çıktı, durum = 0 / BAŞARI) İşlem: 1457 ExecStartPre = / bin / bash -c eğer [! "$ DISABLE_ZONE_CHECKING" == "evet"]; sonra / usr / sbin / named-checkconf -z /etc/named.conf; else echo "Bölge dosyalarının kontrolü devre dışı bırakıldı"; fi (kod = çıkıldı, durum = 0 / BAŞARI) Ana PID: 1463 (adlandırılmış) CGroup: /system.slice/named.service └─1463 / usr / sbin / adlandırılmış -u 28 Ocak 13:29:41 dns adlı [1463]: yönetilen anahtarlar bölgesi: günlük dosyası güncel değil: günlük dosyası kaldırılıyor 28 Ocak 13:29:41 dns adlı [1463]: yönetilen anahtarlar bölgesi: seri yüklendi 2 Ocak 28 13:29:41 dns adlı [1463]: bölge 0.in-addr.arpa/IN: yüklenen seri 0 28 Ocak 13:29:41 dns adlı [1463]: bölge localhost.localdomain / IN: yüklenen seri 0 Jan 28 13:29:41 dns [1463] adlı: bölge 1.0.0.127.in-addr.arpa/IN: yüklenen seri 0 28 Ocak 13:29:41 dns adlı [1463]: bölge 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .6.ip0.arpa / IN: yüklü seri 28 13 Ocak 29:41:1463 dns adlı [0]: bölge localhost / IN: seri yüklü 28 Ocak 13 29 : 41: 1463 dns [28]: yüklenen tüm bölgeler 13 Ocak 29:41:1463 dns adlı [28]: çalışıyor 13 Ocak 29:41:1 dns systemd [XNUMX]: Berkeley İnternet Adı Etki Alanı (DNS) başlatıldı.

named servisini ilk kez etkinleştirip başlattıktan sonra , `systemctl status named` komutunun çıktısı hatalar gösteriyor. Servisi yeniden başlattığımızda, named varsayılan olarak doğru şekilde çalışması için gereken tüm yapılandırma dosyalarını oluşturuyor. Bu nedenle, `systemctl status named` komutunu tekrar çalıştırdığımızda artık hata görüntülenmiyor.

  • Sevgili, pahalı ve talepkar Okuyucu: En azından hangi yolun tavşan deliğinin sonuna gittiğini öğrenmek istiyorsanız, lütfen her komutun ayrıntılı çıktılarını sakin bir şekilde okuyun.  Elbette makale biraz uzun görünecek, ancak açıklama ve netlik kazandığını inkar etmeyeceksiniz..

/Etc/named.conf dosyasını değiştiriyoruz

Birçok okuyucu yorumunda ( ve bunu söyleyen tek ben değilim ) farklı Linux dağıtımlarının geliştiricilerinin sistem yapılandırma dosyalarını dağıtıma bağlı olarak farklı isimlere sahip klasörlere yerleştirme alışkanlığından bahsediliyor. Haklılar. Peki biz, bu dağıtımların sıradan kullanıcıları, ne yapabiliriz? Uyum sağlamalıyız! 😉

Bu arada, UNIX® "Kökeni"nin bir klonu olan FreeBSD'de dosya /usr/local/etc/namedb/named.conf konumunda bulunurken ; Debian'da ise named.conf, named.conf.options, named.conf.default-zones ve named.conf.local olmak üzere dört dosyaya bölünmüş olmasının yanı sıra /etc/bind/ klasöründe de yer almaktadır . openSUSE'nin bu dosyayı nereye yerleştirdiğini öğrenmek isteyenler " openSUSE 13.2 Harlequin'de DNS ve DHCP – SME Networks " makalesini okumalıdır. Okuyucular haklı! 😉

Ve her zaman yaptığımız gibi: herhangi bir şeyi değiştirmeden önce, orijinal yapılandırma dosyasını başka bir adla kaydediyoruz.

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

İşleri kolaylaştırmak için, DHCP üzerinden dinamik DNS güncellemeleri için TSIG anahtarını oluşturmak yerine , dhcp.key ile aynı olan rndc.key dosyasını kopyalıyoruz.

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

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

Belirtilen kullanıcının yeni kopyalanan dosyayı okuyabilmesi için , dosyanın ait olduğu grubu değiştiriyoruz:

[kök @ dns ~] # chown kök: adlandırılmış /etc/dhcp.key [kök @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 Ocak 77 28:16 /etc/dhcp.key -rw-r ----- adlı 36 kök. 1 Ocak 77:28 /etc/rndc.key adlı 13 kök

Bir öncekine benzer küçük detaylar, bulmaya çalışırken bizi çılgına çeviren şeydir, şimdi ... sorun nerede ...? Saygıdeğer'e saygı duyduğumuz için yazmadığımız bazı sıfatlar ile.

Sonunda, /etc/named.conf dosyasını değiştirdik . Orijinaline kıyasla yaptığımız değişiklikler veya eklemeler kalın harflerle belirtilmiştir . Sadece birkaç değişiklik olduğunu unutmayın.

[root @ dns ~] # nano /etc/named.conf
// // adlandırılmış.conf // // (8) DNS olarak adlandırılan ISC BIND // sunucusunu yalnızca önbelleğe alan bir ad sunucusu olarak yapılandırmak için Red Hat bağlama paketi tarafından sağlanmıştır (yalnızca yerel ana bilgisayar DNS çözümleyicisi olarak). // // Örneğin adlandırılmış yapılandırma dosyaları için / usr / share / doc / bind * / sample / adresine bakın. //

// Hangi ağların danışabileceğini belirten Erişim Kontrol Listesi
// sunucumun adı
acl batmış {
 127.0.0.0/8;
 192.168.10.0/24;
};

seçenekler {
 // İsimlendirilmiş daemon'un arayüzü de dinlediğini beyan ederim
 // IP'ye sahip eth0: 192.168.10.5
    dinleme bağlantı noktası 53 {127.0.0.1; 192.168.10.5; };
    dinleme-on-v6 bağlantı noktası 53 {:: 1; }; "/ var / adlandırılmış" dizini; döküm dosyası "/var/named/data/cache_dump.db"; istatistik dosyası "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt";

 // Forwarders ifadesi
 // ileticiler {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // önce iletin;

    // Yalnızca mired ACL'ye sorgulara izin veriyorum
    izin-sorgu { mired; }; // dig komutuyla kontrol etmek için desdelinux.fan axfr // yalnızca SysAdmin iş istasyonundan ve localhost'tan // Slave DNS sunucularımız yok. Şu ana kadar buna ihtiyacımız yok.
 allow-transfer {localhost; 192.168.10.1; };

    / * - OTORİTATİF bir DNS sunucusu oluşturuyorsanız, özyinelemeyi ETKİNLEŞTİRMEYİN. - Bir RECURSIVE (önbelleğe alma) DNS sunucusu oluşturuyorsanız, özyinelemeyi etkinleştirmeniz gerekir. - Yinelemeli DNS sunucunuzun genel bir IP adresi varsa, sorguları yasal kullanıcılarınızla sınırlandırmak için erişim denetimini etkinleştirmeniz GEREKİR. Bunu yapmamak, sunucunuzun büyük ölçekli DNS yükseltme saldırılarının bir parçası olmasına neden olur. BCP38'i ağınızda uygulamak, bu tür saldırı yüzeyini büyük ölçüde azaltır * /
    // LAN'ımız için bir AUTHORITY sunucusu istiyoruz - SME
    özyineleme no;

    dnssec-enable evet; dnssec-doğrulama evet; / * ISC DLV anahtarının yolu * / bindkeys-file "/etc/named.iscdlv.key"; yönetilen anahtarlar dizini "/ var / adlandırılmış / dinamik"; pid dosyası "/run/named/named.pid"; oturum anahtar dosyası "/run/named/session.key"; }; {channel default_debug {file "data / named.run" günlük kaydı; şiddet dinamiği; }; }; bölge "." IN {ipucu yazın; dosya "named.ca"; }; "/etc/named.rfc1912.zones" dahil; dahil "/etc/named.root.key";

// Dinamik DNS güncellemeleri için TSIG anahtarını dahil ediyoruz // DHCP tarafından
"/etc/dhcp.key" dahil;

// Adın, türünün, konumunun ve güncelleme izninin beyanı
// DNS Kayıt Bölgeleri // Her İki Bölge MASTERS
alan"desdelinux.fan" {
 master yazın;
 "dinamik/db.dll" dosyasıdesdelinux.fan";
 allow-update {key dhcp-key; };
};

bölge "10.168.192.in-addr.arpa" {
 master yazın;
 "dynamic / db.10.168.192.in-addr.arpa" dosyası;
 allow-update {key dhcp-key; };
};

Sözdizimini kontrol ediyoruz

[root @ dns ~] # adlandırılmış-checkconf 
[root @ dns ~] #

Önceki komut hiçbir sonuç döndürmediğinden, sözdizimi doğrudur. Ancak, aynı komutu -z seçeneğiyle çalıştırırsak , çıktı şu şekilde olacaktır:

[root @ dns ~] # adlandırılmış-checkconf -z
bölge localhost.localdomain/IN: seri 0 yüklü bölge localhost/IN: seri 0 bölge yüklü .ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa/IN: seri 6 bölgesi yüklendi 0.in-addr.arpa/IN: seri 1.0.0.127 bölgesi yüklendi 0.in-addr.arpa/IN: seri 0 bölgesi yüklendi desdelinux.fan/IN: dinamik/db ana dosyasından yükleniyor.desdelinux.fan başarısız oldu: dosya bulunamadı bölgesi desdelinux.fan/IN: hatalar nedeniyle yüklenmedi. _varsayılan/desdelinux.fan/IN: dosya bulunamadı bölgesi 10.168.192.in-addr.arpa/IN: dinamik/db.10.168.192.in-addr.arpa ana dosyasından yükleme başarısız oldu: dosya bulunamadı bölgesi 10.168.192.in- addr.arpa/IN: hatalar nedeniyle yüklenmedi. _default/10.168.192.in-addr.arpa/IN: dosya bulunamadı

Elbette bunlar, etki alanımız için henüz DNS Kayıt Bölgelerini oluşturmadığımız için oluşan hatalardır.

  • Komut hakkında daha fazla bilgi için adlandırılmış checkconf, Çalıştırmak adam adlı-checkconfİnternette başka bir bilgi aramadan önce. Sizi temin ederim ki çok zaman kazandıracak.

Direct Zone dosyasını oluşturuyoruz desdelinux.fan

…ama önce küçük bir teori olmadan olmaz. 

Bölge veri dosyasını oluşturmak için şablon olarak /var/named/named.empty veya /usr/share/doc/bind-9.9.4/sample/var/named/named.empty dosyalarından birini kullanabiliriz . İkisi de aynıdır.

[root @ dns ~] # cat /var/named/named.empty 
$ TTL 3H @ IN SOA @ rname.invalid. (0; seri 1D; 1H yenileyin; 1W'yi tekrar deneyin; 3H sona erer); NS @ A 127.0.0.1 AAAA :: 1'de yaşamak için minimum veya Negatif önbellekleme süresi

Hayatın zamanı - TTL yaşama zamanı SOA kaydı

Şimdi, bir Ana Bölge için SOA (Başlangıç ​​Yetkisi) kaydının TTL (Yaşam Süresi) değerini açıklayalım . Bu değerlerin anlamını anlamak, herhangi birini değiştirmek istediğimizde faydalı olacaktır.

$TTL : Yaşam süresi – Dosyada bu bildirimi takip eden (ancak başka bir $TTL bildiriminden önce gelen) ve açık bir TTL bildirimi içermeyen tüm kayıtların yaşam süresi .

Seri : Bölge verilerinin seri numarası. Bir bölgedeki DNS kaydını her manuel olarak değiştirdiğimizde, özellikle ikincil veya yardımcı sunucularımız varsa, bu numarayı 1 artırmamız gerekir. İkincil veya yardımcı bir DNS sunucusu ana sunucuyla her iletişim kurduğunda, ana sunucunun verilerinin seri numarasını sorgular. Yardımcı sunucunun seri numarası daha düşükse, yardımcı sunucudaki o bölgeye ait veriler güncel değildir ve yardımcı sunucu, verileri güncellemek için bir bölge aktarımı gerçekleştirir.

refresh : Köle sunucuya, verilerinin ana sunucuya göre güncel olup olmadığını kontrol etmesi gereken zaman aralığını bildirir.

Yeniden dene : Eğer ana sunucu, örneğin arızalandığı için, yenileme zaman aralığından sonra köle sunucuya ulaşamıyorsa , yeniden dene komutu köle sunucuya ana sunucuyla tekrar iletişim kurmadan önce ne kadar beklemesi gerektiğini söyler.

Süre Sonu : Eğer bağımlı sunucu, belirtilen bir zaman aralığı boyunca ana sunucuyla iletişim kuramazsa , bağımlı-ana sunucu bölge ilişkisi kopar ve bağımlı sunucunun söz konusu bölgeyi süre sonu olarak işaretlemekten başka seçeneği kalmaz. Bağımlı bir DNS sunucusunun bölge süresinin dolması, mevcut verilerin kullanışlı olamayacak kadar eski olması nedeniyle o bölgeyle ilgili DNS sorgularına yanıt vermeyi bırakacağı anlamına gelir.

  • Yukarıdakiler bize dolaylı olarak ve büyük bir sağduyu ile - duyuların en az yaygın olanı - KOBİ'mizin çalışması için köle DNS sunucularına ihtiyacımız yoksa, kesinlikle gerekli olmadıkça onu uygulamayacağımızı öğretir. Daima basitten karmaşığa gitmeye çalışalım.

Minimum : BIND 8.2'den önceki sürümlerde , son SOA kaydı ayrıca Bölge için Varsayılan yaşam süresini ve Negatif önbellekleme yaşam süresini de gösterir . Bu süre, Bölge için yetkili sunucu tarafından verilen tüm olumsuz yanıtları ifade eder.

Bölge dosyası /var/named/dynamic/db.dlldesdelinux.fan

[root@dns ~]# nano /var/adlandırılmış/dinamik/db.desdelinux.fan
$TTL 3H @ SOA dns'de.desdelinux.fan. root.dns.desdelinux.fan. ( 1 ; seri 1D ; 1 saat yenile ; 1 saat yeniden dene ; 3 saat sonra sona er ) ; minimum veya; Yaşamak için olumsuz önbellekleme süresi; @ NS dns'de.desdelinux.fan. @ IN MX 10 e-postası.desdelinux.fan. @ IN TXT "FromLinux, Özgür Yazılıma adanmış Blogunuz"; sysadmin IN A 192.168.10.1 ad-dc IN A 192.168.10.3 dosya sunucusu IN A 192.168.10.4 dns IN A 192.168.10.5 proxyweb IN A 192.168.10.6 blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8. 192.168.10.9 posta A XNUMX'da

/var/named/dynamic/db'yi kontrol ediyoruz.desdelinux.fan

[root@dns ~]# adlı kontrol bölgesi desdelinux.fan /var/adlandırılmış/dinamik/db.desdelinux.fan
bölge desdelinux.fan/IN: seri 1 yüklendi TAMAM

Reverse Zone dosyasını 10.168.192.in-addr.arpa oluşturuyoruz

  • Bu Bölgenin SOA kaydı, MX kaydı dikkate alınmadan Doğrudan Bölgeninki ile aynıdır..
[root @ dns ~] # nano /var/named/dynamic/db.10.168.192.in-addr.arpa
$TTL 3H @ SOA dns'de.desdelinux.fan. root.dns.desdelinux.fan. ( 1 ; seri 1D ; 1 saat yenile ; 1 saat yeniden dene ; 3 saat sonra sona er ) ; minimum veya; Yaşamak için olumsuz önbellekleme süresi; @ NS dns'de.desdelinux.fan. ; 1 IN PTR sistem yöneticisi.desdelinux.fan. 3 IN PTR ad-dc.desdelinux.fan. 4 IN PTR dosya sunucusu.desdelinux.fan. 5 IN PTR dns.desdelinux.fan. 6 PTR proxyweb'de.desdelinux.fan. 7 IN PTR blogu.desdelinux.fan. 8 PTR ftp sunucusunda.desdelinux.fan. 9 PTR postasında.desdelinux.fan.

[root @ dns ~] # adlandırılmış-kontrol bölgesi 10.168.192.in-addr.arpa /var/named/dynamic/db.10.168.192.in-addr.arpa 
bölge 10.168.192.in-addr.arpa/IN: seri 1 yüklendi Tamam

Adı yeniden başlatmadan önce yapılandırmasını kontrol ediyoruz

  • Named.conf'un yapılandırma dosyalarının ve bölge dosyalarının doğru yapılandırılmadığından emin olana kadar, adlandırılmış daemon'u yeniden başlatmamanızı öneririz. Bunu yaparsak ve daha sonra bir bölge dosyasını değiştirirsek, değiştirilen bölgenin seri numarasını 1 artırmalıyız..
  • Bakalım "." alan ve ana bilgisayar adlarının sonunda.
[root @ dns ~] # adlandırılmış-checkconf 
[root @ dns ~] # adlandırılmış-checkconf -z
bölge localhost.localdomain/IN: seri 0 yüklü bölge localhost/IN: seri 0 bölge yüklü .ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa/IN: seri 6 bölgesi yüklendi 0.in-addr.arpa/IN: seri 1.0.0.127 bölgesi yüklendi 0.in-addr.arpa/IN: seri 0 bölgesi yüklendi desdelinux.fan/IN: seri 1 bölgesi yüklendi 10.168.192.in-addr.arpa/IN: seri 1 yüklendi

Tüm mevcut adlandırılmış yapılandırma

Daha anlaşılır olması için ve makale uzun olacağı için, named-checkconf -zp komutunun tam çıktısını aşağıda veriyoruz :

[root @ dns ~] # adlandırılmış-checkconf -zp
bölge localhost.localdomain/IN: seri 0 yüklü bölge localhost/IN: seri 0 bölge yüklü .ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa/IN: seri 6 bölgesi yüklendi 0.in-addr.arpa/IN: seri 1.0.0.127 bölgesi yüklendi 0.in-addr.arpa/IN: seri 0 bölgesi yüklendi desdelinux.fan/IN: seri 1 bölgesi yüklendi 10.168.192.in-addr.arpa/IN: seri 1 seçenekleri yüklendi {bindkeys-file "/etc/named.iscdlv.key"; oturum-anahtar dosyası "/run/named/session.key"; dizin "/var/named"; döküm dosyası "/var/named/data/cache_dump.db"; dinleme bağlantı noktası 53 { 127.0.0.1/32; 192.168.10.5/32; }; v6'da dinleme bağlantı noktası 53 { ::1/128; }; yönetilen anahtarlar dizini "/var/adlandırılmış/dinamik"; memstatistics-file "/var/named/data/named_mem_stats.txt"; pid dosyası "/run/named/named.pid"; istatistik dosyası "/var/named/data/named_stats.txt"; dnssec-etkinleştirme evet; dnssec doğrulaması evet; yineleme numarası; izin ver-sorgu { "izlendi"; }; izin ver-transfer { 192.168.10.1/32; }; }; acl "izlendi" { 127.0.0.0/8; 192.168.10.0/24; }; günlüğe kaydetme { kanal "default_debug" { dosya "data/named.run"; dinamik şiddet; }; }; anahtar "dhcp-anahtarı" { algoritma "hmac-md5"; gizli "OI7Vs+TO83L7ghUm2xNVKg=="; }; alan "." IN { ipucu yazın; "named.ca" dosyası; }; bölge "localhost.localdomain" IN { type master; dosya "named.localhost"; güncellemeye izin ver { "yok"; }; }; bölge "localhost" IN { master yazın; dosya "named.localhost"; güncellemeye izin ver { "yok"; }; }; bölge "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 { master yazın; dosya "named.loopback"; güncellemeye izin ver { "yok"; }; }; bölge "1.0.0.127.in-addr.arpa" IN { master yazın; dosya "named.loopback"; güncellemeye izin ver { "yok"; }; }; bölge "0.in-addr.arpa" IN { master yazın; dosya "adlandırılmış.boş"; güncellemeye izin ver { "yok"; }; }; alan"desdelinux.fan" { master yazın; dosya "dinamik/db.desdelinux.fan"; izin ver-update { anahtar "dhcp-anahtarı"; }; }; bölge "10.168.192.in-addr.arpa" { ana yazın; dosya "dinamik/db.10.168.192.in-addr.arpa "; izin verme-update { anahtar "dhcp-anahtarı"; }; }; yönetilen anahtarlar { "." başlangıç ​​anahtarı 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8 g 0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD F6dsV6DoBQzgul68sGIcGOYl0OyQdXfZ1relS Qageu+ipAdTTJ9AsRTAoub7ONGcLmqrAmRLKBP6dfw hYB3N5knNnulq QxA +Uk2ihz8 = "; };
  • Değişiklik prosedürünün ardından adlandırılmış.conf İhtiyaçlarımıza ve kontrol et ve her bölge dosyasını oluşturup kontrol et, büyük yapılandırma sorunlarıyla yüzleşmemiz gerekeceğinden şüpheliyiz. Sonunda bunun bir erkek oyunu olduğunu, birçok kavram ve telaşlı sözdizimi ile. 

Kontroller tatmin edici sonuçlar verdi, bu nedenle BIND adlı işlemi yeniden başlatabiliriz.

İsmi yeniden başlatıp durumunu kontrol ediyoruz

[root @ dns ~] # systemctl restart named.service
[root @ dns ~] # adlı systemctl durumu.service

Son komutun çıktısında herhangi bir hata alırsanız, named.service'i yeniden başlatmalı ve durumunu tekrar kontrol etmelisiniz . Hatalar giderilmişse, servis başarıyla başlatılmıştır. Aksi takdirde, değiştirilen ve oluşturulan tüm dosyaları dikkatlice gözden geçirmeli ve işlemi tekrarlamalısınız.

Durumun doğru çıktısı şu şekilde olmalıdır:

[root @ dns ~] # adlı systemctl durumu.service
● named.service - Berkeley İnternet Adı Etki Alanı (DNS) Yüklendi: yüklendi (/usr/lib/systemd/system/named.service; etkin; satıcı ön ayarı: devre dışı) Etkin: aktif (çalışıyor) Pazar 2017-01-29 10:05:32 EST'den bu yana; 2 dakika 57 saniye önce Süreç: 1777 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (kod=çıkış, durum=0/SUCCESS) Süreç: 1788 ExecStart=/usr/sbin/named -u $OPTIONS adında (kod=çıkış, durum=0/SUCCESS) Süreç: 1786 ExecStartPre =/bin/bash -c eğer [ ! "$DISABLE_ZONE_CHECKING" == "evet" ]; sonra /usr/sbin/named-checkconf -z /etc/named.conf; else echo "Bölge dosyalarının kontrol edilmesi devre dışı"; fi (kod=çıkış, durum=0/SUCCESS) Ana PID: 1791 (adlandırılmış) CGrup: /system.slice/named.service └─1791 /usr/sbin/named -u isimli Ocak 29 10:05:32 dns isimli [1791]: bölge 1.0.0.127.in-addr.arpa/IN: 0 Ocak 29 10:05:32 seri yüklendi dns adlandırıldı[1791]: bölge 10.168.192.in-addr.arpa/IN: 1 Ocak seri yüklendi 29 10:05:32 dns adlı[1791]: bölge 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 : seri yüklendi 0 Ocak 29 10:05:32 dns adlı[1791]: bölge desdelinux.fan/IN: seri yüklendi 1 Ocak 29 10:05:32 dns adlı[1791]: bölge localhost.localdomain/IN: seri yüklendi 0 Ocak 29 10:05:32 dns adlandırıldı[1791]: bölge localhost/IN: yüklendi seri 0 Ocak 29 10:05:32 dns adlı[1791]: tüm bölgeler yüklendi
29 Ocak 10:05:32 dns [1791]: koşu
Jan 29 10:05:32 dns systemd [1]: Berkeley İnternet Adı Etki Alanı (DNS) başlatıldı. 29 Ocak 10:05:32 dns [1791]: bölge 10.168.192.in-addr.arpa/IN: bildirim gönderme (seri 1)

Çekler

Kontroller aynı sunucuda veya LAN'a bağlı bir makinede çalıştırılabilir. Ekipten yapmayı tercih ediyoruz sistem yöneticisi.desdelinux.fan Bölge Transferleri yapmak için açık izin verdiğimiz. Dosya / Etc / resolv.conf bu takımdan:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# NetworkManager araması tarafından oluşturulmuştur desdelinux.fan ad sunucusu 192.168.10.5

buzz@sysadmin:~$ kaz desdelinux.fan axfr
; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> desdelinux.fan axfr ;; genel seçenekler: +cmd
desdelinux.fan. 10800 SOA dns'sinde.desdelinux.fan. root.dns.desdelinux.fan. 1 86400 3600 604800 10800
desdelinux.fan. NS DNS'DE 10800.desdelinux.fan.
desdelinux.fan. 10800 IN MX 10 e-postası.desdelinux.fan.
desdelinux.fan. 10800 TXT'DE "Linux'tan, Özgür Yazılıma adanmış Blogunuz" ad-dc.desdelinux.fan. 10800 blogunda 192.168.10.3.desdelinux.fan. 10800 192.168.10.7 dns'de.desdelinux.fan. 10800 IN TO 192.168.10.5 dosya sunucusu.desdelinux.fan. 10800 ftpsunucusunda 192.168.10.4.desdelinux.fan. 10800 postasında 192.168.10.8.desdelinux.fan. 10800 proxyweb'DE 192.168.10.9.desdelinux.fan. 10800 sistem yöneticisinde 192.168.10.6.desdelinux.fan. 10800 İLE 192.168.10.1
desdelinux.fan. 10800 SOA dns'sinde.desdelinux.fan. root.dns.desdelinux.fan. 1 86400 3600 604800 10800;; Sorgu süresi: 0 msn ;; SUNUCU: 192.168.10.5#53(192.168.10.5) ;; NE ZAMAN: 29 Ocak Pazar 11:44:18 EST 2017;; XFR boyutu: 13 kayıt (mesaj 1, bayt 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 ;; genel seçenekler: +cmd 10.168.192.in-addr.arpa. 10800 SOA dns'sinde.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 10.168.192.in-addr.arpa. NS DNS'DE 10800.desdelinux.fan. 1.10.168.192.in-addr.arpa. 10800 PTR sistem yöneticisinde.desdelinux.fan. 3.10.168.192.in-addr.arpa. 10800 IN PTR ad-dc.desdelinux.fan. 4.10.168.192.in-addr.arpa. 10800 IN PTR dosya sunucusu.desdelinux.fan. 5.10.168.192.in-addr.arpa. 10800 PTR dns'de.desdelinux.fan. 6.10.168.192.in-addr.arpa. 10800 PTR proxyweb'de.desdelinux.fan. 7.10.168.192.in-addr.arpa. 10800 PTR blogunda.desdelinux.fan. 8.10.168.192.in-addr.arpa. 10800 PTR ftp sunucusunda.desdelinux.fan. 9.10.168.192.in-addr.arpa. 10800 PTR postasında.desdelinux.fan. 10.168.192.in-addr.arpa. 10800 SOA dns'sinde.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800;; Sorgu süresi: 0 msn ;; SUNUCU: 192.168.10.5#53(192.168.10.5) ;; NE ZAMAN: 29 Ocak Pazar 11:44:57 EST 2017;; XFR boyutu: 11 kayıt (mesaj 1, bayt 352)

buzz@sysadmin:~$ SOA'DA kaz desdelinux.fan
buzz@sysadmin:~$ MX'TE kaz desdelinux.fan buzz@sysadmin:~$ TXT'DE kazın desdelinux.fan
buzz @ sysadmin: ~ $ host dns
DNS.desdelinux.fan'ın adresi 192.168.10.5'tir
buzz @ sysadmin: ~ $ host sysadmin
sistem yöneticisi.desdelinux.fan'ın adresi 192.168.10.1 ... Ve ihtiyacımız olan diğer kontroller
  • Şu ana kadar KOBİ ağımızda bir DNS sunucusunun temeline sahibiz. Umarız oldukça basit olan tüm prosedürden memnun kalmışsınızdır, değil mi? 

DHCP kurup yapılandırıyoruz

[root @ dns ~] # yum dhcp yükle
Yüklü eklentiler: fastestmirror, centos tabanlı langpacks | 3.4 kB 00:00:00 centos güncellemeleri | 3.4 kB 00:00:00 Önbelleğe alınmış ana bilgisayardan yansıtma hızları yükleniyor Bağımlılıkları çözme -> İşlem testi çalıştırma ---> Paket dhcp.x86_64 12: 4.2.5-42.el7.centos yüklenmeli -> Bağımlılıkları çözme Sonlandırılan Çözülmüş Bağımlılıklar =============================================== =============================================== ================================= Paket Mimarisi Sürümü Depo Boyutu =========== =============================================== =============================================== ====================== Yükleme: dhcp x86_64 12: 4.2.5-42.el7.centos-base 511k İşlem Özeti ==== =============================================== =============================================== ============================ 1 Paket Kurulumu Toplam indirme boyutu: 511k Kurulum boyutu: 1.4 M Tamam mı [y / d / N]: y Paketleri indirme: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 İşlem denetimi çalıştırılıyor İşlem testi çalıştırılıyor İşlem testi başarılı işlem çalıştırılıyor Yükleniyor: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Kontrol: 12: dhcp-4.2.5-42. el7.centos.x86_64 1/1 Yüklendi: dhcp.x86_64 12: 4.2.5-42.el7.centos Bitti!

[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # DHCP Sunucusu Yapılandırma dosyası. # bkz. /usr/share/doc/dhcp*/dhcpd.conf.example # bkz. dhcpd.conf(5) kılavuz sayfası # ddns-update-style interim; ddns güncellemeleri açık; ddns-alan adı "desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; istemci güncellemelerini yoksay; yetkili; ip yönlendirme seçeneği kapalı; alan adı seçeneği "desdelinux.fan"; # seçenek ntp sunucuları 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; "/etc/dhcp.key" dahil ; alan desdelinux.fan. { birincil 127.0.0.1; anahtar dhcp anahtarı; } bölge 10.168.192.in-addr.arpa. { birincil 127.0.0.1; anahtar dhcp anahtarı; } paylaşılan ağ redlocal { alt ağ 192.168.10.0 ağ maskesi 255.255.255.0 { seçenek yönlendiricileri 192.168.10.1; seçenek alt ağ maskesi 255.255.255.0; seçenek yayın adresi 192.168.10.255; seçenek alan adı sunucuları 192.168.10.5; netbios-ad-sunucuları seçeneği 192.168.10.5; aralık 192.168.10.30 192.168.10.250; } } # END dhcpd.conf

[root @ dns ~] # dhcpd -t
İnternet Sistemleri Konsorsiyumu DHCP Sunucusu 4.2.5 Telif Hakkı 2004-2013 İnternet Sistemleri Konsorsiyumu. Tüm hakları Saklıdır. Bilgi için lütfen https://www.isc.org/software/dhcp/ adresini ziyaret edin. Yapılandırma dosyasında ldap-server, ldap-port ve ldap-base-dn belirtilmediğinden LDAP aranmıyor

[root @ dns ~] # systemctl dhcpd'yi etkinleştir
/Etc/systemd/system/multi-user.target.wants/dhcpd.service'den /usr/lib/systemd/system/dhcpd.service'e symlink oluşturuldu.

[root @ dns ~] # systemctl dhcpd başlat

[root @ dns ~] # systemctl durumu dhcpd
● dhcpd.service - DHCPv4 Sunucusu Arka Plan Programı Yüklendi: yüklendi (/usr/lib/systemd/system/dhcpd.service; etkin; satıcı ön ayarı: devre dışı) Etkin: etki alanı 2017-01-29 12:04:59'dan beri etkin (çalışıyor) ITS T; 23sn önce Docs: man: dhcpd (8) man: dhcpd.conf (5) Ana PID: 2381 (dhcpd) Durum: "Paketler gönderiliyor ..." CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -grup dhcpd --no-pid 29 Ocak 12:04:59 dns dhcpd [2381]: İnternet Sistemleri Konsorsiyumu DHCP Sunucusu 4.2.5 29 Ocak 12 : 04: 59 dns dhcpd [2381]: Telif Hakkı 2004-2013 İnternet Sistemleri Konsorsiyumu. 29 Ocak 12:04:59 dns dhcpd [2381]: Tüm hakları saklıdır. 29 Oca 12:04:59 dns dhcpd [2381]: Bilgi için lütfen https://www.isc.org/software/dhcp/ Jan 29 adresini ziyaret edin 12:04:59 dns dhcpd [2381]: LDAP’den beri LDAP aramıyor -server, ldap-port ve ldap-base-dn yapılandırma dosyasında belirtilmedi Jan 29 12:04:59 dns dhcpd [2381]: Leases dosyasına 0 kiralama yazdı. 29 Ocak 12:04:59 dns dhcpd [2381]: LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal Jan 29 12:04:59 dns dhcpd [2381]: LPF / eth0 üzerinden gönderme / 52: 54: 00: 12: 17: 04 / redlocal Jan 29 12:04:59 dns dhcpd [2381]: Socket / fallback / fallback-net üzerinde gönderme 29 Ocak 12:04:59 dns systemd [1]: Başladı DHCPv4 Sunucusu Arka Plan Programı.

Yapılması gereken ne kaldı?

Basit. Ücretsiz Yazılım ile bir Windows 7 veya başka bir istemci başlatın ve test etmeye ve kontrol etmeye başlayın. Bunu iki müşteri ile yaptık: Yedi.desdelinux.fan y suse-masaüstü.desdelinux.fan. Çekler aşağıdaki gibiydi:

buzz @ sysadmin: ~ $ host yedi
Yedi.desdelinux.fan'ın adresi 192.168.10.30'tir

buzz@sysadmin:~$ ana makine yedi.desdelinux.fan
Yedi.desdelinux.fan'ın adresi 192.168.10.30'tir

buzz@sysadmin:~$ TXT yedide kazın.desdelinux.fan
.... ;; SORU BÖLÜMÜ: ;yedi.desdelinux.fan. TXT'DE;; CEVAP BÖLÜMÜ: yedi.desdelinux.fan. 3600 TXT'de"31b7228ddd3a3b73be2fda9e09e601f3e9"....

Ekibi "yedi" olarak yeniden adlandırıp "LAGER" olarak yeniden başlatıyoruz. Yeni LAGER'ı yeniden başlattıktan sonra şunları kontrol ederiz:

buzz @ sysadmin: ~ $ host yedi
Yedi ana bilgisayar bulunamadı: 5 (REDDEDİLDİ)

buzz@sysadmin:~$ ana makine yedi.desdelinux.fan
Ev sahibi yedi.desdelinux.fan bulunamadı: 3(NXDOMAIN)

vızıltı@sysadmin: ~ $ host lager
bira.desdelinux.fan'ın adresi 192.168.10.30'tir

vızıltı@sysadmin:~$ana bilgisayar daha fazla.desdelinux.fan
bira.desdelinux.fan'ın adresi 192.168.10.30'tir

buzz@sysadmin:~$ TXT'de bira kaz.desdelinux.fan
.... ;; SORU BÖLÜMÜ: ;lager.desdelinux.fan. TXT'DE;; CEVAP BÖLÜMÜ: Lager.desdelinux.fan. 3600 TXT'de"31b7228ddd3a3b73be2fda9e09e601f3e9"....

Suse-masaüstü istemcisi ile ilgili olarak:

buzz @ sysadmin: ~ $ host suse-dektop
Ana bilgisayar suse-dektop bulunamadı: 5 (REDDEDİLDİ)

buzz @ sysadmin: ~ $ host suse-desktop
suse-masaüstü.desdelinux.fan'ın adresi 192.168.10.33'tir

buzz@sysadmin:~$ ana bilgisayar suse-desktop.desdelinux.fan
suse-masaüstü.desdelinux.fan'ın adresi 192.168.10.33'tir

buzz @ sysadmin: ~ $ host 192.168.10.33
33.10.168.192.in-addr.arpa alan adı işaretçisi suse-desktop.desdelinux.fan.

buzz @ sysadmin: ~ $ host 192.168.10.30
30.10.168.192.in-addr.arpa alan adı işaretçisi LAGER.desdelinux.fan.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; SORU BÖLÜMÜ: ;33.10.168.192.in-addr.arpa. PTR'DE;; CEVAP BÖLÜMÜ: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-masaüstü.desdelinux.fan. ;; YETKİLİ BÖLÜMÜ: 10.168.192.in-addr.arpa. NS DNS'DE 10800.desdelinux.fan. ;; EK BÖLÜM: dns.desdelinux.fan. 10800'DEN 192.168.10.5'E ....

buzz@sysadmin:~$ TXT suse-desktop'ta kazın.desdelinux.fan....
;suse-masaüstü.desdelinux.fan. TXT'DE;; CEVAP BÖLÜMÜ: suse-masaüstü.desdelinux.fan. 3600 TXT'DE "31b78d287769160c93e6dca472e9b46d73"

;; YETKİ BÖLÜMÜ:
desdelinux.fan. NS DNS'DE 10800.desdelinux.fan. ;; EK BÖLÜM: dns.desdelinux.fan. 10800'DEN 192.168.10.5'E
....

Aşağıdaki komutları da çalıştıralım

[root@dns ~]# kaz desdelinux.fan axfr
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> desdelinux.fan axfr ;; genel seçenekler: +cmd
desdelinux.fan. 10800 SOA dns'sinde.desdelinux.fan. root.dns.desdelinux.fan. 6 86400 3600 604800 10800
desdelinux.fan. NS DNS'DE 10800.desdelinux.fan.
desdelinux.fan. 10800 IN MX 10 e-postası.desdelinux.fan.
desdelinux.fan. 10800 TXT'DE "Linux'tan, Özgür Yazılıma adanmış Blogunuz" ad-dc.desdelinux.fan. 10800 blogunda 192.168.10.3.desdelinux.fan. 10800 192.168.10.7 dns'de.desdelinux.fan. 10800 IN TO 192.168.10.5 dosya sunucusu.desdelinux.fan. 10800 ftpsunucusunda 192.168.10.4.desdelinux.fan. 10800 LAGER'DA 192.168.10.8.desdelinux.fan. 3600 TXT'de"31b7228ddd3a3b73be2fda9e09e601f3e9"LAGER.desdelinux.fan.   3600 192.168.10.30 e-postasında.desdelinux.fan. 10800 proxyweb'DE 192.168.10.9.desdelinux.fan. 10800 192.168.10.6 suse-masaüstünde.desdelinux.fan. 3600 TXT'de"31b78d287769160c93e6dca472e9b46d73" suse-masaüstü.desdelinux.fan. 3600 192.168.10.33'teki bir sistem yöneticisinde.desdelinux.fan. 10800 İLE 192.168.10.1
desdelinux.fan. 10800 SOA dns'sinde.desdelinux.fan. root.dns.desdelinux.fan. 6 86400 3600 604800 10800

Önceki çıktıda, DHCP servisi tarafından IP adresleri atanmış ve DHCP tarafından açıkça 3600 TTL değeri belirtilmiş cihazlar için TTL değerlerini ( saniye cinsinden) kalın harflerle vurguladık . Statik IP adresleri, her bölge dosyasının SOA kaydında belirtilen 3H (3 saat = 10800 saniye) TTL değeriyle yönetilir.

Ters bölgeyi de aynı şekilde kontrol edebilirler.

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

Diğer son derece ilginç komutlar:

[root@dns ~]# isimli-dergiyazdır /var/adlandırılmış/dinamik/db.desdelinux.fan.jnl
[root @ dns ~] # adlandırılmış-journalprint /var/named/dynamic/db.10.168.192.in-addr.arpa.jnl
[root @ dns ~] # journalctl -f

Bölge dosyalarının manuel olarak değiştirilmesi

DHCP, adlandırılmış sunucunun bölge dosyalarını dinamik olarak güncellemeyi devraldıktan sonra , bir bölge dosyasını manuel olarak değiştirmemiz gerekirse, ad sunucusunu kontrol etmek için rndc yardımcı programının nasıl çalıştığı hakkında biraz daha bilgi edinmeden önce aşağıdaki prosedürü uygulamamız gerekir.

[root @ dns ~] # adam rndc
....
       dondur [bölge [sınıf [görünüm]]]
           Dinamik bir bölgedeki güncellemeleri askıya alın. Bölge belirtilmezse, tüm bölgeler askıya alınır. Bu, normalde dinamik güncelleme ile güncellenen bir bölgede manuel düzenlemelerin yapılmasına izin verir. Ayrıca günlük dosyasındaki değişikliklerin ana dosyayla senkronize edilmesine neden olur. Bölge donarken tüm dinamik güncelleme girişimleri reddedilecektir.

       çözülme [bölge [sınıf [görünüm]]]
           Dondurulmuş dinamik bir bölgede güncellemeleri etkinleştirin. Bölge belirtilmezse, tüm donmuş bölgeler etkinleştirilir. Bu, sunucunun bölgeyi diskten yeniden yüklemesine ve yükleme tamamlandıktan sonra dinamik güncellemeleri yeniden etkinleştirmesine neden olur. Bir bölge çözüldükten sonra dinamik güncellemeler artık reddedilmeyecek. Bölge değiştiyse ve farklılıklardan-ixfr seçeneği kullanımdaysa, günlük dosyası bölgedeki değişiklikleri yansıtacak şekilde güncellenecektir. Aksi takdirde, bölge değiştiyse, mevcut herhangi bir günlük dosyası kaldırılacaktır. ....

Ne yani, kılavuzun tamamını yazıya dökeceğimi mi sandın?... bir parça ve arabayla gidecekler. Gerisini size bırakıyorum. 

temelde:

  • rndc donma [bölge [sınıf [görünüm]]], bir bölgenin dinamik güncellemesini askıya alır. Biri belirtilmezse, hepsi donacaktır. Komut, donmuş bölgenin veya tüm bölgelerin manuel olarak düzenlenmesine izin verir. Herhangi bir dinamik güncelleme dondurulurken reddedilecektir.
  • rndc çözülme [bölge [sınıf [görünüm]]], önceden dondurulmuş bir bölgede dinamik güncellemeleri etkinleştirir. DNS sunucusu, bölge dosyasını diskten yeniden yükler ve dinamik güncellemeler, yeniden yükleme tamamlandıktan sonra yeniden etkinleştirilir.

Bir bölge dosyasını manuel olarak düzenlerken hangi önlemler alınmalıdır? Dosyayı oluştururken aldığımız önlemlerin aynısını, son değişikliklerle dosyayı kaydetmeden önce seri numarasını 1 artırmayı unutmamak gerekir.

Örnek:

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

[root@dns ~]# nano /var/adlandırılmış/dinamik/db.desdelinux.fan
Bölge dosyasını herhangi bir nedenle, gerekli olsun ya da olmasın değiştiriyorum. Değişiklikleri kaydederim

[root @ dns ~] # rndc çözülme desdelinux.fan
Bir bölge yeniden yükleme ve çözme başlatıldı. Sonucu görmek için günlükleri kontrol edin.

[root @ dns ~] # journalctl -f
29 Ocak 14:06:46 dns adlı[2257]: çözülme bölgesi 'desdelinux.fan/IN': başarı
29 Ocak 14:06:46 DNS adlandırıldı[2257]: bölge desdelinux.fan/IN: bölge seri (6) değişmedi. bölge kölelere aktarılamayabilir.
29 Ocak 14:06:46 DNS adlandırıldı[2257]: bölge desdelinux.fan/IN: seri 6 yüklendi

Konsolda kırmızıyla gösterilen önceki çıktıdaki hata, seri numarasını 1 artırmayı "unutmuşum" gerçeğinden kaynaklanmaktadır. Prosedürü doğru bir şekilde izlemiş olsaydım, çıktı şu şekilde olurdu:

[root @ dns ~] # journalctl -f
-- Günlükler 2017-01-29 Pazar 08:31:32 EST'de başlıyor. -- 29 Ocak 14:06:46 dns adlı[2257]: bölge desdelinux.fan/IN: 6 Ocak 29 14:10:01 seri yüklendi dns systemd[1]: Kullanıcı kökünün 43. Oturumu başlatıldı. 29 Ocak 14:10:01 dns systemd[1]: Kullanıcı kökünün 43. Oturumu başlatılıyor. 29 Ocak 14:10:01 dns CROND[2693]: (kök) CMD (/usr/lib64/sa/sa1 1 1) 29 Ocak 14:10:45 dns adlı[2257]: alınan kontrol kanalı komutu 'dondur' desdelinux.fan' 29 Ocak 14:10:45 DNS adı verildi[2257]: donma bölgesi 'desdelinux.fan/IN': başarı 29 Ocak 14:10:58 dns adlandırıldı[2257]: 'çözülme' kontrol kanalı komutu alındı desdelinux.fan' 29 Ocak 14:10:58 dns adlı[2257]: çözülme bölgesi 'desdelinux.fan/IN': başarı 29 Ocak 14:10:58 DNS adı verildi[2257]: bölge desdelinux.fan/IN: günlük dosyası güncel değil: günlük dosyası kaldırılıyor 29 Ocak 14:10:58 dns adlı[2257]: bölge desdelinux.fan/IN: seri 7 yüklendi
  • Okuyucu arkadaşlar, komutların çıktılarını dikkatlice okumanız gerektiğini tekrarlıyorum. Geliştiricileri, ne kadar basit olursa olsun, her komutu programlamak için çok fazla iş harcadı..

Resumen

Şimdiye kadar, DHCP aracılığıyla dinamik adreslerin verilmesine ve bilgisayar ve alan adlarının DNS aracılığıyla çözümlenmesine atıfta bulunarak, KOBİ Ağımızın iyi performansı için önemli ve önemli hizmetler olan DNS - DHCP çiftinin uygulanmasıyla ilgilendik.

Bizim gibi tüm prosedürü beğeneceğinizi umuyoruz. Konsolu kullanmak daha zor görünse de, onun yardımıyla UNIX® / Linux üzerinde bir servisi uygulamak çok daha kolay ve daha eğitici.

Cervantes'in değil, Shakespeare'in dilinde düşünülen, yaratılan, yazılan, revize edilen, yeniden yazılan ve yayınlanan kavramların yanlış yorumlanması için beni bağışlayın. 

Sonraki teslimat

Biraz daha aynı şeyi düşünüyorum - DNS kayıtlarına teorik eklemelerle - ama Debian'da. Bu dağıtımı unutamayız, değil mi?


Google'da tercih edilen kaynak olarak ekleyin.