Назад | Перейти на главную страницу

Динамическое глобальное имя хоста и nsupdate не отправляют обновление на полномочный сервер имен

Пытаюсь сделать DDNS. У меня есть два продукта Apple: Airport Extreme и Macbook Air, и я хочу обновить свой сервер DDNS с помощью функции «Динамическое глобальное имя хоста».

Я устанавливаю DDNS в облаке (BIND) и через мою локальную машину Ubuntu (версия nsupdate, по-видимому, «nsupdate: незаконная опция - V», я могу просто сказать:

nsupdate -D -k [TSIG key path]
> update add jeff-laptop-2013.ddns.mydomain.com 86400 A [my IP]
> send
Found zone name: ddns.mydomain.com
The master is: ns1.ddns.mydomain.com
send_update()
Sending update to [IP address of cloud DNS server]#53

и он правильно отправляет обновление на авторитетный сервер имен ns1.ddns.mydomain.com.

Однако на моем ноутбуке с OS X (тот, который я хочу обновить через динамическое глобальное имя хоста, nsupdate версии 9.10.1-P1), он настаивает на отправке его на мой «основной» DNS-сервер (если я не укажу NS), а не авторитетный НС:

> send
Found zone name: ddns.mydomain.com
The master is: ns1.ddns.mydomain.com
send_update()
Sending update to 8.8.8.8#53

(ns1.ddns.mydomain.com не разрешается до 8.8.8.8.) Ошибка:

; TSIG error with server: expected a TSIG or SIG(0)
show_message()

Reply from update query:
;; ->>HEADER<<- opcode: UPDATE, status: SERVFAIL, id:   3677
;; flags: qr ra; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; ZONE SECTION:
;ddns.mydomain.com.         IN  SOA

Возможно, поэтому динамическое глобальное имя хоста (иногда, но не воспроизводимо) выдает следующую ошибку:

2/7/15 10:55:43.623 AM discoveryd[27932]: Basic DNSResolver UDNS Send(): UDP Sendto() failed to DNSNameServer 8.8.8.8 Port 53 errno 49, fd 42, ErrLogCount 2 ResolverIntf:0

Я не знаком с BIND или Dynamic Global Hostname. Это ошибка? Как я мог разобраться в этой проблеме? Какие-либо предложения?

Да, похоже, это связано с этой ошибкой.

https://kb.isc.org/article/AA-01220/0/nsupdate-in-BIND-9.9.6-9.10.0-and-9.10.1-fail-to-resolve-the-SOA-MNAME- in-some-case.html

Кроме того, я думаю, что тип ключа должен быть HOST, а не ZONE (по умолчанию для dnssec-keygen) или USER.