ฉันใช้ 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