У меня есть следующий файл зоны:
testzone.local. IN SOA MyUbuntu hostname (
6 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
;---------------- records --------------
b._dns-sd._udp IN PTR device-discovery
lb._dns-sd._udp IN PTR device-discovery
device-discovery IN NS test-server-host
test-server-host IN A 192.168.1.10
;--------------- End of records ---------
;
; Name servers
;
@ IN NS MyUbuntu
MyUbuntu IN A 192.168.1.28
devicemachine IN A 192.168.1.10
Dig дает ответы на b._dns-sd._udp.testzone.local
, lb._dns-sd._upd.testzone.local
и test-server-host
но не для device-discovery.testzone.local.
Ниже приводится результат, когда я копаюсь на device-discovery.testzone.local
NS
kg@MyUbuntu:~$ dig @localhost NS device-discovery.testzone.local
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @localhost NS device-discovery.testzone.local
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 13783
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;device-discovery.testzone.local. IN NS
;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Feb 17 07:35:27 AEDT 2017
;; MSG SIZE rcvd: 64
Что-то не так с файлом зоны? Я видел множество примеров в сети и ожидал, что это сработает.
Большое спасибо.
ФАЙЛ ОБНОВЛЕННОЙ ЗОНЫ НЕ РАБОТАЕТ
kg@MyUbuntu:/etc/bind/zones$ cat db.testzone.local
testzone.local. IN SOA MyUbuntu hostname (
9 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
testzone.local. IN NS MyUbuntu.testzone.local.
testzone.local. IN NS hostname.testzone.local.
b._dns-sd._udp IN PTR device-discovery
lb._dns-sd._udp IN PTR device-discovery
device-discovery IN NS test-server-host
test-server-host IN A 192.168.1.10
;
; Name servers
;
@ IN NS MyUbuntu
MyUbuntu IN A 192.168.1.28
hostname IN A 192.168.1.28
kg@ MyUbuntu:/etc/bind/zones$ named-checkzone testzone.local db.testzone.local
db.testzone.local:1: no TTL specified; using SOA MINTTL instead
zone testzone.local/IN: loaded serial 9
OK
kg@ MyUbuntu:/etc/bind/zones$ sudo service bind9 restart
kg@ MyUbuntu:/etc/bind/zones$ sudo service bind9 status
● bind9.service - BIND Domain Name Server
Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabl
Active: active (running) since Fri 2017-02-17 11:55:59 AEDT; 5s ago
Docs: man:named(8)
Process: 5402 ExecStop=/usr/sbin/rndc stop (code=exited, status=0/SUCCESS)
Main PID: 5407 (named)
Tasks: 5 (limit: 9830)
CGroup: /system.slice/bind9.service
└─5407 /usr/sbin/named -f -u bind
Feb 17 11:55:59 MyUbuntu named[5407]: managed-keys-zone: loaded serial 41
Feb 17 11:55:59 MyUbuntu named[5407]: zone 0.in-addr.arpa/IN: loaded serial
Feb 17 11:56:00 MyUbuntu named[5407]: /etc/bind/zones/db.testzone.local:1: n
Feb 17 11:56:00 MyUbuntu named[5407]: zone testzone.local/IN: loaded serial
Feb 17 11:56:00 MyUbuntu named[5407]: zone localhost/IN: loaded serial 2
Feb 17 11:56:00 MyUbuntu named[5407]: zone 127.in-addr.arpa/IN: loaded seria
Feb 17 11:56:00 MyUbuntu named[5407]: zone 255.in-addr.arpa/IN: loaded seria
Feb 17 11:56:00 MyUbuntu named[5407]: all zones loaded
Feb 17 11:56:00 MyUbuntu named[5407]: running
Feb 17 11:56:00 MyUbuntu named[5407]: zone testzone.local/IN: sending notifi
kg@ MyUbuntu:/etc/bind/zones$ dig @localhost device-discovery.testzone.local. NS
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @localhost device-discovery.testzone.local. NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 52820
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;device-discovery.testzone.local. IN NS
;; Query time: 15 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Feb 17 11:57:02 AEDT 2017
;; MSG SIZE rcvd: 64
Это было решено за счет наличия файла зоны для подзоны.
Мне нужно было создать файл зоны для подзоны: device-discovery.testzone.local и добавить информацию о зоне в named.conf.local
В файле зоны для подзоны я определил сервер имен для device-discovery.testzone.local как test-server-host.testzone.local. Это сработало!
Ваши аргументы dig
похоже, вышла из строя. Чтобы запросить тип записи DNS, укажите имя домена перед типом - используйте dig @nameserver some.domain. type
. В случае вашего примера попробуйте dig @localhost device-discovery.testzone.local. NS