Я установил DNS-сервер Bind9 на моей виртуальной машине разработки, на которой работает Debian Wheezy. Мои адреса разрешаются с моего хост-компьютера (Win7) на мою виртуальную машину разработчика, и я могу пинговать оттуда. Внутри виртуальной машины я могу пинговать свои имена (www, share, my_name и т. Д.), И он разрешает правильный IP (11.11.11.11). Но когда я пингую свой полный FDQN (www.app.dev), он преобразуется в localhost. Это неверно для my_name.app.dev, только записи CNAME в моем файле db.app.dev в моей папке / etc / bind /. Итак, если я пингую www, разрешается 11.11.11.11, www.app.dev разрешается до 127.0.0.1. Пинг www.app.dev или просто www вне виртуальной машины DNS разрешает нормально. Это ожидаемое поведение или я что-то упускаю?
Вот файлы, которые, я думаю, вам нужны. Я добавил resolv.conf на случай, если там что-то не так.
/etc/bind/zones/db.app.dev
$TTL 604800
@ IN SOA app.dev. root.app.dev. (
15 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
app.dev. IN NS my_name.app.dev.
app.dev. IN A 11.11.11.11
;@ IN A 127.0.0.1
;@ IN AAAA ::1
my_name IN A 11.11.11.11
gateway IN A 11.11.11.2
vmhost IN A 11.11.11.1
www IN CNAME app.dev.
stream IN CNAME app.dev.
/etc/bind/ named.conf.local
include "/etc/bind/zones.rfc1918";
zone "app.dev" {
type master;
file "/etc/bind/zones/db.app.dev";
};
zone "11.11.11.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.11";
};
/etc/resolv.conf
domain app.dev
search app.dev
nameserver 11.11.11.11
Вот файл hosts / etc / hosts
127.0.0.1 localhost
11.11.11.11 my_name.app.dev my_name
# The following lines are desirable for IPv6 capable hosts
#::1 localhost ip6-localhost ip6-loopback
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
копать при условии: dig www.app.dev any #=>
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> www.app.dev any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51223
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.app.dev. IN ANY
;; ANSWER SECTION:
www.app.dev. 604800 IN CNAME app.dev.
;; AUTHORITY SECTION:
app.dev. 604800 IN NS my_name.app.dev.
;; ADDITIONAL SECTION:
my_name.app.dev. 604800 IN A 11.11.11.11
;; Query time: 2 msec
;; SERVER: 11.11.11.11#53(11.11.11.11)
;; WHEN: Wed Aug 13 12:48:15 2014
;; MSG SIZE rcvd: 78
вот пинг: ping www.app.dev
PING www.app.dev (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.035 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.032 ms
64 bytes from localhost (127.0.0.1): icmp_req=3 ttl=64 time=0.038 ms
^C
--- www.app.dev ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.032/0.035/0.038/0.002 ms
Я забыл где isc-bind
по умолчанию его журналы; так что рассмотрите следующее дополнение к вашему named.conf
. Это конфигурация ведения журнала, которую я использовал последние 10 лет или около того. Вероятно, это немного чрезмерно; но он ничего не должен упускать. Я работаю на FreeBSD; поэтому расположение журналов может быть несовершенным. Вам также нужно будет создать namedb
подкаталог и сделать его доступным для записи BIND (в моем случае это bind:wheel 755
). После того, как вы убедитесь, что у вас хороший журнал (возможно, уже), grep
для error
в /var/log/namedb/general
.
Вы делаете это, чтобы убедиться, что named
доволен вашей конфигурацией.
(На самом деле у меня все это есть в файле под названием named.logs
и я копирую это и include
Это. Содержание не изменилось с момента появления вер. 9 удалил категорию "статистика".)
logging {
channel "default_debug" {
file "/var/log/named.run"; // Redefine the built-in debug
// channel; so named.run is
// written to a consistent location
severity dynamic; // log at the server's
// current debug level
};
channel "default" {
file "/var/log/default" versions 3 size 100k;
severity debug;
//severity debug 3;
print-category yes;
print-severity yes;
print-time yes;
};
channel "general" {
file "/var/log/general" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "database" {
file "/var/log/database" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "security" {
file "/var/log/security" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "resolver" {
file "/var/log/resolver" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "xfer" {
file "/var/log/xfer" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "notify" {
file "/var/log/notify" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "client" {
file "/var/log/client" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "unmatched" {
file "/var/log/unmatched" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "network" {
file "/var/log/network" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "update" {
file "/var/log/update" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "queries" {
file "/var/log/query.log" versions 3 size 5m;
//severity debug;
//print-category yes;
//print-severity yes;
print-time yes;
};
channel "dispatch" {
file "/var/log/dispatch" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "dnssec" {
file "/var/log/dnssec" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "lame-servers" {
file "/var/log/lamoes" versions 3 size 100k;
severity debug;
print-category yes;
print-severity yes;
print-time yes;
};
channel "statistics" {
// This is for cricket
file "/var/log/stats.log" versions 3 size 1k;
};
category "default" { "default"; };
category "general" { "general"; };
category "database" { "database"; };
category "security" { "security"; };
category "config" { "general"; };
category "resolver" { "resolver"; };
category "xfer-in" { "xfer"; };
category "xfer-out" { "xfer"; };
category "notify" { "notify"; };
category "client" { "client"; };
category "unmatched" { "unmatched"; };
category "network" { "network"; };
category "update" { "update"; };
category "queries" { "queries"; };
category "dispatch" { "dispatch"; };
category "dnssec" { "dnssec"; };
category "lame-servers" { "lame-servers"; };
// category "statistics" { "statistics"; };
};
Если ясно, что named
работает без ошибок, вам нужно сделать несколько dig's
(по просьбе @ Håkan Lindqvist, чтобы увидеть конкретно, о чем идет речь, например:
dig @127.0.0.1 my_name.app.dev.
dig @11.11.11.11 my_name.app.dev.
Windows не имеет dig
; поэтому вы ограничены устаревшими nslookup
и (я полагаю) придется использовать интерактивный режим. Укажите различные «серверы» и запросите «my_name.app.dev».
Пожалуйста, дайте нам знать, что вы видите.
если у вас есть настройка www в качестве имени хоста вашего компьютера в файле hosts (/ etc / hosts), он будет разрешен сначала с локального компьютера (хосты проверяются перед настройками преобразователей). Проверьте свой файл hosts ...