DHCP DDNS не работает для клиентов Linux

Это та же проблема, что и здесь, но нет никаких признаков того, что она когда-либо была решена для Эдди. Кроме того, я уже посмотрел на различные ответы и попробовал то, что было предложено, но безуспешно.


У меня есть окно Linux с запущенной службой DHCP (V3.0.7) и BIND9 (9.6.0-P1). Я настроил так, чтобы служба DHCP обновляла локальную зону DNS. Обновления DNS отлично работают для клиентов Windows и Mac, но не для Linux (Debian Lenny и Ubuntu 8.10). Просматривая файл dhcp.leases, я вижу информацию, связанную с DDNS, добавленную для договоров аренды, переданных клиентам Win и Mac, но эта информация отсутствует для договоров аренды, выданных клиентам Linux. Извлечение файла аренды:

lease 192.168.10.199 {
  starts 4 2010/01/07 00:56:43;
  ends 5 2010/01/08 00:56:43;
  tstp 5 2010/01/08 00:56:43;
  binding state active;
  next binding state free;
  hardware ethernet 00:0c:e5:4d:9e:e9;
  uid "\001\000\014\345M\236\351";
  set ddns-rev-name = "199.10.168.192.in-addr.arpa.";
  set ddns-txt = "316ae6c100af725fdd91f9de7f200d6c7a";
  set ddns-fwd-name = "dell.mylocaldomain";
  client-hostname "dell";
}
lease 192.168.10.198 {
  starts 4 2010/01/07 05:14:39;
  ends 5 2010/01/08 05:14:39;
  binding state active;
  next binding state free;
  hardware ethernet 00:1c:42:e2:6f:4a;
  client-hostname "ubuntu";
}

Соответствующая часть dhcpd.conf:

authoritative;
ddns-updates on;
ddns-update-style interim;
ignore client-updates; # Have also tried allow client-updates, no change

update-static-leases on;
include "/etc/rndc.key";

zone mylocaldomain {
    primary 192.168.10.1;
    key rndckey;
}

zone 10.168.192.in-addr.arpa. {
    primary 192.168.10.1;
    key rndckey;
}

Я пошел к тому, чтобы останавливать службы DHCP и DNS и очищать всю информацию, касающуюся клиентов, такую ​​как аренда и записи DNS. Файлы журнала зоны были удалены, а службы перезапущены. После того, как я заставил клиентов возобновить аренду, у меня остались те же результаты.

Что мне не хватает? Почему аренда Linux не обновляет DNS, и почему бы даже неважно, какую ОС имеют клиенты, когда обновление должно выполнять служба DHCP?

3 ответа

Решение

Ваш DHCP-клиент Linux запрашивает динамическое обновление DNS? Я не вижу никакой информации в вашем вопросе об этом, и без этого ваши запросы Linux DHCP не получат регистрацию DDNS на стороне сервера. Посмотрите на раздел "ДИНАМИЧЕСКИЙ DNS" в dhclient.conf(5) для получения подробной информации о необходимых настройках.

Моя проблема была с A а также PTR записи для DHCP-клиента Ubuntu 10.04 (Lucid), который не обновляется на Windows 2003 Server, на котором работают службы DHCP и DNS.

Я нашел эту тему с веб-поиска для windows dhcp ddns linux client так что даже если это не решит проблему ОП, есть большая вероятность, что она решит кого-то другого, кто пришел таким же образом, как я.

Изучив журналы в C:\WINDOWS\System32\dhcp, я увидел, что обновления DHCP→DNS происходят для всех клиентов в нашей локальной сети, кроме коробки Ubuntu, аналогично описанию Джоном своей проблемы. Заставить меня думать, что это было то, что клиент DHCP должен был запросить. (Несмотря на то, что я явно отмечал опцию "Всегда динамически обновлять записи DNS A и PTR" в свойствах сервера DHCP. Хм / ч.)

Этот пост дал мне точное решение, в котором я нуждался:

send fqdn.fqdn "mymachine.mydomain";
send fqdn.encoded off;
#                 ^^^ not sure if this is essential, or even desired, but
#                     it worked, so I'm not complaining.
send fqdn.server-update on;
do-forward-updates on;
#                  ^^ which may be the default anyway

Добавлено в /etc/dhcp3/dhclient.conf сделал свое дело. После продления аренды обновление DHCP-to-DNS прошло для клиента Ubuntu, как и для клиентов DHCP Windows.

Я могу получить карты вперед для обновления

# service network restart
Apr  7 15:25:24 i-d40976dd dhclient[26054]: Added new forward map from i-d40976dd.example.com. to 10.1.133.33

_

# dig i-d40976dd.example.com.

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> i-d40976dd.example.com.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50517
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;i-d40976dd.example.com.    IN  A

;; ANSWER SECTION:
i-d40976dd.example.com. 300 IN  A   10.1.133.33

;; AUTHORITY SECTION:
example.com.    86400   IN  NS  ns2.example.com.
example.com.    86400   IN  NS  ns1.example.com.

;; ADDITIONAL SECTION:
ns1.example.com.    86400   IN  A   10.1.1.10
ns2.example.com.    86400   IN  A   10.1.1.11

;; Query time: 1 msec
;; SERVER: 10.10.142.120#53(10.10.142.120)
;; WHEN: Mon Apr  7 15:28:09 2014
;; MSG SIZE  rcvd: 131

Я никогда не вижу обновленной обратной карты

# cat /etc/dhcp/dhclient.conf 
send fqdn.fqdn = "i-d40976dd.example.com.";
send fqdn.encoded on;
send fqdn.server-update off;
also request fqdn;

Этот клиент живет в AWS. Я хотел бы использовать dhclient для обновления прямой и обратной карт. У меня есть автоматически сгенерированные записи PTR для хостов. Этого было достаточно на некоторое время, но нам нужно PTR = A, чтобы позволить KRB5 работать.

Другие вопросы по тегам