Ana bilgisayar adıyla tam bir BIND9 DNS Sunucusu Yapılandırmasını nasıl yaparım?


53

Böyle bir sunucu yapılandırması üretme konusunda adım adım eksiksiz bir kılavuza ihtiyacım var.

Biri bana yardım edebilir mi?

Yanıtlar:


119

DNS sunucusu ubuntu sunucusunda 12 tamamlayın.

Her şeyden önce, sunucunuzun ip adresini DHCP formunda STATIC olarak değiştirin, bunun için aşağıdaki komutu kullanın

sudo nano /etc/network/interfaces

ve Ekle:

auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-nameservers

Ağ bağlantı kesicilerini yeniden başlat

sudo /etc/init.d/networking restart

Bir Linux sunucusunu linux Ubuntu'da yapılandırmadan önce önce alan adını girmelisiniz, sonra devam edersiniz. İlk önce bunun için hostname komutunuzu kontrol edeceksiniz

sudo nano /etc/hostname

 nefitari       

(Bu benim Ubuntu sunucumun ana bilgisayar adıdır, sizinki farklı olabilir. Bunu ihtiyacınıza göre değiştirebilirsiniz)

Şimdi ana bilgisayar adından sonra, sunucunuz için alan adı oluşturmalısınız. Servername.domain.com deyince, sunucuyu ev kullanımı için yapılandırırken,. Aşağıdaki komutu ver

  sudo nano /etc/hosts

yoksa, ekle:

  127.0.0.1   localhost

  192.168.1.5     nefitari.autun.hom    nefitari

127.0.0.1 dosyamda localhost içindir ve ikinci IP adresini 127.0.1.1 değiştirdim, sunucumun IP adresini 192.168.1.5 olarak değiştirdim, şimdi ana bilgisayar adımı nefitari olan alan adımı daha sonra alan adımı autun.hom sonra takma adımı giriyorum nefitari . Kendi, hostname.abc.net veya hostname.home.lan vb. Seçeneklerinden birini seçebilirsiniz, ancak bu dosyaya geçmenin sunucunuzu yeniden başlatmanız ve giriş yapmanız gerektiğini unutmayın. Yeniden başlatma şart

Şimdi BIND9'u yükleyin

 sudo apt-get install bind9

Kurulumdan sonra sadece aşağıdaki dosyaları adım adım yapılandırın

  • Named.conf.options
  • Named.conf.local
  • /etc/resolv.conf

Şimdi, named.conf.options dosyasını yapılandırın Bu dosya DNS IP'leri için kullanılır. Bu, sunucunuzun dışarıdaki bir DNS'ye bağlanması gerektiği anlamına gelir. ISS’lerden alan adı aldığınızda normalde size kendi DNS IPlerini veriyorlar. Google'ın açık DNS IP'lerini kullanabilirsiniz. Benim durumumda kendi ISS DNS IP'leri kullanıyorum.

 sudo nano /etc/bind/named.conf.options
 forwarders {
 # Give here your ISP DNS IP’s
192.168.1.1;    # gateway or router   
182.176.39.23;
182.176.18.13;
68.87.76.178;
  };

*** Dosyayı kaydedin ve çıkın *** x tuşunu kullanarak y düğmesine basın ve dosyanın üzerine yazın

Şimdi adlandırılmış dosyayı düzenleyin.conf.local Bu, ileri bölgeleri ve ters bölgeleri tanımladığımız dosyadır. Bu, etki alanı adını girdiğimizde IP adresine çevireceği ve IP adresini girdiğimizde basitçe isme dönüştüreceği anlamına gelir.

sudo nano /etc/bind/named.conf.local

gösterecek:

# Our forward zone
zone "autun.hom" {
 type master;
 file "/etc/bind/zones/db.autun.hom";
 };

# Our reverse Zone 
# Server IP 192.168.1.5 
zone "1.168.192.in-addr.arpa" {
  type master;
  file "/etc/bind/zones/db.192";
 };

*** Dosyayı kaydedin ve çıkın *** x tuşunu kullanarak y düğmesine basın ve dosyanın üzerine yazın

Şimdi bu iki veritabanı dosyasını db.autun.hom ve db.192 'yi zones klasöründe yapacağız .

İlk önce / etc / bind / içindeki dizin bölgelerini yapın

  sudo mkdir /etc/bind/zones

