Varsayım olarak domainimizi(yourdomain.com) Ubuntu 18.04 kurulu sunucumuzda(örnek ip:192.168.1.10) yayınlamak için , DNS ayarlarını yapılandırmamız gerekir. Aşağıdaki adımları sırasıyla gerçekleştirelim.
1- Sunucunuzda DNS ayarlamaları yapacaksanız hostname'i belirtmemiz son derece önemlidir. Hostname'de en az iki nokta olması gerekir.
Eğer sunucunuzu mail sunucusu olarak kullanacaksanız doğrulanabilirlik açısından hostname'i mail.yourdomain.com olarak oluşturmanızı tavsiye ederim ya da istediğinizi belirtebilirsiniz.(Örneğin; server.yourdomain.com gibi)
Belirttiğiniz hostname için A kaydı oluşturmayı unutmayınız.
2-Kurulumu gerçekleştirmeden makinemizi güncelleyelim ve yeniden başlatalım.
apt update -y; apt upgrade -y; reboot;
3-Makinemize BIND paketimizlerimizi kuralım .
sudo apt install bind9 bind9utils bind9-doc;
4- Kurulum tamamlandıktan sonra default olarak BIND otomatik açılır. Kontrol için aşağıdaki komutu girebilirsiniz.
systemctl status bind9;
**Sunucuda çalışan BIND versiyonunu öğrenmek için aşağıdaki komutu girebilirsiniz.
/usr/sbin/named -v
**BIND ana konfigürasyon dosyasının 3 kaynak dosyası mevcuttur.
/etc/bind/named.conf.options
/etc/bind/named.conf.local
/etc/bind/named.conf.default-zones
5-BIND9 , Ubuntu'da localhost ve local network clients için recursive servis sağlar.Kapatmak için aşağıdaki dosya yolunu açıp dosyada yer alan options parametresi içeriğinin sonuna aşağıdaki satıları ekleyin.
sudo nano /etc/bind/named.conf.options
version "not currently available";
recursion no;
querylog yes;
allow-transfer { none; };
6-BIND9 servisini yeniden başlatalım.
sudo systemctl restart bind9
**root zone ve localhost zone /etc/bind/named.conf.default-zones dosyasında tanımlanır.
/etc/bind/named.conf.local dosyası domain için bir zone eklenmek istendiğinde düzenlenir.
7-/etc/bind/named.conf.local dosyasına girip dosyanın altına aşağıdaki gibi zone'u oluşturuyoruz.
sudo nano /etc/bind/named.conf.local
zone "yourdomain.com" {
type master;
file "/etc/bind/db.yourdomain.com";
allow-transfer { 192.168.1.10; };
};
8- Oluşturduğumuz zone için dns kayıtlarını gireceğimiz zone dosyasını nano ile oluşturarak açıyoruz ve örnek olarak basit şekilde dns kayıtları girelim.
sudo nano /etc/bind/db.yourdomain.com
$TTL 86400
yourdomain.com. IN SOA ns1.yourdomain.com. hostmaster.yourdomain.com.(
2019041501 ;Serial
604800 ;Refresh
86400 ;Retry
2419200 ;Expire
86400 ) ;Negative Cache TTL
ns1.yourdomain.com. IN A 192.168.1.10
ns2.yourdomain.com. IN A 192.168.1.10
yourdomain.com. IN NS ns1.yourdomain.com.
yourdomain.com. IN NS ns2.yourdomain.com.
yourdomain.com. IN A 192.168.1.10
www.yourdomain.com. IN A 192.168.1.10
mail.yourdomain.com. IN A 192.168.1.10
yourdomain.com. IN MX 10 mail.yourdomain.com.
**Herhangi sözdizimi hatası olup olmadığını kontrol etmek için aşağıdaki komutu giriniz.
sudo named-checkconf
sudo named-checkzone yourdomain.com /etc/bind/db.yourdomain.com
9-Eğer hata yoksa , BIND9 servisini yeniden başlatalım.
sudo systemctl restart bind9
10-Sunucuda yaptığınız DNS ayarlarınızın geçerli olması için alan adınızı aldığınız yerde ns kaydı ve ns'leriniz için a kaydı açmanız gerekiyor.
ns1.yourdomain.com. IN A 192.168.1.10
ns2.yourdomain.com. IN A 192.168.1.10
yourdomain.com. IN NS ns1.yourdomain.com.
yourdomain.com. IN NS ns2.yourdomain.com.
**Eğer görmüyorsa UFW ya da iptables üzerinden dns portunu açınız.
sudo ufw allow 53/tcp;
sudo ufw allow 53/udp;
sudo iptables -A INPUT -p tcp --dport 53 -j ACCEPT ;
sudo iptables -A INPUT -p udp --dprot 53 -j ACCEPT;