Saya sudah:
- server DNS internal
ns1.internal
dengan IP192.168.0.4
. - server DNS eksternal dengan TLD eksternal
mydns.example.com
dan IP internal192.168.0.5
. Ini dapat diakses baik dari Internet (melalui aturan NAT statis) dan dari jaringan lokal.
Saya mencoba mengatur server DNS eksternal saya untuk meneruskan zona subzone.mydns.example.com
ke server DNS internal. Server DNS internal adalah otoritatif untuk zona ini.
Penting: Saya tidak dapat mengubah konfigurasi server DNS internal. Namun, saya dapat membacanya jika perlu untuk mendiagnosis masalah tersebut.
File /etc/named.conf
di server DNS eksternal:
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; };
};
File /var/named/mydns.example.com.zone
di server DNS eksternal:
$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.
Jadi, sekarang saya mencoba menyelesaikan beberapa catatan DNS. Zona server eksternal tampaknya berfungsi.
workstation$ dig mydns.example.com NS +tcp +short
mydns.example.com.
Tetapi zona penerusan tidak berfungsi:
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
Hasilnya identik ketika perintah ini dijalankan pada host Internet jarak jauh dan pada host internal.
Jika saya mencoba menyelesaikan subzone.mydns.example.com.
dari server nama eksternal DAN menentukan server internal secara eksplisit, saya mendapatkan:
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
Apa yang salah? Bagaimana cara mengkonfigurasi zona DNS penerusan agar berfungsi seperti yang saya harapkan?
subzone IN NS mydns.example.com.
(saya anggap zonefile memiliki suatu tempat juga catatan A untuk @ = mydns.example.com, betul?)