у меня есть два DNS-сервера (Centos7) и один клиентский компьютер (окно 7).
localhost.beohu.com (192.168.2.254) и cent2.pimmup.com (192.168.1.1). 2.253). Для клиентского ПК используется DNS-сервер 192.168.2.254.
На localhost.beohu.com (192.168.2.254) файл named.conf выглядит следующим образом: (Я вырезал ненужную строку комментария)
options {
listen-on port 53 { 192.168.2.254; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
recursion no;
dnssec-enable no;
dnssec-validation no;
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "beohu.com" IN
{
type master;
file "beohu.com.db";
allow-update {any;};
allow-query {any;};
};
zone "2.168.192.in-addr.arpa" IN
{
type master;
file "192.168.2.db";
allow-update {any;};
allow-query {any;};
};
zone "pimmup.com"
{
type master;
file "pimmup.com.db";
allow-update {any;};
allow-query {any;};
};
zone "9.168.192.in-addr.arpa"
{
type master;
file "192.168.9.db";
allow-update {any;};
allow-query {any;};
};
Файлы зоны:
==> 192.168.9.db <==
$TTL 86400
@ IN SOA cent2.pimmup.com. hostmaster.pimmup.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
@ IN NS cent2.
253 IN PTR cent2.pimmup.com.
==> 192.168.2.db <==
$TTL 86400
@ IN SOA beohu.com. hostmaster.beohu.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
@ IN NS localhost.beohu.com.
252 IN PTR win7.beohu.com.
254 IN PTR localhost.beohu.com.
==> pimmup.com.db <==
$TTL 86400
@ IN SOA pimmup.com. hostmaster.pimmup.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
@ IN NS cent2.pimmup.com.
@ IN A 192.168.2.253
cent2 IN A 192.168.2.253
==> beohu.com.db <==
$TTL 86400
@ IN SOA beohu.com. hostmaster.beohu.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
@ IN NS localhost.beohu.com.
localhost.beohu.com. IN A 192.168.2.254
win7.beohu.com. IN A 192.168.2.252
На сайте cent2.pimmup.com (192.168.2.253), Файл зоны named.conf:
options {
listen-on port 53 { 192.168.2.253; };
#listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "pimmup.com" IN
{
type master;
file "pimmup.com.db";
allow-update {any;};
allow-query {any;};
};
zone "9.168.192.in-addr.arpa" IN
{
type master;
file "192.168.9.db";
allow-update {any;};
allow-query {any;};
};
zone "2.168.192.in-addr.arpa" IN
{
type master;
file "192.168.2.db";
allow-update {any;};
allow-query {any;};
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
:
==> 192.168.9.db <==
$TTL 86400
@ IN SOA cent2.pimmup.com. hostmaster.pimmup.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
@ IN NS cent2.pimmup.com.
254 IN PTR localhost.pimmup.com.
252 IN PTR win7.pimmup.com.
==> 192.168.2.db <==
$TTL 86400
@ IN SOA cent2.pimmup.com. hostmaster.pimmup.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
@ IN NS cent2.pimmup.com.
253 IN PTR cent2.pimmup.com.
==> pimmup.com.db <==
$TTL 86400
@ IN SOA cent2.pimmup.com. hostmaster.pimmup.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
@ IN NS cent2.pimmup.com.
@ IN A 192.168.2.253
cent2.pimmup.com. IN A 192.168.2.253
localhost.pimmup.com. IN A 192.168.9.254
win7.pimmup.com. IN A 192.168.9.252
С клиентского ПК, если я установил DNS-сервер 192.168.2.253, он может разрешить win7.pimmup.com в 192.168.9.252 (и другие записи A, PTR также).
Но моя цель: установить DNS клиентского компьютера на 192.168.2.254. При запросе win7.pimmup.com (или другой записи A, PTR в домене pimmup.com) DNS-сервер 192.168.2.254 возвращает реферальное значение, в данном случае 192.168.2.253.
Из Wireshark на клиенте я можно увидеть, что ответ .254 на запрос клиента с SOA домена pimmup.com (см. прикрепленное изображение). Но каким-то образом клиент не использует эту запись SOA для продолжения отправки запроса к этому значению направления, или мне нужно сделать что-то еще, чтобы сделать запрос клиента к рефералу?
Извините за длинный пост, но, пожалуйста, помогите Я хочу указать, что мне следует сделать / изменить, чтобы он работал. Большое вам спасибо.
слушаю порт 53 { 192.168.2.254; };
— указывает, что bind должен отвечать только на запросы, исходящие с того же компьютера, на котором выполняется bind. ==> pimmup.com.db <==
$TTL 86400
@ IN SOA pimmup.com. hostmaster.pimmup.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
@ IN NS cent2.pimmup.com.
@ IN A 192.168.2.253
cent2 IN A 192.168.2.253
Здесь я не вижу записей A
для win7.pimmup.com
, это также одна из причин, по которой доменное имя не может быть разрешено.
3. Запись
==> 192.168.9.db <==
$TTL 86400
@ IN SOA cent2.pimmup.com. hostmaster.pimmup.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
@ IN NS cent2.
253 IN PTR cent2.pimmup.com.
NS
должна содержать полное доменное имя полномочного сервера. Итак, это должен быть cent2.pimmup.com
, правильно?
слушаем порт 53 { 192.168.2.253; };
— указывает привязке прослушивать запросы, поступающие с той же машины. (Я удивлен, что он может разрешать любой домен с ПК вашего клиента, потому что он не слушает запросы, поступающие извне...)
рекурсия да;
- авторитетный сервер имен также не должен быть рекурсивным. Читайте о DDoS-атаках и отравлении кеша.
Какова цель ваших серверов? Если вы хотите, чтобы они были доступны извне, директива listen-on
должна быть установлена в { any; }
или, по крайней мере, должен быть какой-то ACL, определяющий, с каких IP-адресов разрешено запрашивать его.
Рассмотрите авторизованную конфигурацию, потому что, как я указывал ранее, один и тот же сервер не должен быть одновременно рекурсивным и авторитетным, особенно если он общедоступен.
Поскольку оба ваших сервера являются авторитетными для одних и тех же зон, я настоятельно рекомендую вам рассмотреть конфигурацию ведущий-подчиненный.