Dosyaları oluşturmadan önce, farklı cihazlarım olduğunu anlatayım

Cihazların IP'leri

  • Sunucunun kendisi 192.168.1.5
  • Ağ Geçidi 192.168.1.1
  • Win7pc 192.168.1.50

Şimdi bölge dizininde ilk önce iki dosya yaratacağız . Db.autun.hom . Sadece kopyalama am db.local zaten mevcut / etc / bağlama bölgeleri için klasör adını değiştirerek klasörü db.autun.hom . Bu IP'leri db.autun.hom dosyama koyacağım. Hadi başlayalım

sudo cp /etc/bind/db.local  /etc/bind/zones/db.autun.hom

Şimdi dosyayı düzenlemek için aşağıdaki komutu kullanın

sudo nano /etc/bind/zones/db.autun.hom

 ;
 ; BIND data file for local loopback interface
 ;
 $TTL    604800
 @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
  ;
autun.hom.      IN  NS  nefitari.autun.hom.
autun.hom.      IN  A   192.168.1.5
   ;@               IN  A   127.0.0.1
   ;@               IN  AAAA    ::1
nefitari            IN  A   192.168.1.5
gateway         IN  A   192.168.1.1
win7pc          IN  A   192.168.1.50
www     IN  CNAME   autun.hom.

Kaydet ve çık

  • Webuser.autun.hom. isim sunucusuna erişecek olan e-postadır. Yönetici, root veya host master gibi webuser yerine istediğiniz ismi yazabilirsiniz.
  • Autun.hom. benim NS'im isim sunucusudur
  • IP 192.168.1.5 olarak değişen Autun.hom.
  • @ IN 127.0.0.1 ve AAAA :: 1 , db.local zaten / etc / bind dosyasında mevcut olduğundan, o dosyanın sadece bir kopyası olduğundan, ona ihtiyaç duymamanız gerektiği konusunda yorum yapılabilir. Yani silmenize gerek yok
  • Nefitari'nin IP'ye Değiştirilmesi 192.168.1.5
  • IP ağ geçidi 192.168.1.1
  • Win7pc , Windows PC'lerinizi veya Linux İstemcilerinizi herhangi bir isimle isimlendirebilir ancak bu istemcinin IP'sinin dosyaya doğru bir şekilde yerleştirilmesi gerektiğini unutmayın. Benim durumumda Windows PC’nin IP’sini verdim
  • Son olarak, CNAME kullanıyorum , kanonik ad, nefitari için sadece bir takma addır. Sunucunuza, nefitari.autun.hom yerine www.autun.hom adresini girerek erişebileceğiniz anlamına gelir. Bunu atlayabilir veya yorum yapabilirsiniz. Bu sadece size kalmış.

Şimdi geriye doğru arama bölgesi dosyası oluştur

sudo cp /etc/bind/db.127    /etc/bind/zones/db.192

Şimdi dosyayı düzenlemek için aşağıdaki komutu kullanın

sudo nano /etc/bind/zones/db.192

   ;
   ; BIND reverse data file for local loopback interface
   ;
   $TTL    604800
   @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
   ;
        IN  NS  nefitari.
1   IN  PTR gateway.autun.hom.
5   IN  PTR nefitari.autun.hom.
50  IN  PTR win7pc.autun.hom.

Kaydet ve çık

Şimdi bölge dosyanızı tamamladığınızda, ileri bölge dosyası için aşağıdaki komutu girerek düzgün çalışıp çalışmadığını kontrol etmeniz gerekir.

named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial   2
Ok

Şimdi ters bölge dosyasını kontrol edin

named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial   2
Ok 

Adlandırılmış kontrol alanınızın çıktısı yukarıdakiyle aynıysa, iyi çalışıyorsa dosyada bir hata yaptınız.

Şimdi resolv.conf dosyasını düzenleyin

sudo nano /etc/resolv.conf

nameserver      192.168.1.5
domain      autun.hom
search      autun.hom

Resolv.conf dosyasına aşağıdaki satırları girin ve kaydedin.

Bağlamayı yeniden başlat

sudo /etc/init.d/bind9 restart

Bağlantı başlattıktan sonra ayarınızı günlük dosyasında kontrol edin.

tail -f /var/log/syslog

Günlükte herhangi bir hata olmamalıdır

