正如标题所说:有可能吗绑定(命名如何在 Linux 机器(Fedora 27 服务器版)上实现对本地域的权威回答(服务),或者至少以这样的方式回答:对本地域的查询会接受服务器的答案而不是其他答案?
我知道这应该是可能的(至少在理论上),但我无法让它工作,即使命名和伦德克服务是,即使我的文件通过了两者的检查命名检查配置和命名检查区。
我需要能够从 Bind 服务器收到指向我本地域的答案(来自 Windows 7 PC 的查询)(而不是互联网上其他地方的权威或非权威答案),类似于这篇文章:BIND9无法解析本地域我还想在以后添加其他(互联网)域名(因此假根可能不是一个解决方案),但就目前情况而言,nslookup答案是:
** 服务器找不到 vpntest.it:NXDOMAIN **
我还重新安装了发行版(最低限度安装),根据 Fedora 管理员指南修改了文件,并检查了(并仔细推断)这篇文章:https://serverfault.com/questions/838380/dns-use-public-domain-name-for-internal-use...和仍然收到上述错误。Grrrrrrrrrrrrrrrr!
我的文件目前如下:
/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
etc/named.conf(RNDC Key 从该帖子中删除):
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
可能吗?)。有一些官方保留的非公开顶级域名(嗯,半排除.onion
),但.invalid
你会选择绝对安全(避免,.local
因为它与zeroconf 网络)。正如您在评论中指出的那样,
recursion no;
应该被删除(因为您已经使用限制递归allow-recursion { 10.200.0.1/24; };
)。您希望使用的任何计算机
vpntest.it
都需要其 DNS 流量通过您的 BIND 服务器。主办方可能会覆盖 BIND。虽然这
nsswitch.conf
似乎不是一个问题(考虑到顺序),但对于常规故障排除来说,这可能仍然值得注意(即使用 BIND 时不需要vpntest.it 127.0.0.1
)。虽然这不适用于您的问题,但请确保使用 eg
vpntest.it/
(注意结尾的斜杠)在当前版本的 Chrome、Firefox 和 Opera(或其他 Chromium 衍生浏览器)中访问自定义域。不使用它也会导致解析问题(假设 DNS 正常工作)。