我安装了 BIND 并且我知道它需要在区域文件中至少有两个 NS(名称服务器)记录。对于反向区域文件也是如此。我知道 NS 记录指向权威名称服务器,但为什么我需要在权威名称服务器中也有这些记录?基本上,它们会指向配置区域文件的相同服务器。
我创建了一个基于 bind9 的 DNS 服务器,只在转发模式下工作:
这是我的 named.conf.options 文件:
#acl goodclients {
# localhost;
# localnets;
#};
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and …
Run Code Online (Sandbox Code Playgroud) 绑定 9.11.3 Ubuntu 18.04 内核 4.15.0-23
我正在运行 bind9 作为我的 LAN DNS,它适用于所有主机并通过 google DNS IP 转发到互联网
为什么我的日志中有很多此消息的实例。每分钟 3-4 个条目:
named[862]: resolver priming query complete
Run Code Online (Sandbox Code Playgroud)
我跑了
named-checkconf
named-checkzone
Run Code Online (Sandbox Code Playgroud)
没有错误。
我有以下设置:
\nfoo.com
test.lab.foo.com
我试图实现的目标:
\n当来自外界的 DNS 查询到达第一个 DNS 服务器以获取属于该区域的记录时test.lab.foo.com
,我希望它向第二个 DNS 服务器发出递归请求,然后转发记录。
我明确不想进行区域传输或使第二个 DNS 服务器可从 Internet 访问。
\n我的配置如下:(我只将[我的想法]\xc2\xa0重要部分复制到这里)
\n在第一个 DNS 服务器上
\noptions {\n allow-recursion {\n localnets;\n localhost;\n internal;\n my-datacenter;\n mc-office;\n };\n};\n\nzone "test.lab.foo.com" {\n forward only;\n forwarders {\n <private IP of second DNS server>;\n };\n type forward;\n };\n\n zone "foo.com" {\n file "/etc/bind/zones/foo.com.zone";\n type master;\n };\n
Run Code Online (Sandbox Code Playgroud)\n我的问题:
\n当我在本地网络中时,它被列入块中的白名单allow-recursion
,然后它会按预期工作。 \n当我尝试从互联网进行 DNS 查找时,我会得到一个 NOERROR …
我有一个分区/dev/sdb1,它安装在/data。在 /etc/fstab 我有:
/dev/sdb1 /data ext4 defaults 1 2
Run Code Online (Sandbox Code Playgroud)
挂载该分区后,我将进行以下绑定挂载:
/data/backups/f17/opt /opt none rw,bind 0 0
/data/backups/f17/home /home none rw,bind 0 0
/data/var/www/html /var/www/html/ none rw,bind 0 0
Run Code Online (Sandbox Code Playgroud)
所有的安装都做得很好。
问题是,当我运行时df
,我获得的与 sdb1 相关的唯一条目指向“/opt”,而不是“/data”。
例如:
/dev/sdb1 240233144 196081648 31925236 86% /opt
Run Code Online (Sandbox Code Playgroud)
我期望/想要df
显示原始安装点,即/data,而不是/opt。或者至少,显示与 sdb1 相关的所有挂载点。如果我umount
是 /opt 绑定挂载点,那么很df
高兴地显示 /data (即使其他两个绑定挂载仍然被挂载,奇怪的是)。
如果我在终端中执行挂载命令,则行为没有区别(与让系统通过mount -a
使用 /etc/fstab执行挂载命令相比)。
我知道我可以使用类似的东西findmnt --df
来更好地了解所有已安装的文件系统,但我想使用df
(并且我不想将 df 别名为其他任何东西)。
我有一个 dns 区域,其序列号为:2015040500
今天我要在那里添加一些 CNAME 记录,所以我对如何增加序列号感兴趣,我的意思是我应该根据今天的日期更改它,例如:2015042200 或只是增加一个,所以它会2015040501?
我不明白(Debian)Linux 系统何时需要命名/绑定。我知道它与域名解析有关,但我不明白它叫什么。
named/bind9和/etc/resolv.conf之间有什么关系吗?
我在桌面上使用Linux:我需要运行named吗?
我在服务器上使用Linux,我需要运行named吗?
如果我的服务器没有附加域名并且我只能通过 SSH 使用它的 IP,该怎么办:我可以安全地关闭/删除name吗?
如果我有一台服务器,其 IP 附加了域名,并且仅在端口 443 / https 上运行 Web 服务器,我需要 name/bind9 吗?
lsof说 bind 正在侦听端口 53(我认为)和 953,但我不知道它是在外部侦听还是仅在本地侦听:
~# lsof -i -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
named 2488 bind 20u IPv4 8189 0t0 TCP 127.0.0.1:domain (LISTEN)
named 2488 bind 21u IPv6 8191 0t0 TCP [::1]:domain (LISTEN)
named 2488 bind 22u IPv4 10931 0t0 TCP 127.0.0.1:953 (LISTEN)
named 2488 …
Run Code Online (Sandbox Code Playgroud) 我想设置一个简单的绑定服务器,它能够充当 OpenDNS 服务器的简单转发器。
我不希望我的绑定能够查询根服务器,我希望所有流量只流向 OpenDNS,并且可能充当它的“缓存”。
如何实现?我应该以某种方式禁用根服务器提示吗?这是正确的程序吗?
我的猜测是注释掉区域“。” 由named.conf.default-zones文件中的根服务器提供服务。然而,我读到非查询根服务器也可以通过禁用递归来实现,但是禁用递归似乎导致服务器也无法利用转发器......我的 conf 哪里错了?
Conf如下:
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
Run Code Online (Sandbox Code Playgroud)
acl "trusted" {
127.0.0.1/8;
10.0.0.0/8;
172.16.0.0/12;
192.168.0.0/16;
::1;
}; …
Run Code Online (Sandbox Code Playgroud) 我有一个 BIND 9.9.5-9+deb8u8-Raspbian DNS 服务器在我的网络中的 RPi3 上运行。它 - 对于不是我的主区域的所有内容 - 配置为“仅转发”,转发器为“{ 8.8.8.8; 8.8.4.4; 208.67.222.222; 208.67.220.220; };”。
a) 正常情况
通常,dns 解析工作得很好。即使结果不在缓存中,它们也会从转发服务器中获取并通常在 100 毫秒内传送回我的客户端。下面是一个例子:
client:~ $ time nslookup faz.net
Server: [my_server]
Address: [my_server]#53
Non-authoritative answer:
Name: faz.net
Address: 40.118.6.229
real 0m0.095s […]
Run Code Online (Sandbox Code Playgroud)
这是流量在 tcpdump 中的样子,就我所见,一切都很完美,而且 DNSSEC 验证似乎也能正常工作:
06:48:21.880240 IP [my_client].59563 > [my_server].domain: 614+ A? faz.net. (25)
06:48:21.881246 IP [my_server].28766 > google-public-dns-a.google.com.domain: 30021+% [1au] A? faz.net. (36)
06:48:21.916031 IP google-public-dns-a.google.com.domain > [my_server].28766: 30021 1/0/1 A 40.118.6.229 (52)
06:48:21.917093 IP [my_server].44792 > google-public-dns-a.google.com.domain: 10551+% …
Run Code Online (Sandbox Code Playgroud)