DNS'in Yapısı
DNS sistemi, isim sunucuları ve çözümleyicilerinden oluşur. İsim sunucuları olarak düzenlenen bilgisayarlar, host isimlerine karşılık gelen IP adresi bilgilerini tutarlar. Çözümleyiciler ise DNS istemcilerdir. DNS istemcilerde, DNS sunucu ya da sunucuların adresleri bulunur.
Bir DNS istemci bir bilgisayarın ismine karşılık IP adresini bulmak istediği zaman isim sunucuya başvurur. İsim sunucu, yani DNS sunucu da eğer kendi veritabanında öyle bir isim varsa, bu isme karşılık gelen IP adresini istemciye gönderir. DNS veritabanına kayıtların elle, tek tek girilmesi gerekir.
Daha Detaylı Bilgi İçin Lütfen Tıklayınız...
Öncelikle Pardus 19.2 Sunucumu güncelliyorum...
sudo apt update
sudo apt upgrade
Etki alan adını veya IP adresini çözümleyen DNS sunucusunu yapılandırmak için BIND'ı yüklüyoruz. BIND (İsim çözümlemeye yarayan açık kaynaklı bir program paketidir.)
apt -y install bind9 bind9utils dnsutils
Daha sonra Dns yapılandırma dosyamızın yer aldığı /etc/bind/named.conf dizinimize giriyoruz ve oluşturacağımız zone tanımlamalarını belirliyoruz.
nano /etc/bind/named.conf
"/etc/bind/named.conf.options";
"/etc/bind/named.conf.local";
Yorumla
# "/etc/bind/named.conf.default-zones";
# "/etc/bind/named.conf.external-zones";
Ekle
"/etc/bind/named.conf.internal-zones";
Daha sonra bind9 servisini yeniden başlatıyoruz...
sudo systemctl restart bind9
Şimdi ise yeni bir internal-zones oluşturuyoruz. Ben nano düzenleyicisi ile oluşturup içine aşağıda ki satırları ekleyip kendi ortamıma göre ip ve alan adımı yazıyorum...
nano /etc/bind/named.conf.internal-zones
# define for internal section
view "internal" {
match-clients {
localhost;
192.168.1.0/24;
};
# set zone for internal
zone "pardus.lab" {
type master;
file "/etc/bind/pardus.lab.lan";
allow-update { none; };
};
# set zone for internal *note
zone "0.0.10.in-addr.arpa" {
type master;
file "/etc/bind/16.1.168.192.db";
allow-update { none; };
};
include "/etc/bind/named.conf.default-zones";
};
Daha sonra izin verdiğimiz sınır aralıklarını tanımlıyoruz.
nano /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
# query range you allow
allow-query { localhost; 192.168.1.0/24; };
# the range to transfer zone files
allow-transfer { localhost; 192.168.1.0/24; };
# recursion range you allow
allow-recursion { localhost; 192.168.1.0/24; };
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
# change if not use IPV6
listen-on-v6 { none; };
};
Sunucumuzda Forward Primary Zone' da kayıt oluşturmak için aşağıda ki ayarları yapıyoruz.
nano /etc/bind/pardus.lab.lan
$TTL 86400
@ IN SOA pc.pardus.lab. root.pardus.lab. (
2019071601 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
# define name server
IN NS pc.pardus.lab.
# define name server's IP address
IN A 192.168.1.16
# define mail exchanger
IN MX 10 pc.pardus.lab.
# define IP address of the hostname
pc IN A 192.168.1.16
Daha Sonra PTR sorguları için** reverse zone** dosyası oluşturuyoruz ve aşağıda ki şekilde düzenliyoruz.
$TTL 86400
@ IN SOA pc.pardus.lab. root.pardus.lab. (
2019071601 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
# define name server
IN NS pc.pardus.lab.
# define the range of this domain included
IN PTR pc.pardus.lab.
IN A 255.255.255.0
# define hostname of the IP address
16 IN PTR pc.pardus.lab.
Şimdi ise BIND'ı yeniden başlatıyorum ve servisimin durumunu görüntülüyorum.
sudo systemctl restart bind9.service
sudo systemctl status bind9.service
Görüldüğü üzere bind servisimiz sağlıklı bir şekilde çalışmakta...
Daha sonra Syntax hatalarını kontrol etmek için komutunu çalıştırıyorum.
named-checkzone pardus.lab /etc/bind/pardus.lab.lan
Ve son olarak Dig (domain information groper) yani DNS kayıtlarına bakmak için ve yaptığımız işlemlerin doğrulunu test etmek için aşağıda ki komutu kullanıyorum.
dig pardus.lab
İP adresine karşılık gelen makine adresini bulmak için de;
dig -x 192.168.1.16
Pardus 19.2 Sunucumuz üzerine DNS kurma işleminin sonuna gelmiş bulunmaktayız...Kolay Gelsin
İyi Çalışmalar