我正在尝试使用 bind9 在 Ubuntu 18.04 上设置自己的 dns 服务器。我安装了所需的软件包,并在 /etc/bind 下有以下文件
命名配置文件
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
命名的.conf.选项
acl "trusted" {
127.0.0.1;
192.168.1.0/24;
};
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no;
listen-on-v6 { any; };
//custom additions
recursion yes;
allow-recursion { trusted; };
listen-on { trusted; };
allow-query { trusted; };
allow-transfer { none; };
forwarders {
8.8.8.8;
8.8.4.4;
};
};
命名的.conf.默认区域
...
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
...
本地数据库
$TTL 604800
@ IN SOA localhost. root.localhost. (
3; Serial
604800; Refresh
86400; Retry
2419200; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.
@ IN A 127.0.0.1
@ IN AAAA ::1
; custom additions
router IN A 192.168.1.1
现在在我的设置中,我有一个路由器,它提供 范围内的 ip 192.168.1.10-200
。我有一台电脑 D,我正在尝试设置与 ip 的绑定192.168.1.8
,以便能够稍后将我的路由器 dns 条目指向它,而不是现在配置的路由器本身。现在在电脑 D 上,将我的 ip、网络掩码、网关手动设置为 ,并将192.168.1.8, 255.255.255.0, 192.168.1.1
dns 手动设置为127.0.0.1
。我可以127.0.0.1
通过运行来确认电脑正在使用 ,systemd-resolve --status
这给了我DNS Servers: 127.0.0.1 and DNS Domain: ~.
现在回答我的问题:我说得对吗?@
db.local 引用localhost.
并附加到每个不以点结尾的资源记录?所以router IN A 192.168.1.1
变成了router.localhost. IN A 192.168.1.1
FQDN?然后我重新启动了 bindsudo service bind9 restart
并检查它是否正在运行,sudo service bind9 status
这表明Active: active (running)
现在我可能不明白一些事情,但我现在本以为ping router.localhost
会尝试 ping 192.168.1.1
,但我得到的却是奇怪的响应:
PING router.localhost(ip6-localhost (::1)) 56 data bytes
64 bytes from ip6-localhost (::1): icmp_sq=1 ttl=64 time=0.045 ms
64 bytes from ip6-localhost (::1): icmp_sq=2 ttl=64 time=0.062 ms
64 bytes from ip6-localhost (::1): icmp_sq=3 ttl=64 time=0.056 ms
为什么会发生这种情况?我如何才能实现在 db.local 中添加 A 记录的目标,然后能够 ping 通(例如)printer.localhost,然后它又会 ping 通我网络中的另一个 ip 192.168.1.5
?
编辑:运行dig router.localhost
返回:
;; ANSWER SECTION
router.localhost. 0 IN A 127.0.0.1
;; SERVER: 127.0.0.53#53(127.0.0.53)
这很奇怪,我已经注意到systemd-resolve --status
并且文件 /etc/resolve.conf 不一致,该文件有:
nameserver 127.0.0.53
options edns0
我不确定那 53 个 ip 来自哪里。
答案1
呃,我打的是:https://github.com/systemd/systemd/issues/10298
我通过符号链接修复了它:sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf