RHEL/CentOS 7'de 'Bağlantısız' ile 'Yalnızca Önbellek DNS Sunucusu' Nasıl Kurulur ve Yapılandırılır


'Bağlantısız' kullanarak ad sunucularını önbelleğe almak (bir doğrulama, özyinelemeli ve önbelleğe alma DNS sunucusu yazılımıdır), RHEL/CentOS 6.x'te (burada x sürüm numarasıdır) bind'i kullandık DNS sunucularını yapılandırmak için yazılım.

Bu makalede, RHEL/CentOS 7 sistemlerine bir DNS Sunucusu kurmak ve yapılandırmak için 'ilişkisiz' önbellekleme yazılımını kullanacağız.

DNS önbellek sunucuları, aldıkları herhangi bir DNS sorgusunu çözümlemek için kullanılır. Sunucu sorguyu önbelleğe alırsa ve gelecekte herhangi bir istemci tarafından talep edilen aynı sorgular, istek DNS 'bağlanmamış' önbelleğinden teslim edilecekse, bu, ilk çözümlendiği zamana göre milisaniyeler içinde yapılabilir.

Önbelleğe alma, yalnızca ileticilerin herhangi birinden gelen müşterinin sorgusunu çözümleyen bir aracı görevi görür. Önbellekleme sunucusunun kullanılması, önbellek veritabanını ilişkisiz sunucuda tutarak web sayfalarının yüklenme süresini azaltır.

Sunucum ve İstemci Kurulumum

Gösteri amaçlı olarak iki sistem kullanacağım. İlk sistem Ana (Birincil) DNS sunucusu olarak görev yapacak, ikinci sistem ise yerel bir DNS istemcisi olarak görev yapacak güçlü>.

Ana DNS Sunucusu
Operating System   :    CentOS Linux release 7.0.1406 (Core)
IP Address	   :	192.168.0.50
Host-name	   :	ns.tecmintlocal.com
İstemci Makinesi
Operating System   :	CentOS 6
IP Address	   :	192.168.0.100
Host-name	   :	client.tecmintlocal.com

1. Adım: Sistem Ana Bilgisayar Adını ve IP'sini kontrol edin

1. Önbelleğe alma DNS sunucusunu ayarlamadan önce, sistem statik IP adresini ayarlamadıysanız, sisteminiz için doğru ana bilgisayar adını eklediğinizden ve doğru statik IP adresini yapılandırdığınızdan emin olun.

2. Doğru ana bilgisayar adını ve statik IP adresini ayarladıktan sonra aşağıdaki komutlar yardımıyla bunları doğrulayabilirsiniz.

hostnamectl
ip addr show | grep inet

Adım 2: Unbound'u Yükleme ve Yapılandırma

3. 'Unbound' paketini kurmadan önce sistemimizi en son sürüme güncellememiz gerekiyor, ardından unbound paketini kurabiliriz.

yum update -y
yum install unbound -y

4. Paket yüklendikten sonra, orijinal dosyada herhangi bir değişiklik yapmadan önce ilişkisiz yapılandırma dosyasının bir kopyasını oluşturun.

cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.original

5. Ardından, 'unbound.conf' yapılandırma dosyasını açmak ve düzenlemek için favori metin düzenleyicinizden herhangi birini kullanın.

vim /etc/unbound/unbound.conf

Dosya düzenleme için açıldığında aşağıdaki değişiklikleri yapın:

Arayüzler

Arayüz'ü arayın ve kullanacağımız arayüzü etkinleştirin veya sunucumuzda birden fazla arayüz varsa arayüz 0.0.0.0'ı etkinleştirmemiz gerekir.

Burada sunucu IP'miz 192.168.0.50 idi, bu yüzden bu arayüzde unbound kullanacağım.

Interface 192.168.0.50
IPv4 ve Protokol Desteklerini Etkinleştirin

Aşağıdaki dizeyi arayın ve 'Evet' yapın.

do-ip4: yes
do-udp: yes
do-tcp: yes
Günlüğe kaydetmeyi etkinleştir

