Я почти уверен, что делаю какую-то глупость, но давайте все равно спросим.
Я пытаюсь создать «имена хостов» на своих машинах в локальной сети (например, когда вы пингуетесь «chris», машина Криса - IP 12.34.56.78 - отвечает на это). Я делаю это через сервер Debian (lenny) с bind9 и использую этот сервер в качестве основного DNS-сервера локальной сети.
Проблема: я жестяная банка пинг whatever.chris
с других машин, но не chris
. Что я делаю не так?
Я выполнил эти инструкции, чтобы настроить bind9: http://www.cahilig.net/2008/07/05/how-setup-lan-dns-server-using-bind9-under-debian-etch-and-ubuntu-804
Файлы:
/ etc / hostname
chris
/ etc / hosts
127.0.0.1 localhost
192.168.1.3 chris.chris chris
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
/etc/resolv.conf
Didn't touch this one, as resolvconf overwrites it
/etc/bind/name.conf.local
zone "chris" {
type master;
file "db.chris";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "db.192.168.1";
};
/var/cache/bind/db.chris
$TTL 604800
@ IN SOA main.chris. admin.chris. (
2012051610 ;serial
04800 ;refresh
86400 ;retry
60 ;expire
604800 ;negative cache TTL
)
@ IN NS main.chris.
@ IN A 192.168.1.3
www IN A 192.168.1.3
main IN A 192.168.1.3
/var/cache/bind/db.192.168.1
$TTL 604800
@ IN SOA main.chris. admin.chris. (
2012051606 ;serial
604800 ;refresh
86400 ;retry
60 ;expire
604800 ;negative cache TTL
)
@ IN NS main.chris.
1 IN PTR chris.
/etc/bind/ named.conf.options
options {
directory "/var/cache/bind";
forwarders {
192.168.1.1;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Я бы порекомендовал вам поместить все это в одну зону, назовем ее «локальной», а затем добавить хосты в локальные, например chris.local, john.local. Затем вы хотите, чтобы каждая из этих машин имела search local
в их /etc/resolv.conf
, Это сделает так, что когда они ping chris
он автоматически попытается найти IP-адрес для chris.local
если chris
не найдено.
Обычно ваш dhcp-сервер отправляет им это search
директива, но ее также можно настроить с помощью resolvconf
Убедитесь, что права доступа к файлу зоны указаны правильно. Я считаю, что это должен быть chmod 644, или 744. После того, как вы внесли изменения, вы сделали: «/etc/init.d/ named restart». Кроме того, для любых подсказок по дополнительным проблемам проверьте ваш / var / log / сообщения для любых указателей.
Ваш файл зоны должен выглядеть так.
Если вы хотите выполнять поиск DNS по короткому имени (то есть не только по полностью определенным доменным именам), то вы находитесь в области /etc/resolv.conf и параметра search.
поиск Крис
man 5 resolv.conf для подробностей