LINUX.ORG.RU
ФорумAdmin

bind 9 в сети имена резолвятся а с локалхоста нет:(


0

0

Ситуация:

поставил бинд 9.3.2. цель - кешрующий dns + раздача имён в локальной сети. с локадьных машин имена локальные (те, которые я задавал.., например workstation.local.. с интернет-именами(mail.ru...) проблем нет) резолвятся отлично, а вот с хоста на котором бинд - нифига.. не знаю что и думать.. ман читал, статеек несколько прочитал - толку нет.

конфиги ниже

★★★★★

named.conf

acl "localnetwork" { 192.168.0.0/24; 127.0.0.1; 192.168.1.20; };
options {

directory "/var/lib/named";

dump-file "/var/log/named_dump.db";
statistics-file "/var/log/named.stats";

forwarders { 80.80.111.244; 80.80.111.254; };

forward first;

listen-on port 53 { "localnetwork"; };

listen-on-v6 { none; };

allow-query { "localnetwork"; };

notify no;
};

zone "." in {
type hint;
file "root.hint";
};

zone "localhost" in {
type master;
file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
};

zone "local" in {
type master;
file "local.zone";
};

zone "0.168.192.in-addr.arpa" in {
type master;
file "192.168.0.zone";
};

zone "1.168.192.in-addr.arpa" in {
type master;
file "192.168.1.zone";
};


AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от AndreyKl

http-server:~ # cat /var/lib/named/local.zone $TTL 86400

local. IN SOA ns.local. admin.workstaion.local. ( 2001220201 ; Serial (YYYYDDMM plus 2 digit serial) 86400 ; refresh (1 day) 7200 ; retry (2 hours) 8640000 ; expire (100 days) 86400) ; minimum (1 day)

IN NS ns.local. IN MX 10 mail.local.

local. IN A 192.168.0.20 local. IN A 192.168.1.20 ns IN A 192.168.0.20 ns IN A 192.168.1.20 workstation IN A 192.168.0.40 http-server IN A 192.168.0.20 http-server IN A 192.168.1.20 egroupware IN A 192.168.0.20 andrey IN A 192.168.0.20 alex IN A 192.168.0.20 natalie IN A 192.168.0.20 maxim IN A 192.168.0.20 admin IN A 192.168.0.20

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от AndreyKl

http-server:~ # cat /var/lib/named/local.zone
$TTL 86400

local. IN SOA ns.local. admin.workstaion.local. (
2001220201 ; Serial (YYYYDDMM plus 2 digit serial)
86400 ; refresh (1 day)
7200 ; retry (2 hours)
8640000 ; expire (100 days)
86400) ; minimum (1 day)

IN NS ns.local.
IN MX 10 mail.local.

local. IN A 192.168.0.20
local. IN A 192.168.1.20
ns IN A 192.168.0.20
ns IN A 192.168.1.20
workstation IN A 192.168.0.40
http-server IN A 192.168.0.20
http-server IN A 192.168.1.20
egroupware IN A 192.168.0.20
andrey IN A 192.168.0.20
alex IN A 192.168.0.20
natalie IN A 192.168.0.20
maxim IN A 192.168.0.20
admin IN A 192.168.0.20

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от AndreyKl

http-server:~ # cat /var/lib/named/localhost.zone $TTL 1W @ IN SOA @ root ( 42 ; serial (d. adams) 2D ; refresh 4H ; retry 6W ; expiry 1W ) ; minimum

IN NS @ IN A 127.0.0.1

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от AndreyKl

http-server:~ # cat /var/lib/named/127.0.0.zone
$TTL 1W
@ IN SOA localhost.local. admin.workstation.local. (
42 ; serial (d. adams)
2D ; refresh
4H ; retry
6W ; expiry
1W ) ; minimum

IN NS 127.0.0.1
1 IN PTR localhost.local.

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от AndreyKl

http-server:~ # cat /var/lib/named/192.168.0.zone
$TTL 86400

@ IN SOA ns.local. admin.workstation.local. (
2001220200 ; Serial (date, 2 digits version)
86400 ; refresh (1 day)
7200 ; retry (2 hours)
8640000 ; expire (100 days)
86400) ; minimum (1 day)
IN NS ns.local.

40 IN PTR workstation.local.
20 IN PTR http-server.local.
20 IN PTR egroupware.local.
20 IN PTR andrey.local.
20 IN PTR alex.local.
20 IN PTR natalie.local.
20 IN PTR maxim.local.
20 IN PTR admin.local.
20 IN PTR ns.local.

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от AndreyKl

http-server:~ # cat /var/lib/named/192.168.1.zone
$TTL 86400

@ IN SOA ns.local. admin.workstation.local. (
2001220200 ; Serial (date, 2 digits version)
86400 ; refresh (1 day)
7200 ; retry (2 hours)
8640000 ; expire (100 days)
86400) ; minimum (1 day)
IN NS ns.local.

20 IN PTR http-server.local.
20 IN PTR ns.local.

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от AndreyKl

Да, забыл... по моему интересно:


http-server:~ # nslookup workstation
Server: 127.0.0.1
Address: 127.0.0.1#53

Name: workstation.local
Address: 192.168.0.40


http-server:~ # nslookup workstation.local
Server: 127.0.0.1
Address: 127.0.0.1#53

Name: workstation.local
Address: 192.168.0.40


http-server:~ # dig workstation.local

; <<>> DiG 9.3.2 <<>> workstation.local
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29346
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; QUESTION SECTION:
;workstation.local. IN A

;; ANSWER SECTION:
workstation.local. 86400 IN A 192.168.0.40

;; AUTHORITY SECTION:
local. 86400 IN NS ns.local.

;; ADDITIONAL SECTION:
ns.local. 86400 IN A 192.168.1.20
ns.local. 86400 IN A 192.168.0.20

;; Query time: 5 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Feb 26 10:59:34 2007
;; MSG SIZE rcvd: 100



НО!!!!!!!!НО!!!!!!!!!!!!!!!!!!!!НО!!!:

http-server:~ # ping workstation
ping: unknown host workstation

http-server:~ # ping workstation.local
ping: unknown host workstation.local


http-server:~ # dig workstation

; <<>> DiG 9.3.2 <<>> workstation
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 34233
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;workstation. IN A

;; AUTHORITY SECTION:
. 7868 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2007022600 1800 900 604800 86400

;; Query time: 5 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Feb 26 11:01:02 2007
;; MSG SIZE rcvd: 104

AndreyKl ★★★★★
() автор топика

Поставь Webmine. У меня тоже на локалку резолвить не получалось настроить.
А через него легко настроил.

anonymous
()
Ответ на: комментарий от no-dashi

спасибо no-dashi, ты так добр , что добротою своей вселяшь ужас. Выше резолв.конф. Там прописан 127ю0ю0ю1

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от roy

в логах ничего.. только нормальные сообщения типа выход, перезапуск.. ошибок нет. Ранее была ошибка в зонах(я использовал # для коментария), он об этом писал, сейчас пусто...

andrey@http-server:~> cat /etc/hosts

127.0.0.1 localhost.local localhost
192.168.0.20 http-server.local http-server
192.168.1.20 http-server.local


::1 localhost.local ipv6-localhost ipv6-loopback

fe00::0 ipv6-localnet

ff00::0 ipv6-mcastprefix
ff02::1 ipv6-allnodes
ff02::2 ipv6-allrouters
ff02::3 ipv6-allhosts

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от anonymous

блин, уже заморочился с бинд, надо добить. У людей ведь всё работает, видимо надо руки подпрямить чуток...

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от sdio

Насколько я могу судить - dns на месте...

andrey@http-server:~> cat /etc/nsswitch.conf

passwd: compat
group: compat

hosts: files dns
networks: files dns

services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files nis
publickey: files

bootparams: files

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от sdio

прошу прощения, не понял, на что именно нужно обратить вниманеие? по ссылке мой резолв.конф. Что в нём не так?

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от no-dashi

там чуть выше sdio ответил. Ссылка на результат работы nslookup.

Меня мучают смутные сомнения, что дело в том, что у меня что-то не в порядке с настройкой сети. Если прописать

acl { 192.168.0.0/24; 127.0.0.1 };

вместо

acl { 192.168.0.0/24; 127.0.0.1; 192.168.1.20 };

то имена с локалхоста (машины на которой бинд) перестают резолвится. dig говорит, что ответ REFUSED.... может натолкнёт кого на мысль.. у меня уже кончились похоже.

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от Deleted

# ifconfig

eth0 Link encap:Ethernet HWaddr 4C:00:10:72:02:70
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::4e00:10ff:fe72:270/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:45589 errors:0 dropped:0 overruns:0 frame:0
TX packets:28763 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21565603 (20.5 Mb) TX bytes:4107794 (3.9 Mb)
Interrupt:9 Base address:0xee00

eth1 Link encap:Ethernet HWaddr 00:10:A7:06:97:24
inet addr:192.168.0.20 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::210:a7ff:fe06:9724/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14849694 errors:95 dropped:744 overruns:61 frame:0
TX packets:5179652 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1718021344 (1638.4 Mb) TX bytes:916915861 (874.4 Mb)
Interrupt:10 Base address:0x8f00

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1583 errors:0 dropped:0 overruns:0 frame:0
TX packets:1583 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1925372 (1.8 Mb) TX bytes:1925372 (1.8 Mb)

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от sdio

это я "от руки" писал. СтоИт там ; ...

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от AndreyKl

убрал, перезапустил.
$ ping workstation
unknown host

поставил, перезапустил

$ ping workstation
unknown host


....

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от sdio

спасибо всем.
собствено, что сделал:
поставил бинд 9.4.0, максимально упростил конфиги.
две машины - 192.168.0.40(workstation.local), 192.168.0.20(http-server.local, andrey.local, ns.local), всё работает вроде нормально.

http-server:/var/lib/named # ping workstation.local
PING workstation.local (192.168.0.40) 56(84) bytes of data.
64 bytes from workstation.local (192.168.0.40): icmp_seq=1 ttl=64 time=0.152 ms
64 bytes from workstation.local (192.168.0.40): icmp_seq=2 ttl=64 time=0.191 ms

чего хотелось бы добиться: чтобы ping workstation (не ping workstation.local) работал. То есть, чтобы резолвился не только хост workstation.local но и workstation .

подскажите, пожалуйста, как?

PS
cat /etc/resolv.conf
nameserver 127.0.0.1
search local

nslookup workstation говорит что ip 192.168.0.40
а dig workstation говорит что имя workstation. не найдено.

http-server:/var/lib/named # cat /etc/named.conf
acl "listenOn" { 192.168.0.20; 127.0.0.1; };
acl "queryFrom" { 192.168.0.0/24; 127.0.0.1; 192.168.1.20; };
options {
version "bind 9.4.0";
directory "/var/lib/named";

# Write dump and statistics file to the log subdirectory. The
# pathenames are relative to the chroot jail.

dump-file "/var/log/named_dump.db";
statistics-file "/var/log/named.stats";
pid-file "/var/run/named/named.pid";

include "/etc/named.d/forwarders.conf";
#forward first;
listen-on port 53 { "listenOn"; };
listen-on-v6 { none; };
allow-query { "queryFrom"; };
allow-transfer { none; };
notify no;
};

zone "." in {
type hint;
file "root.hint";
};

zone "localhost" in {
type master;
file "localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" in {
type master;
file "localhost.rev";
allow-update { none; };
};

zone "local" in {
type master;
file "local.zone";
allow-update { none; };
};

zone "0.168.192.in-addr.arpa" in {
type master;
file "local.rev";
allow-update { none; };
};



http-server:/var/lib/named # cat /var/lib/named/local.zone
$ttl 38400
local. IN SOA ns.local. root.workstation.local. (
2007022900 ; serial
108000 ; refresh
1800 ; retry
1209600 ; expiry
604800) ; minimum

local. IN NS ns.local.
ns.local. IN A 192.168.0.20
http-server.local. IN A 192.168.0.20
andrey.local. IN A 192.168.0.20
workstation.local. IN A 192.168.0.40


http-server:/var/lib/named # cat /var/lib/named/local.rev
$ttl 38400
0.168.192.in-addr.arpa. IN SOA ns.local. root.workstation.local. (
2007022800 ; serial
108000 ; refresh
1800 ; retry
1209600 ; expire
604800) ; minimum

0.168.192.in-addr.arpa. IN NS ns.local.
20 IN PTR ns.local.
20 IN PTR http-server.local.
20 IN PTR andrey.local.
40 IN PTR workstation.local.


http-server:/var/lib/named # cat /var/lib/named/localhost.zone
$ttl 1W
localhost. IN SOA localhost. root.localhost. (
2007022800 ;serial
2D ;refresh
4H ;retry
6W ;expiry
1W ) ;minimum

localhost. IN NS localhost.
localhost. IN A 127.0.0.1


http-server:/var/lib/named # cat /var/lib/named/localhost.rev
$TTL 1W
@ IN SOA localhost. root.localhost. (
2007022800 ; serial (d. adams)
2D ; refresh
4H ; retry
6W ; expiry
1W ) ; minimum

IN NS localhost.
1 IN PTR localhost.

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от AndreyKl

> nslookup workstation говорит что ip 192.168.0.40 а dig workstation говорит что имя workstation. не найдено.

Потому что dig'у необходимо указывать полное имя, т.к. эта утилита использует модуль распознавания из самого bind'а.

gruy ★★★★★
()
Ответ на: комментарий от gruy

спасибо, прояснивается в голове

AndreyKl ★★★★★
() автор топика

спасибо огромное всем, особенно sdio.

часть проблемы состояла в том, что у меня, как и предположил mutronix (спасибо ему за подсказку, япоспешил с ответом) был запущен nscd. Выключил. Толку не много.. в сети перестали пинговаться хосты. nslookup отрабатывает, а пинг не идёт...

другая часть проблемы состояла в том что у меня имя локального домена .local .
в мане 5 host.conf нашёл следующее:

mdns Valid values are on and off. If set to on, the resolv+ library treats the .local top level
domain as link-local domain and sends multicast DNS requests to the multicast address
224.0.0.251 port 5353 instead of normal DNS requests. If you already use the .local domain in
your nameserver configuration you will have to switch this option off. See http://www.multi-
castdns.org for more information on multicast DNS. on by default.


Я днс раньше не настраивал... вообще было какое-то внутреннее ощущение, что имя local лучше не выбирать :)

поставил mdns off в /etc/host.conf и стали имена резолвится в локалке и на локалхосте ( прописал на всех двух:) машинах ) . Вот только резолвятся они странно:

workstation:/etc $ ping alex
PING alex.local (192.168.0.20) 56(84) bytes of data.
64 bytes from http-server.local (192.168.0.20): icmp_seq=1 ttl=64 time=0.188 ms

workstation:/etc $ ping natalie
PING natalie.local (192.168.0.20) 56(84) bytes of data.
64 bytes from ns.local (192.168.0.20): icmp_seq=1 ttl=64 time=0.175 ms

т.е. пингую одно имя - а ответ с другого (они на одном сервере), причём меняются случайным образом.

если пинговать с днс-сервера, то пинг всё время выглядит так(для имён с ip 192.168.0.20)

http-server:/etc # ping natalie
PING natalie.local (192.168.0.20) 56(84) bytes of data.
64 bytes from http-server.local (192.168.0.20): icmp_seq=1 ttl=64 time=0.295 ms


хотелось бы так сказать стабильности. Чтобы ping natalie говорил в ответ что обменивается пакетами с natalie а не с andrey или ns.local..

Есть ли идеи?

ЗЫ.
http-server:/etc # cat /var/lib/named/local.zone
$ttl 38400
local. IN SOA ns.local. root.workstation.local. (
2007022900 ; serial
108000 ; refresh
1800 ; retry
1209600 ; expiry
604800) ; minimum

local. IN NS ns.local.
ns.local. IN A 192.168.0.20
http-server.local. IN A 192.168.0.20
andrey.local. IN A 192.168.0.20
natalie.local. IN A 192.168.0.20
workstation.local. IN A 192.168.0.40
alex.local. IN A 192.168.0.20
maxim.local. IN A 192.168.0.20
admin.local. IN A 192.168.0.20


http-server:/etc # cat /var/lib/named/local.rev
$ttl 38400
0.168.192.in-addr.arpa. IN SOA ns.local. root.workstation.local. (
2007022800 ; serial
108000 ; refresh
1800 ; retry
1209600 ; expire
604800) ; minimum

0.168.192.in-addr.arpa. IN NS ns.local.
20 IN PTR ns.local.
20 IN PTR http-server.local.
20 IN PTR andrey.local.
20 IN PTR natalie.local.
20 IN PTR alex.local.
20 IN PTR maxim.local.
20 IN PTR admin.local.
40 IN PTR workstation.local.

AndreyKl ★★★★★
() автор топика

прочитал man nscd и решил, что разумнее оставить включённым

AndreyKl ★★★★★
() автор топика
Ответ на: комментарий от AndreyKl

> т.е. пингую одно имя - а ответ с другого (они на одном сервере), причём меняются случайным образом.

Ответ не с другого, просто у тебя на одном адресе несколько имен, вот и происходит из-за этого, т.к. bind перебирает их циклически.

gruy ★★★★★
()
Ответ на: комментарий от gruy

да, всё так. Действительно циклически.

А можно как нибудь заставить отдавать то имя, которое запрашивалось? ну чтобы при ping host1 он говорил что пингует host1 а не hostN ?

AndreyKl ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.