BIND ile joker karakter DNS


14

Böylece ona yapılan tüm istekleri yakalar ve belirli bir NS sunucuları kümesi ve belirli bir A kaydı işaret BIND kurmaya çalışıyorum.

Yaklaşık 500 alanım var ve günde 10-15 oranında yenilerini ekliyorum, bu yüzden her alan için açıkça bir bölge eklemek istemiyorum.

Geçerli kurulumum: benim named.conf içinde, içinde aşağıdaki bölge ile bir görünüm (harici adlı) var:

zone "." {
        type master;
        file "ext.zone";
};

Bu, tüm isteklerle eşleşir.

ext.zone:

3600 TL
@ SOA'DA. root.nsdomain.com. (
                              1; Seri
                         3600; Yenile
                          300 ; Yeniden Dene
                         3600; sona ermek
                         300 ) ; Negatif Önbellek TTL


        IN NS ns1.example.com
        IN NS ns2.example.com

ns1 IN A 192.0.2.4
ns2 IN A 192.0.2.5

*. 192.0.2.6'DA

yani, amaç: tüm NS istekleri için, iade ns1.example.comve ns2.example.com nerede olduğu ns1.example.comveya dışındaki tüm A istekleri için ns2.example.comgeri dönün 192.0.2.6. İçin ns1.example.comdönüş 192.0.2.4için, ns2.example.comdönüş 192.0.2.5.

Bu neredeyse işe yarıyor, tek sorun bir kazı yaptığımda şunu elde ediyorum:

@localhost Instagram Hesabındaki Resim ve Videoları somedomain.example

; > DiG 9.3.6-P1-KırmızıHat-9.3.6-4.P1.el5_5.3> @loalhost somedomain.example
; (1 sunucu bulundu)
;; global seçenekler: printcmd
;; Cevabım var:
;; opcode: QUERY, durum: NOERROR, id: 37733
;; bayraklar: qr aa rd; QUERY: 1, CEVAP: 1, YETKİ: 2, İLAVE: 2

;; SORU BÖLÜM:
; Somedomain.example. İÇİNDE

;; CEVAP BÖLÜMÜ:
somedomain.example. 3600 IN A 192.0.2.6 // beklendiği gibi

;; YETKİ BÖLÜMÜ:
. 3600 IN NS ns1.example.com. // beklenen, "." başlangıçta kötü.
. 3600 IN NS ns2.example.com. // yukarıyı görmek.

;; EK BÖLÜM:
ns1.example.com. 3600 IN A 192.0.2.6 // beklenmiyor, bu 192.0.2.4 olmalıdır
ns2.example.com. 3600 IN A 192.0.2.6 // beklenmiyor, bu 192.0.2.5 olmalıdır

Bunu nasıl düzeltirim? Korkunç bir şey mi yapıyorum? Bunu yapmanın daha iyi bir yolu var mı?

Yanıtlar:


12

Bölge için başlangıç .noktanız yapılandırmanıza bağlıdır. ns1.Ve ns2.yerine kayıtlar oluşturuyorsunuz ns1.example.com.ve ns2.example.com. Beri tanımlıyor ns1.example.comve ns2.example.comtanımlanmadıysa, joker karakterle eşleştiriliyor.

EDIT: Yapılandırmanızın ve bölgenizin bir düzenlemesi:

zone "example.com." {
        type master;
        file "ext.zone";
};

ext.zone:

$TTL    3600
@       IN      SOA     ns1 root (
                              1         ; Serial
                         3600         ; Refresh
                          300         ; Retry
                         3600         ; Expire
                         300 )        ; Negative Cache TTL


        IN      NS      ns1
        IN      NS      ns2
        IN      A       192.0.2.6


ns1     IN      A       192.0.2.4
ns2     IN      A       192.0.2.5

*      IN      A       192.0.2.6

Bölgedeki her şey, belirtilen yapılandırmadaki bölge adıyla ilişkilidir, bu nedenle ikinci bir bölge eklemek aynı dosyayı gösterir:

zone "example.net." {
    type master;
    file "ext.zone";
};

RR'lerde tam etki alanını belirtmeye karar verdim, bu yüzden değiştirdim: ns1 IN A 1.2.3.4 için ns1.nsdomain.com. 1.2.3.4'te bu işe yaramadı. Şimdi tüm isteklerim NS / A yerine SOA'yı döndürüyor.
Jon Wu

