Настроил связку DHCP + BIND, все прекрасно работает кроме одного момента: в сети есть WiFi точка доступа. Так вот, если взять ноут и выйти в сеть с него, используя WiFi, ноут через DHCP удачно цепляет аренду (например, 192.168.0.21), при этом также удачно добавляется в зону хостнейм ноута. Далее, если появляется необходимость воткнуть сетевой шнурок в этот ноут, то тут и происходит затык. Новый IP (например, 192.168.0.22) ноут получает, но вот с добавлением хостнейма в зону ничего не выходит. При этом по резолву HostA продолжает, естественно, резолвится старый ип (192.168.0.21)
/var/log/messages по этому поводу:
dhcpd: Forward map from hostA.lan to 192.168.0.22 FAILED: Has an A record but no DHCID, not mine.
/var/log/named/named.log по этому поводу:
27-Apr-2011 22:02:32.503 update: info: client 192.168.0.3#42731: view internal: updating zone 'lan/IN': update unsuccessful: HostA.lan: 'name not in use' prerequisite not satisfied (YXDOMAIN)
27-Apr-2011 22:02:32.504 update: info: client 192.168.0.3#37758: view internal: updating zone 'lan/IN': update unsuccessful: HostA.lan/TXT: 'RRset exists (value dependent)' prerequisite not satisfied (NXRRSET)
версия dhcp: dhcp-3.1.3_p1
версия bind: bind-9.7.3
дистрибутив: Gentoo x86_64-pc-linux-gnu-4.4.5
dhcpd.conf
Код: Выделить всё
ddns-update-style interim;
update-static-leases on;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.250;
option routers 192.168.0.3;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
ddns-updates on;
ddns-domainname "lan";
ddns-rev-domainname "in-addr.arpa";
option domain-name "lan";
option domain-name-servers 192.168.0.3;
option ntp-servers 192.168.0.3;
include "/etc/bind/rndc.key";
deny client-updates;
zone lan. {
primary 192.168.0.3;
key "rndc-key" ;
}
zone 0.168.192.in-addr.arpa. {
primary 192.168.0.3;
key "rndc-key";
}
default-lease-time 60000;
max-lease-time 72000;
host ... {
объявления статических хостов, тестируемый ноут к ним не относится
}
}
named.conf
Код: Выделить всё
acl "xfer" {
/* Allow no transfers. If we have other name servers, place them here. */
//127.0.0.1/32;
//::1/128;
//"none";
};
acl "trusted" {
127.0.0.0/8;
::1/128;
192.168.0.0/24;
};
options {
directory "/var/bind";
pid-file "/var/run/named/named.pid";
listen-on-v6 { ::1; };
listen-on { 127.0.0.1; 192.168.0.3; };
allow-query {
};
allow-query-cache {
trusted;
};
allow-transfer {
xfer;
};
forward first;
forwarders {
4.2.2.1; // Level3 Public DNS
4.2.2.2; // Level3 Public DNS
8.8.8.8; // Google Open DNS
8.8.4.4; // Google Open DNS
};
};
logging {
channel default_log {
file "/var/log/named/named.log" versions 5 size 50M;
print-time yes;
print-severity yes;
print-category yes;
};
category default { default_log; };
category general { default_log; };
};
include "/etc/bind/rndc.key";
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1/32; ::1/128; } keys { "rndc-key"; };
};
view "internal" in {
match-clients { trusted; };
recursion yes;
additional-from-auth yes;
additional-from-cache yes;
zone "." in {
type hint;
file "/var/bind/root.cache";
};
zone "localhost" IN {
type master;
file "pri/localhost.zone";
allow-update { none; };
notify no;
allow-query { any; };
allow-transfer { none; };
};
zone "127.in-addr.arpa" IN {
type master;
file "pri/127.zone";
allow-update { none; };
notify no;
allow-query { any; };
allow-transfer { none; };
};
zone "lan." {
type master;
file "/var/bind/pri/lan.int.zone";
forwarders {};
allow-update { key rndc-key; };
};
zone "0.168.192.in-addr.arpa" {
type master;
file "/var/bind/pri/0.168.192.rev";
forwarders {};
allow-update { key rndc-key; };
};
};
view "public" in {
match-clients { any; };
recursion no;
additional-from-auth no;
additional-from-cache no;
zone "." in {
type hint;
file "/var/bind/root.cache";
};
};
как бы побороть данную ситуацию?