İleri bölgeleri kontrol etme

host –l autun.hom

Çıktı böyle olmalı

 autun.hom name server nefitari.autun.hom.
 autun.hom has address 192.168.1.5
 gateway.autun.hom has address 192.168.1.1
 nefitari.autun.hom has address 192.168.1.5
 win7pc.autun.hom has address 192.168.1.50

Şimdi NSLOOKUP'ı kullan

nslookup autun.hom

ÇIKTI

Server: 192.168.1.5
Address: 192.168.1.5#53

Name: autun.hom
Address: 192.168.1.5

DIG kullan

 dig gateway.autun.hom

 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35612
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

 ;; QUESTION SECTION:
 ;gateway.autun.hom         IN  A

 ;; ANSWER SECTION:
 gateway.autun.hom      604800  IN  A   192.168.1.1

 ;; AUTHORITY SECTION:
 Autun.hom.     604800  IN      NS  nefitari.autun.hom. 

 ;; ADDITIONAL SECTION:
 Nefitari.autun.hom.    604800  IN      A   192.168.1.5

 ;; Query time: 12 msec
 ;; SERVER: 192.168.1.5#53(192.168.1.5)
 ;; WHEN: Thu Aug 8 01:56:25 2013
 ;; MSG SIZE  rcvd: 90

Çıktı, yukarıdakine benzer olmalıdır, durumu kontrol et : NOERROR, sorunun çözüldüğü anlamına gelir.

Ters bölgeyi kontrol etme

 host 192.168.1.1

Çıktı

 1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom

Aşağıdaki gibi bir hata veriyorsa

 host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)

Bu, /etc/bind/named.conf.local dosyasında ters bölgedeki bazı hataları yaptığınız anlamına gelir . Sunucu IP'niz 192.168.1.5 ise , ters bölgeniz şöyle görünür.

zone "**1.168.192**.in-addr.arpa" {
 correct ip reversing
};

Bazen insanlar ipi ters çevirirken hata yaptılar (sadece bir örnek)

zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};

NSLOOKUP kullanın

nslookup 192.168.1.1

Server: 192.168.1.5
Address: 192.168.1.5#53

1.1.168.192.in-addr.arpa    name=gateway.autun.hom

NXDOMAIN veya SERVFAIL gibi hatalar alırsanız, bölge dosyanızdan birinin doğru şekilde çalışmadığı anlamına gelir

Şimdi ubuntu.com'a ping atabilir veya ubuntu.com'u ilk kez kazabilirsiniz ubuntu.com ismini çözmek için birkaç milisaniye gerekir, ancak ikinci kez çalıştırdığınızda normalde 1, 10 veya 3 saniye sürer. saniye normaldir ve bu, DNS’inizin düzgün çalıştığını gösterir.

İstemcileri yapılandırma

pencere tarafı

  • açık ağ bağlantıları
  • adaptör ayarlarını değiştir seçeneğini seçin
  • özellikleri seç
  • İnternet protokolü sürümünü seçin IPv4