Yeni bölgeyi güncelleyebilir veya ekleyebilir misiniz?
Cakemox

Nsdomain.com için yeni bir bölge ekledim ve eski "." bölge. nsdomain.com bölgesinde, ext.zone (nsdomain.zone olarak yeniden adlandırıldı) ekledim. Şimdi nsdomain.com dışındaki herhangi bir alan adına yönelik talepler olması gerektiği gibi çalışır, ns1.nsdomain.com/ns2.nsdomain.com adresini doğru IP'lerle (1.2.3.4/1.23.5) döndürür. Ancak, nsdomain.com için herhangi bir istek SOA'yı döndürür ve geçerli bir yanıt vermez :(. Kapat!
Jon Wu

Apeks için A kaydı eklemeniz gerekir. Joker karakter bunu kapsamaz. Örneğimi güncelleyeceğim.
Cakemox

Teşekkürler, işe yarıyor! Neden bu bölgede A bitini iki kez belirtmeniz gerekiyor, ancak "joker karakter" bölgesinde (bölge ".", Orijinal ext.zone) belirtmiyorsunuz? Bu şeyleri okumak için iyi bağlantılarınız var mı? Tekrar teşekkürler!
Jon Wu

1

Alt alan joker karakteri ayarlamak bindiçin aşağıdaki biçimi kullanmalısınız:

name.tld.   IN  A   IP    # main domain ip
*.name.tld. IN  A   IP    # wildcard subdomains ip

Misal:

mydomain.com.   IN  A   1.1.1.1
*.mydomain.com. IN  A   1.1.1.1 

0

Yapılandırmanızda dayanarak ns1.example.comolduğunu 192.0.2.4ve ns2.example.combir 192.0.2.5. example.comUygun IP'leri almak için bölgedeki NS sunucu adı çözümlemesini yapılandırmanız gerekir .

Umarım kendimi açıklığa kavuştururum. Daha fazla bilgiye ihtiyacınız varsa bana geri dönün.


Bu yüzden nsdomain.com için başka bir bölge eklemeli ve nsdomain.com için NS / A ayarlamalıyım?
Jon Wu

Dolayısıyla, somedomain.com ve nsdomain.com gibi 2 bölgeniz varsa, nsdomain ile ilgili bilgileri doğru bölgede ayarlamanız gerekir. Kısa cevap evet, başka bir bölge kurmanız gerekiyor.
Istvan

-5

DNS joker karakterleri sorunlara neden olabilir!

bu yüzden her etki alanı için bir bölge eklemek istemiyorum.

SHELL komut dosyalarından SQL tabanlı DNS sunucularına kadar birçok yol vardır.


UPD. (2019-11) : Ben söyledin Yani olarak 8 yıl önce , KABUK-komut dosyası gitmek için bir yoldur ve kabul cevabım önerdiği çözüm "bölge girişini ekleyerek" ile kanıtladı oldu - açıkça değil joker kullanmak dayalı. ;-)

2019'da DNS joker karakterlerinin olumsuz yönlerini açıklayan kaynakları bulmak daha da kolay ve çoğu "internetin şafağında" yazılsa da yine de bir miktar değeri var. Örneğin, RFC1912, DNS joker karakterlerinin kullanımıyla ilgili birkaç şeyden bahseder. Birincil konu açıkça "…

Joker karakter MX'leri kötü olabilir, çünkü bunun yerine başarısız olmaları gerektiğinde bazı işlemleri başarılı kılarlar . ..."

Aynı zamanda eski moda olsa da bazı gerçek yaşam örnekleri vardır.


Neden DNS joker karakteri kötüydü? Hiç de kötü değil ....
Istvan


@poige 1) bu URL artık çözülmüyor, 2) yanıtınız sırasında 8 yaşında, şimdi sözde 16 yaşında olan İnternette sonsuzluk gibi bir belgeyi ve 3) web.archive.org'daki anlık görüntüsünü alıntıladınız. /web/20030922093331/https://www.iab.org/… çoğunlukla kaynar "Özellikle, bölge operatörü riskleri net bir şekilde anlamadığı sürece DNS joker karakterlerinin bir bölgede kullanılmaması gerektiğini ve bölgenin altına devredilen kuruluşların aydınlatılmış onayı olmadan kullanılmaması gerektiğini "
Patrick Mevzek

Bunu yazdım 8. + yıl önce hala okuyup cevap veriyorsunuz. :)
poige
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.