Dahili bir DNS sunucusu için BIND ileri bölgesini nasıl doğru şekilde yapılandırırım?


15

Sahibim:

  1. ns1.internalIP ile dahili DNS sunucusu 192.168.0.4.
  2. harici TLD mydns.example.comve dahili IP'ye sahip harici DNS sunucusu 192.168.0.5. Hem Internet'ten (statik bir NAT kuralı aracılığıyla) hem de yerel ağdan erişilebilir.

Harici DNS sunucumu bölgeyi subzone.mydns.example.comdahili DNS sunucusuna iletmek için kurmaya çalışıyorum . Dahili DNS sunucusu bu bölge için yetkilidir.

Önemli: Dahili DNS sunucusu yapılandırmasını değiştiremiyorum. Bununla birlikte, sorunu teşhis etmek gerekirse bunu okuyabilirim.

/etc/named.confHarici DNS sunucusundaki dosya :

options {
  directory "/var/named";
  version "get lost";

  recursion yes;
  allow-transfer {"none";};
  allow-query { any; };
  allow-recursion { any; };
};

logging{
  channel example_log{
   file "/var/log/named/named.log" versions 3 size 2m;
   severity info;
   print-severity yes;
   print-time yes;
   print-category yes;
 };
 category default{
  example_log;
 };
};

// Zones:

zone "mydns.example.com" {
  type master;
  file "mydns.example.com.zone";
  allow-update{none;};
};

zone "subzone.mydns.example.com" {
  type forward;
  forwarders { 192.168.0.4; };
};

/var/named/mydns.example.com.zoneHarici DNS sunucusundaki dosya :

$TTL 1
$ORIGIN mydns.example.com.
@             IN      SOA   mydns.example.com. root.mydns.example.com. (
                        2003080800 ; se = serial number
                        60         ; ref = refresh
                        60         ; ret = update retry
                        60         ; ex = expiry
                        60         ; min = minimum
                        )

@             IN      NS      mydns.example.com.

Şimdi, bazı DNS kayıtlarını çözmeye çalışıyorum. Harici sunucu bölgesi çalışıyor gibi görünüyor.

workstation$ dig mydns.example.com NS +tcp +short
mydns.example.com.

Ancak iletilen bölge çalışmıyor:

workstation$ dig subzone.mydns.example.com NS +tcp

; <<>> DiG 9.8.1-P1 <<>> subzone.mydns.example.com NS +tcp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 36887
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;subzone.mydns.example.com.        IN      NS

;; AUTHORITY SECTION:
mydns.example.com.    1       IN      SOA     mydns.example.com. root.mydns.example.com. 2003080800 60 60 60 60

;; Query time: 3 msec
;; SERVER: 91.144.182.3#53(91.144.182.3)
;; WHEN: Thu Jul 19 17:27:54 2012
;; MSG SIZE  rcvd: 108

Bu komutlar uzak Internet ana bilgisayarında ve dahili bir ana bilgisayarda yürütüldüğünde sonuçlar aynıdır.

subzone.mydns.example.com.Harici ad sunucusundan çözümlemeye çalışır ve iç sunucuyu açıkça belirtirseniz, ben olsun:

mydns$ dig @192.168.0.4 subzone.mydns.example.com NS

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> @192.168.0.4 subzone.mydns.example.com NS
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 87
;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 3

;; QUESTION SECTION:
;subzone.mydns.example.com.        IN      NS

;; ANSWER SECTION:
subzone.mydns.example.com. 3600 IN NS      ns1.internal.

;; ADDITIONAL SECTION:
ns1.internal.      3600    IN      A       192.168.0.4

;; Query time: 613 msec
;; SERVER: 192.168.0.4#53(192.168.0.4)
;; WHEN: Thu Jul 19 18:20:55 2012
;; MSG SIZE  rcvd: 163

Sorun nedir? Yönlendirme DNS bölgesini beklediğim gibi çalışacak şekilde nasıl yapılandırabilirim?


Şüphem (nasıl kontrol edileceğinden emin değilim) harici DNS sunucusunun kayıtları dahili olandan alması ve ns1.internal'ın bölgeden sorumlu olduğu gerçeğinin üzerine yazmamasıdır. Bu nedenle, istemcinin çözümleyicisi bu adı (ns1.internal) çözümlemeye çalışır ve başarısız olur.
vadipp

3
tam olarak ne olduğunu görmek için bir kazı + izi deneyin. Ayrıca, sorgu günlüğünü etkinleştirmek ve hataları denetlemek için nscd'yi kullanın.
coredump

İlk olarak, tek tek istekleri günlüğe kaydetmek için harici bağlamanın günlük düzeyini artırın. Benim tahminim subzone.mydns.example.com bölgesinin mydns.example.com DNS sunucusuna bir temsilci olması gerektiğidir. Bunu mydns.example.com bölge dosyasına eklemeyi deneyin: subzone IN NS mydns.example.com.( bölge dosyasının aynı zamanda @ = mydns.example.com için de A kaydı olduğunu varsayalım, doğru mu?)
Nils Toedtmann

Yanıtlar:


14

'Yalnızca ileri'; iletilen bölgeye ifade:

zone "subzone.mydns.example.com" {
    type forward;
    forward only;
    forwarders { 192.168.0.4; };
};

0

NS "subzone.mydns.example.com" için A RR'yi yapılandırmanız gerekir. harici DNS'nizde. "Tutkal kaydı" olarak adlandırılır ve dahili DNS'inizin IP'sine karşılık gelir. Şu anda, harici DNS'niz dahili DNS'nin IP'sini bilemez. Saygılarımızla


0

Yaptım ve başka bir adım daha, @ brandon-xavier tarafından belirtilen ilk:

zone "subzone.mydns.example.com" {
    type forward;
    forward only;
    forwarders { 192.168.0.4; };
};

ve yenisi:

$ORIGIN subzone.mydns.example.com.
@             IN      NS      ns1.subzone.mydns.example.com.

Ama neden gerekli olduğunu bilmiyorum ...

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.