Задача. Обращаться к компьютерам локальной сети по их именам, а не по IP адресам.
Установил bind9, isc-dhcp-server.
Естественно, первым делом настроил статический IP на сервере:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto p3p1
iface p3p1 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.100 77.88.8.8 77.88.8.1
isc-dhcp-server настроен, раздаёт ip. конфиги:
#DHCPD_CONF=/etc/dhcp/dhcpd.conf
#DHCPD_PID=/var/run/dhcpd.pid
#OPTIONS=""
INTERFACES="p3p1"
ddns-update-style none;
option domain-name "nw.local";
option domain-name-servers 192.168.0.100, 77.88.8.8, 77.88.8.1;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.101 192.168.0.254;
option routers 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
group {
host samsung_printer {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.0.2;
}
}
}
Ну и пытался настроить Bind9.
Параметры локальных зон:
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "nw.local" {
type master;
file "/etc/bind/db.nw.local";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};
Собственно, файл зоны:
;
; BIND data file for local loopback interface
;
;
$TTL 604800
;
@ IN SOA ns.nw.local. root.nw.local. (
100
604800
86400
2419200
604800 )
;
@ IN NS ns.nw.local.
@ IN A 192.168.0.100
ns IN A 192.168.0.100
gw IN A 192.168.0.1
server IN A 192.168.0.100
printer IN A 192.168.0.2
test IN A 192.168.0.100
Bind стартует, ошибок нет. Теперь клиент (Ubuntu Mate 14.04).
Настройки от isc-dhcp-server-а получает, но как-то странно (или так и должно быть?):
nameserver 127.0.1.1
search nw.local
Странной мне кажется именно первая строка, 127.0.1.1, ну да ладно, наверное это так и должно быть, ибо пинг по короткому имени работает.
PING gw.nw.local (192.168.0.1) 56(84) bytes of data.
64 bytes from gw.nw.local (192.168.0.1): icmp_seq=1 ttl=64 time=9.55 ms
64 bytes from gw.nw.local (192.168.0.1): icmp_seq=2 ttl=64 time=0.859 ms
64 bytes from gw.nw.local (192.168.0.1): icmp_seq=3 ttl=64 time=1.46 ms
64 bytes from gw.nw.local (192.168.0.1): icmp_seq=4 ttl=64 time=1.15 ms
^C
--- gw.nw.local ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.859/3.259/9.557/3.642 ms
Пытаюсь сделать пинг по полному адресу, например, gw.nw.local:
ping: unknown host gw.nw.local
Ни как не работает...
Теперь nslookup на клиенте:
> gw
Server: 127.0.1.1
Address: 127.0.1.1#53
Name: gw.nw.local
Address: 192.168.0.1
> gw.nw.local
Server: 127.0.1.1
Address: 127.0.1.1#53
Name: gw.nw.local
Address: 192.168.0.1
Пишет, что записи такие есть... Но опять Server 127.0.1.1.
Вожусь уже 3 день. Ошибку ни как не могу найти. Есть у кого соображения?
P.S. В Windowsх всё нормально. Думаю, что виноват isc-dhcp-client на клиентском компьютере. Именно по этому и появляется эта строчка в /etc/resolv.conf
Вот только почему оно там, да и как это исправить?
Нагуглил частичное решение проблемы. Виноват NetworkManager клиента.
http://askubuntu.com/questions/627899/nameserver-127-0-1-1-in-resolv-conf-wont-go-awayПинг по большому адресу не идёт всё равно. Но resolv.conf теперь с моими DNS.