Как и следует из названия: возможно ли иметьСвязывать(названныйservice) на машине Linux (Fedora 27, Server Edition) авторитетно отвечают за локальные домены или, по крайней мере, отвечают таким образом, что что-либо, запрашивающее о них, примет ответ сервера вместо любого другого?
Я знаю, что это должно быть возможно (по крайней мере, в теории), но я не могу заставить это работать, хотя оба вариантаназванныйиrndcслужбы и хотя мои файлы проходят проверки на обоихnamed-checkconfиименованная-checkzone.
Мне необходимо получить ответ от сервера Bind для моего локального домена (запросы, поступающие с ПК с Windows 7), который будет указывать на мой локальный домен (а не на авторитетный или неавторитетный ответ где-либо еще в Интернете), как в этом сообщении:BIND9 не может разрешить локальный домен. Я также хотел бы сделать возможным добавление других (интернет) доменных имен в более позднее время (поэтому поддельный корень, вероятно, не будет работать как решение), но, как есть,nslookupответ:
** сервер не может найти vpntest.it: NXDOMAIN **
Я также переустановил дистрибутив (минимальная установка), изменил файлы в соответствии с Руководством администратора Fedora и проверил (и тщательно экстраполировал) этот пост:https://serverfault.com/questions/838380/dns-use-public-domain-name-for-internal-use...ивсе ещеполучаю указанную выше ошибку. Грррррррррр!
На данный момент мои файлы выглядят следующим образом:
/etc/nsswitch.confценить:
files dns myhostname
/etc/resolv.conf:
# Generated by NetworkManager
nameserver 64.83.128.50
nameserver 64.20.192.50
nameserver 2001:4860:4860::8888
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 2001:4860:4860::8844
/etc/hosts:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
и т.д./named.conf(Ключ RNDC удален из этого сообщения):
options {
listen-on port 53 { 10.200.0.1; }; // 127.0.0.1 //
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";
recursion no;
dnssec-enable yes;
dnssec-validation auto;
auth-nxdomain no;
allow-query { localhost; };
version "Damned If I Know";
allow-recursion { 10.200.0.1/24; };
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
include "/etc/crypto-policies/back-ends/bind.config";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
# include "/etc/named.root.key";
key "rndc-key" {
algorithm hmac-md5;
secret "";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
zone "vpntest.it" IN {
type master;
file "vpntest.it.zone";
};
zone "0.200.10.in-addr.arpa" IN {
type master;
file "10.200.0.zone";
allow-update { none; };
};
/var/named/vpntest.it.zone:
$ORIGIN vpntest.it.
$TTL 86400
@ IN SOA ns1.vpntest.it. hostmaster.vpntest.it. (
100 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
;
IN NS ns1.vpntest.it.
;
ns1 IN A 10.200.0.1
;
www IN A 10.200.0.6
/var/named/10.200.0.zone:
$ORIGIN 0.200.10.in-addr.arpa.
$TTL 86400
@ IN SOA ns1.vpntest.it. hostmaster.vpntest.it. (
100 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
;
@ IN NS ns1.vpntest.it.
;
1 IN PTR ns1.vpntest.it.
6 IN PTR www
решение1
Я знаю, что этот вопрос немного устарел (и, похоже, у вас некоторая полурабочая конфигурация), поэтому, пожалуйста, простите меня, если я скажу что-то, о чем вы уже знаете или что больше не относится к вашей проблеме.
Я не могу напрямую говорить о других проблемах, но у вас (судя по всему) нет записи дляvpntest.itв вашем файле зоны:
$ORIGIN vpntest.it.
$TTL 86400
@ IN SOA ns1.vpntest.it. hostmaster.vpntest.it. (
100 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
;
IN NS ns1.vpntest.it.
;
ns1 IN A 10.200.0.1
;
vpntest.it. IN A 10.200.0.6 ; http://vpntest.it - no subdomain
www IN A 10.200.0.6 ; http://www.vpntest.it - subdomain
Обратите внимание, что серийный номер всегда следует увеличивать при внесении изменений в зоны.
Другие заметки
.it
является реальным TLD вместе с.dev
. Это может вызвать проблемы с разрешением (как и любой реальный публичный TLD). Вы можете проверить этот списокМеждународные домены верхнего уровняи выбрать поддельный TLD, которого нет в этом списке (например,.nx
возможно?). Есть некоторыеофициально зарезервированные непубличные TLD(ну, полуисключающий.onion
), но.invalid
это тот, который вы бы выбрали, чтобы быть абсолютно безопасным (избегайте,.local
так как он используется в сочетании ссетевое взаимодействие zeroconf).Как вы отметили в своих комментариях,
recursion no;
следует удалить (поскольку вы уже ограничиваете рекурсию с помощьюallow-recursion { 10.200.0.1/24; };
).Любой компьютер,
vpntest.it
с которым вы собираетесь работать, должен пропускать свой DNS-трафик через ваш сервер BIND.хозяеваможет потенциально переопределить BIND. Хотя это,
nsswitch.conf
по-видимому, не является проблемой (учитывая порядок), это, вероятно, все же стоит отметить для общего устранения неполадок (т. е. вам не нужноvpntest.it 127.0.0.1
при использовании BIND).Хотя это не относится к вашей проблеме, обязательно используйте eg
vpntest.it/
(обратите внимание на завершающий слеш) для доступа к пользовательским доменам в текущих версиях Chrome, Firefox и Opera (или других браузерах на основе Chromium). Если его не указывать, могут возникнуть проблемы с разрешением (при условии, что DNS в остальном работает правильно).