ve burada IP adresini verin (benim durumumda bu 192.168.1.50 win7pc'yi hatırladınız mı)

  • IP adresi 192.168.1.50
  • Alt Ağ Maskesi 255.255.255.0
  • Varsayılan Ağ Geçidi 192.168.1.1
  • birincil DNS 192.168.1.5 (yeni BIND DNS sunucum ip)
  • aynı pencerede Gelişmiş'i seçin
  • DNS sekmesini seçin
  • Buraya aşağıdaki metin kutusunu yazın . Bu bağlantı için DNS Son Ekinde: autun.hom
  • tıklayın Tamam
  • Çıkışta validate ayarına tıklayın
  • Tamam'ı tıklayın

ve bununla işiniz bitti CMD

ping gateway

sana bazı cevaplar vermeli

benzer şekilde

ping 192.168.1.1 or 5

sana bazı cevaplar vermeli

Sunucunuzu Dış Dünyaya Sınayın

Şimdi ubuntu.com'a ping atabilir veya ubuntu.com'u ilk kez kazabilirsiniz ubuntu.com adını çözmek için birkaç milisaniye gerekir, ancak ikinci kez çalıştırdığınızda 1 ila 10 mili saniye, normal zamanı ve DNS'nizin düzgün çalıştığı anlamına gelir İstemcileri yapılandırma

pencere tarafı

ağ bağlantılarını aç bağdaştırıcı ayarlarını değiştir seç özellikleri seç Internet protokolünü seç IPv4 sürümünü seçin

ve burada IP adresini verin (benim durumumda bu 192.168.1.50 win7pc'yi hatırladınız mı)

IP adresi 192.168.1.50

Alt Ağ Maskesi 255.255.255.0

Varsayılan Ağ Geçidi 192.168.1.1

birincil DNS 192.168.1.5 (yeni BIND DNS sunucum ip)

Gelişmiş'i seçin (aynı pencerede)

DNS sekmesini seçin

Buraya aşağıdaki metin kutusunu yazın. Bu bağlantı için DNS Son Ekinde: autun.hom

tıklayın Tamam

çıkışta validate ayarına tıklayın

tıklayın Tamam

ve bununla işiniz bitti CMD

Kod:

 ping gateway

sana bazı cevaplar vermeli

benzer şekilde

Kod:

 ping 192.168.1.1 or 5

NSLOOKUP Kodunu kullanabileceğiniz bazı cevaplar vermelidir :

 nslookup gateway

LINUX İSTEMCİLERİ

Kod:

 sudo nano /etc/network/interfaces

aşağıdaki satırları yazın

Kod:

 auto eth0
 iface eth0 inet dhcp

Şimdi Network Deamons'u yeniden başlatın

Kod:

 sudo /etc/init.d/networking restart

müşteriyi IP komutunu yenilemeye zorlamak

Kod:

 sudo dhclient -r

Şimdi taze IP edinin:

Kod:

 sudo dhclient

Ağınızda DHCP sunucusu kullanıyorsanız, dhcpd.conf dosyasına etki alanı adını ve ad sunucusunu girin; örneğin nefitari.autun.hom adında bir DNS sunucum var ve IP adresi 192.168.1.5 altında olduğu gibi

Kod:

 option domain-name "nefitari.autun.hom";
 option domain-name-server  192.168.1.5;

kaynak


7
Bu sayfanın 3700 benzersiz manzarası olması ve cevabının sadece bir olumlu oyu olması utanç verici. Size yardımcı olsaydı, oy verin!
fotanus

12
Bu cevap, /etc/resolv.conf düzenleme kısmı dışında doğrudur. Ubuntu 12.04'ten beri bu dosyayı elle düzenlemezsiniz, ancak resolvconf'u yapılandırın. RESOLVCONF = yes / / / / default / bind9 'a ayarlayın, BIND 9' un yerel dinleme adresini 127.0.0.1 kaydettiği zaman başladığında resolvconf ile kaydedin. /Etc/resolv.conf dosyasının sembolik bir link olduğundan emin olun ../run/resolvconf/resolv.conf.
jdthood

1
syslog hataları - (network unreachable) resolving './NS/IN': 2001:500:3::42#53ipv6 kullanarak sorguları tekrarlı bir şekilde çözmeye çalışıyorlar. Düzenlemek /etc/default/bind9ve kullanmak OPTIONS="-u bind -4"onu düzeltir. Daha fazla bilgi: serverfault.com/questions/77325/unreachable-resolving-domain
bir düzeltme eki

Kurulumu 16.04 Ubuntu sunucusu ile yeni aldım ve hala çalışıyor. DNS'deki Serverguide dersi, bu açıklamaya kıyasla bir kabustur. Ancak, ben bir düzeltmek zorunda hatayı listelerinde: dosyasında db.192daha önce IN NS nefitari.bir olan @kayıp. Ayrıca FQDN'yi eklemek zorunda kaldım, bu yüzden çalışma@ IN NS nefitari.autun.hom. çizgim bu şekilde görünüyordu , resolv.conf bölümünü görmezden geldim ve jdthood'dan gelen önerileri takip ettim. Bağlantı, varsayılan sunucu kurulumundan zaten oradaydı.
CatMan

1
@fotanus bence o kadar uzun, çünkü insanlar geri yükseltmek için yukarı kaydırmayı unutmuşlar \
CodyBugstein

1

Cevap, yukarıdaki açıklamaya ek olarak verilebilir.

Sorun giderme ipucu

Pek çok kişiye dikkat edin. yapılandırma dosyalarında her biri önemlidir. Tek bir eksik '.' DNS sunucusunun çalışmasını durdurabilir. Net hata mesajlarına güvenmemelisiniz.

Daha iyi bir seri numarası kullanmak için iyi bir uygulama öğrendim. Kurulum her değiştirildiğinde, örneğin yeni girişler eklendiğinde seri numarasını artırmak çok önemlidir. Artan değilse, ikincil bir DNS yeni ayarları senkronize edemez. Önerilen biçimi YYYYMMDDssnerede, ss"eski" seri numarasıdır. Bu nedenle, artırırken, ss+1 artırmalı ve tarihi geçerli tarihe ayarlamalısınız. Bunu kurulum sorunlarını gidermede çok faydalı buldum. Sistem günlüğünde, kullanılan dosyanın tarihini ve dizisini açıkça görebilirsiniz.

Ubuntu 16.04’te, resolv.conf’un değiştirilmesi onaylanmamıştır. Jdthood , yorumunda yazdığı gibi , adımı şu prosedürle değiştirin: - Değişim / etc / default / bind9: yeni şöyle görünmelidir:

   # run resolvconf?
   RESOLVCONF=yes

   # startup options for the server
   OPTIONS="-u bind"

   # use this when you have trouble with IPV6
   #OPTIONS="-u bind -4"

IPV6 sorunları için düzeltme ekinin olmadığı bir yoruma bakın .

  • /etc/resolv.conf 'un bir linkini /run/resolvconf/resolv.conf' a ekleyin

     cd /etc
     sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
    

Çevrimdışı Kurulum

Kurulum tam olarak aynı ve hatta biraz daha kolay, çünkü sadece ileri yöndeki bölümleri atlayabilirsiniz. Var olmaları gerekmediğinden, düzenlemeye gerek yoktur /etc/bind/names.con.options.

B Sınıfı Ağlar

Bu çalışmayı B sınıfı ağlar için yapmak için gereken birkaç küçük değişiklik var (yorum yapılmadan önce, yerel bir ağın evde bile, B sınıfı bir ağ yerine B sınıfı olmamasının bir nedeni yoktur) . Bu örnekte 172.20.xx ağ numarasını kullanıyorum (daha fazla bilgi için google rfc1918'de resmi gösterimin 172.20.0.0. Olduğunu düşünüyorum).

İlk cevaptaki açıklamayı kullanın, tüm IP 192.168.xx kodunu 172.20.xx ile değiştirin, IP 172.20.0.100 sunucusunu kullanın ve dosyaları aşağıdaki gibi değiştirin:

  • dosyanın adı db.192olur db.172.
  • dosya named.conf.localfarklı bir ters bölge bölümü alır:

    zone "20.172.in-addr.arpe" {
    type master;
    file "/etc/bind/zones/db.172";
    }
    
  • Ters bölge dosyası şu şekilde değişir:

    ;
    ; BIND reverse data file for 172.20.x.x
    ;
    $TTL    604800
    @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                 2017022102         ; more intuitive serial YYYYMMDDss, here ss=02
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
    
    ; note: the '@'was missing from in the initial description
    @       IN  NS  nefitari.autun.hom.    
    
    100.0   IN  PTR nefitari.autun.hom. 
    121.0   IN  PTR client1.autun.hom.
    130.0   IN  PTR client2.autun.hom.
    33.0    IN  PTR client3.autun.hom.
    

Gerisi aynı.

Birisi için yararlı olacağını umuyorum.


Hem 172.16 hem de 172.20 adreslerini kullanmak istiyorsanız, bu işe yarar mı?
kojow7

@ kojow7. Çok güzel bir soru. Bilmiyorum ama öğrenmek için sadece ikinci bir bölge ve ikinci bir ters dosya eklemek için kontrol edebilirsiniz. Nslookup komutu ile test etmek kolaydır. Veya belki de daha iyisi, yalnızca 172.16'yı içeren bir Netmask kullanmaktı. ve 172.20. Ağ maskesi 255.255.0.0 kadar basit olmaz, ancak 0 ve 255'in yanında başka numaralar içerir, ancak ağda zaten bilmediğiniz durumlarda bunu nasıl çözeceğinizi öğrenebilirsiniz. Çözmüşseniz, lütfen başkalarının yararı için buraya göndermeyi düşünün.
CatMan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.