Bind สามารถส่งคืนที่อยู่ IP ของระเบียน CNAME สำหรับโฮสต์ภายนอกบนเซิร์ฟเวอร์ที่เชื่อถือได้หรือไม่


0

ฉันใช้ BIND 9.9.4 ในการกำหนดค่า master / slave บน Redhat 7.4 ด้วย chroot เซิร์ฟเวอร์ถูกตั้งค่าด้วย "recursion no;" ตัวเลือกในไฟล์ named.conf ฉันมีรายการหนึ่งในไฟล์โซนของฉัน:

test    IN    CNAME    server.outsidedomain.com.

เมื่อฉันค้นหาเซิร์ฟเวอร์ dns สำหรับ test.mydomain.com ฉันต้องการให้ส่งคืนที่อยู่ IP ของ server.outsidedomain.com แต่ไม่ "เรียกคืน" การค้นหาอื่น ๆ (จริง ๆ แล้วฉันมีระเบียน CNAME จำนวนหนึ่งที่อ้างถึงโฮสต์ภายนอกของฉัน โดเมน).

ตัวอย่างไฟล์โซน: (ฆ่าเชื้อ)

$TTL 3h
@                       IN  SOA ns01.mydomain.com.  admin.mydomain.com. (
                        2018032007   ; serial number
                        2h           ; refresh
                        1h           ; retry
                        4d           ; expire
                        1d          ; default TTL
)

@                       NS  ns01.mydomain.com.
@                       NS  ns02.mydomain.com.

test                    CNAME    server.outsidedomain.com.

named.conf ส่วนย่อย: (sanitized)

options {
    listen-on port 53 { any; };
    directory   "/var/named";
    dump-file   "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query     { any; };
    allow-query-cache { 1.1.1.2; };
    allow-transfer { key "ns02.mydomain.com"; };

    recursion no;

    dnssec-enable yes;
    dnssec-lookaside auto;
    dnssec-validation yes;

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";

    managed-keys-directory "/var/named/dynamic";

    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";

    version "Unavailable";
};

เอาต์พุต nslookup: (ถูกสุขอนามัย)

# nslookup test.mydomain.com
Server: 1.1.1.1
Address: ns01.mydomain.com

Name: server.outsidedomain.com

เอาท์พุทขุด: (sanitized)

dig test.mydomain.com

; <<>> DiG 9.11.3 <<>> test.mydomain.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36042
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test.mydomain.com.            IN      A

;; ANSWER SECTION:
test.mydomain.com.     10800   IN      CNAME   server.outsidedomain.com.

ฉันต้องการ / คาดหวังที่จะเห็น: (ฆ่าเชื้อ)

# nslookup test.mydomain.com
Server: ns01.mydomain.com
Address: 1.1.1.1

Name: server.outsidedomain.com
Address: 5.5.5.5
Aliases: test.mydomain.com

นี่คือสิ่งที่เรียกซ้ำ ดูคำอธิบายที่นี่สำหรับวิธีแก้ไขคำขอ CNAME ในพื้นที่ห่างไกล: ns1.com/articles/comparing-alias-and-cname-records
Thomas Thomas

ทำไมคุณต้องการให้ส่งคืนที่อยู่ IP สำหรับ CNAME นี่ตรงกันข้ามกับวิธีการทำงานของโปรโตคอล DNS (หากเซิร์ฟเวอร์ของคุณไม่ได้รับอนุญาตในโซนที่เป้าหมาย CNAME อยู่)
Patrick Mevzek

ขอขอบคุณ. บทความนี้มีประโยชน์ คุณได้ยืนยันว่าฉันคิดว่าสิ่งต่าง ๆ (ควร) ทำงานอย่างไร ฉันมีความรู้เกี่ยวกับ DNS และรู้ว่าเพียงพอที่จะเป็นอันตราย ขอบคุณสำหรับการแบ่งปันความรู้ของคุณ !!
John Malia
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.