Günlüğü etkinleştirmek için değişkeni aşağıdaki gibi ekleyin, bağlı olmayan her etkinliği günlüğe kaydedecektir.

logfile: /var/log/unbound
Kimliği ve Sürümü Gizle

id.server ve hostname.bind sorgularını gizlemek için aşağıdaki parametreyi etkinleştirin.

hide-identity: yes

version.server ve version.bind sorgularını gizlemek için aşağıdaki parametreyi etkinleştirin.

hide-version: yes
Giriş kontrolu

Daha sonra izin vermek için erişim kontrolü ifadesini arayın. Bu, hangi istemcilerin bu bağlanmamış sunucuyu sorgulamasına izin verilmesine izin vermek içindir.

Burada 0.0.0.0 kullandım, bu da herkesin bu sunucuya sorgu gönderdiği anlamına gelir. Belirli bir ağ aralığı için sorguyu reddetmemiz gerekirse, hangi ağın sınırsız sorgulardan reddedilmesi gerektiğini tanımlayabiliriz.

access-control: 0.0.0.0/0 allow

Not: İzin vermek yerine onu allow_snoop ile değiştirebiliriz; bu, dig ve gibi bazı ek parametreleri etkinleştirir. hem özyinelemeli hem de özyinelemeli olmayanları destekler.

Etki Alanı Güvenli Değil

Daha sonra domain-insecure ifadesini arayın. Alan adımız DNS sn anahtarları ile çalışıyorsa, domain-insecure için uygun sunucumuzu tanımlamamız gerekir. Burada alan adımız güvensiz olarak değerlendirilecektir.

domain-insecure: "tecmintlocal.com
İleri Bölgeler

Ardından, bu sunucu tarafından karşılanmayan talep ettiğimiz sorgunun ileticilerini değiştirin, kök etki alanına (.) iletecek ve sorguyu çözecektir.

forward-zone:
        name: "."
        forward-addr: 8.8.8.8
        forward-addr: 8.8.4.4

Son olarak wq! komutunu kullanarak yapılandırma dosyasını kaydedin ve çıkın.

6. Yukarıdaki yapılandırmayı yaptıktan sonra, şimdi aşağıdaki komutu kullanarak unbound.conf dosyasında herhangi bir hata olup olmadığını doğrulayın.

unbound-checkconf /etc/unbound/unbound.conf

7. Dosya doğrulaması sorunsuz bir şekilde tamamlandıktan sonra, 'ilişkisiz' hizmeti güvenli bir şekilde yeniden başlatabilir ve sistem başlangıcında etkinleştirebilirsiniz.

systemctl start unbound.service
sudo systemctl enable unbound.service

3. Adım: DNS Önbelleğini Yerel Olarak Test Edin

8. Şimdi bir "india.com" alan adını "ayrıntılayarak" (sorgulayarak) DNS önbelleğimizi kontrol etmenin zamanı geldi. İlk başta 'india.com' alan adı için 'ayrıntıya' komutunun sonuçları birkaç milisaniye sürecek ve ardından ikinci bir ayrıntılı inceleme gerçekleştirip Sorgu süresi hakkında bir not alacaksınız her iki tatbikat için de gereklidir.

drill india.com @192.168.0.50

Yukarıdaki çıktıda, ilk sorgunun çözümlenmesinin neredeyse 262 msn sürdüğünü ve ikinci sorgunun etki alanını çözümlemesinin 0 msn sürdüğünü gördünüz mü (india.com) b>).

Bu, ilk sorgunun DNS Önbelleğimizde önbelleğe alındığı anlamına gelir; bu nedenle, yerel DNS önbelleğimizden sunulan sorguyu ikinci kez 'ayrıntıya' çalıştırdığımızda, bu şekilde web sitelerinin yükleme hızını artırabiliriz.

Adım 4: Iptables'ı Temizleyin ve Güvenlik Duvarı Kuralları Ekleyin

9. Aynı makinede hem iptables hem de firewalld'u aynı anda kullanamayız, eğer ikisini de kullanırsak birbiriyle çakışır, dolayısıyla ipables kurallarının kaldırılması iyi bir fikir olacaktır. İptables'ı kaldırmak veya temizlemek için aşağıdaki komutu kullanın.

iptables -F

10. iptables kurallarını kalıcı olarak kaldırdıktan sonra, şimdi DNS hizmetini kalıcı olarak güvenlik duvarı listesine ekleyin.

firewall-cmd --add-service=dns
firewall-cmd --add-service=dns --permanent

11. DNS hizmet kurallarını ekledikten sonra kuralları listeleyin ve onaylayın.

firewall-cmd --list-all

Adım 5: Bağlantısızı Yönetme ve Sorun Giderme

12. Geçerli sunucu durumunu almak için aşağıdaki komutu kullanın.

unbound-control status

DNS Önbelleğini Boşaltmak

13. DNS önbellek bilgilerinin dökümünü bir metin dosyasına almak isterseniz, ileride kullanmak üzere aşağıdaki komutu kullanarak bunu bir dosyaya yönlendirebilirsiniz.

 # unbound-control dump_cache > /tmp/DNS_cache.txt

14. Dökümlü dosyadan önbelleği geri yüklemek veya içe aktarmak için aşağıdaki komutu kullanabilirsiniz.

unbound-control dump_cache < /tmp/DNS_cache.txt

DNS Kayıtlarını Temizleme

15. Belirli bir adresin, ilişkisiz önbellek Sunucusunda ileticilerimiz tarafından çözümlenip çözümlenmediğini kontrol etmek için aşağıdaki komutu kullanın.

unbound-control lookup google.com

16. Bazen DNS önbellek sunucumuz sorgumuza yanıt vermezse, bu arada A, AAA gibi bilgileri kaldırmak için önbelleği temizlemeyi kullanabiliriz. , NS, SO, CNAME, MX, PTR vb. .. DNS önbelleğinden kayıtlar. flush_zone'u kullanarak tüm bilgileri kaldırabiliriz; bu, tüm bilgileri kaldıracaktır.

unbound-control flush linux-console.net
unbound-control flush_zone tecmintlocal.com

17. Çözümleme için şu anda hangi iletmelerin kullanıldığını kontrol etmek için.

unbound-control list_forwards

Adım 6: İstemci Tarafı DNS Yapılandırması

18. Burada istemci makinem olarak bir CentOS 6 sunucusu kullandım, bu makinenin IP'si 192.168.0.100 ve gidiyorum arayüz yapılandırmasında bağlanmamış DNS sunucusu IP'mi (yani Birincil DNS) kullanmak için.

İstemci makinesinde oturum açın ve Birincil DNS sunucusu IP'sini, bağlanmamış sunucumuzun IP'sine ayarlayın.

Kurulum komutunu çalıştırın ve TUI ağ yöneticisinden ağ yapılandırmasını seçin.

Daha sonra DNS yapılandırmasını seçin, bağlanmamış DNS sunucusunun IP'sini Birincil DNS olarak girin, ancak burada hem Birincil hem de İkincil<'de kullandım. çünkü başka DNS sunucum yok.

Primary DNS	: 192.168.0.50
Secondary DNS	: 192.168.0.50

Tamam –> Kaydet ve Çık –> Çık'ı tıklayın.

19. Birincil ve İkincil DNS IP adreslerini ekledikten sonra şimdi aşağıdaki komutu kullanarak ağı yeniden başlatmanın zamanı geldi.

/etc/init.d/network restart

20. Şimdi istemci makineden herhangi bir web sitesine erişme ve bağlantısız DNS sunucusundaki önbelleği kontrol etme zamanı.

elinks aol.com
dig aol.com

Çözüm

Daha önce RHEL ve CentOS sistemlerinde bağlama paketini kullanarak DNS önbellek sunucusunu kurmaya alışmıştık. Şimdi, bağlanmamış paket kullanarak bir DNS önbellek sunucusunun nasıl kurulacağını gördük. Bunun sorgu isteğinizi bağlama paketinden daha hızlı çözeceğini umuyoruz.