自从我设置绑定服务器以来已经过去太久了。我最近创建了很多 Windows DNS 服务器,所以我想在 CentOS 6 上尝试一下。不幸的是,我在设置区域文件时遇到了很多麻烦。
主机名:shield.domain.com
当我尝试启动该服务时,收到以下错误消息:
domain.com.zone:3: SOA record not at top of zone (domain.com.domain.com)
zone domain.com/IN: loading from master file domain.com.zone failed: not at top of zone
zone domain.com/IN: not loaded due to errors.
_default/domain.com/IN: not at top of zone
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
Run Code Online (Sandbox Code Playgroud)
我修改了 /etc/named.conf 文件以包含我的新区域,并且该文件的设置如下:
options {
listen-on port 53 { 127.0.0.1; }; …Run Code Online (Sandbox Code Playgroud) 尝试在 Ubuntu 机器上以我自己的用户身份运行,但无法读取 named.conf 文件:
named -d 9 -c named.conf -g
19-Aug-2015 11:33:10.698 starting BIND 9.9.5-3ubuntu0.4-Ubuntu -d 9 -c named.conf -g
19-Aug-2015 11:33:10.698 built with '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc/bind' '--localstatedir=/var' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-gnu-ld' '--with-geoip=/usr' '--with-atf=no' '--enable-ipv6' '--enable-rrl' '--enable-filter-aaaa' 'CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2'
19-Aug-2015 11:33:10.698 ----------------------------------------------------
19-Aug-2015 11:33:10.698 BIND 9 is maintained by Internet Systems Consortium,
19-Aug-2015 11:33:10.698 Inc. (ISC), a non-profit 501(c)(3) public-benefit
19-Aug-2015 11:33:10.698 corporation. Support and training for BIND 9 are
19-Aug-2015 11:33:10.698 available …Run Code Online (Sandbox Code Playgroud) 我的IP地址是1.2.3.4(邮件和dns服务器的单一IP),我的域名是example.com,我使用Centos 7并绑定9命令输出:
`host 1.2.3.4`
Run Code Online (Sandbox Code Playgroud)
是:
`Host 4.3.2.1.in-addr.arpa. not found: 3(NXDOMAIN)`
Run Code Online (Sandbox Code Playgroud)
我的/etc/named.zones是:
zone "example.com" {
type master;
file "/var/named/example.com.zone";
allow-query { any; };
allow-transfer { slaves; };
};
zone "3.2.1.in-addr.arpa" {
type master;
notify no;
file "/var/named/example.com.ptr.zone";
allow-query { any; };
allow-transfer { slaves; };
};
Run Code Online (Sandbox Code Playgroud)
并且/var/named/example.com.zone是:
; Zone file for example.com
@ 100 IN SOA ns1.example.com. admin.example.com. (
2015052700 ; serial, todays date+todays
28800 ; refresh, seconds
7200 ; retry, seconds
2419200 ; expire, …Run Code Online (Sandbox Code Playgroud) 我看到诸如
Feb 13 21:45:48 srv named[2355]: address not available resolving 'secure.gravatar.com/A/IN': 2a04:fa87:ffff::c6b5:7405#53
Feb 13 21:42:29 srv named[2355]: address not available resolving 'la1.akamaiedge.net/AAAA/IN': 2001:500:a8::e#53
Run Code Online (Sandbox Code Playgroud)
在/var/log/syslog尽管运行bind在只有IPv4模式
srv # cat /etc/default/bind9
# run resolvconf?
RESOLVCONF=no
# startup options for the server
OPTIONS="-u bind -4"
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
我正在通过全域 DNS 检查器检查网站。DNS 解析在某些国家/地区不正确。这个问题的原因是什么?
在我的其他网站上没问题,只有这个

我已将 Bind 设置为我的 Intranet DNS 解析服务(在 Ubuntu 16.04.02 LTS 上运行)。
我想要实现的目标: 拥有指向服务器的公共域名(例如:domain.com -> 1.2.3.4)使用指向内部机器的相同子域名(例如:machine1.domain.com -> 192.168。 1.100)
我所做的:(配置)
文件:/etc/bind/named.conf.options
options {
directory "/var/cache/bind";
recursion yes;
allow-recursion { 192.168.2.0/24; };
listen-on {192.168.2.4; };
allow-transfer { none; };
forwarders {
192.168.2.1; #router
8.8.8.8; #public dns
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
acl "truested" {
192.168.2.0/24;
192.168.2.4; # ns1
192.168.2.5; # ns2
};
Run Code Online (Sandbox Code Playgroud)
文件:/etc/bind/named.conf.local
zone "domain.com" {
type master;
file "/etc/bind/zones/db.domain.com";
allow-transfer { …Run Code Online (Sandbox Code Playgroud) 这是我来自 bind 的日志,这些请求不会停止并且命名使用了大量 CPU
27-Sep-2018 21:34:19.693 queries: info: client 217.107.34.85#25183 (jk1l.ru): query: jk1l.ru IN ANY +E (192.168.0.200)
27-Sep-2018 21:34:19.738 queries: info: client 109.148.129.56#15451 (jk1l.ru): query: jk1l.ru IN ANY +E (192.168.0.200)
27-Sep-2018 21:34:19.796 queries: info: client 217.107.34.85#22807 (isc.org): query: isc.org IN ANY +E (192.168.0.200)
27-Sep-2018 21:34:19.805 queries: info: client 74.99.171.161#80 (jk1l.ru): query: jk1l.ru IN ANY +E (192.168.0.200)
27-Sep-2018 21:34:20.242 queries: info: client 142.112.165.146#80 (eftps.gov): query: eftps.gov IN ANY +E (192.168.0.200)
27-Sep-2018 21:34:20.243 queries: info: client 122.114.207.223#80 (aids.gov): query: aids.gov IN ANY …Run Code Online (Sandbox Code Playgroud) 我们的客户有一个域。我们称之为example.com。
我们正在客户的网络中运行虚拟机。我们称之为“我们的虚拟机”。
客户正在使用以下名称访问虚拟机:our-vm.example.com。
IP 地址是内部的,例如 10.1.2.3
我们客户 (example.com) 的名称服务器不解析主机名。
我们为客户提供 VPN,并且能够通过 IP 地址访问 10.1.2.3。
但我想按名称访问主机。
我想要的是:
如何以这种方式配置绑定?
子问题:这种类型的配置有名称吗?
这不是(为内部网络覆盖 BIND 中的一些 DNS 条目)的副本,因为我希望 example.com 由客户处理。
当 DNS 服务器主机名属于同一域时,应该在注册器中配置胶水记录。
这不完全是我的情况,因为我正在为域“example.com”设置 DNS 服务器,而名称服务器可以使用另一个域“mydnsprovider.com”进行解析。
尽管如此,为了方便并允许在注册商中自动配置胶水记录,我想包括名称服务器“ns1.mydnsprovider.com”的 A 记录,如“附加”记录,如下所示:
; Zone file for example.com
$TTL 3600
example.com. IN SOA example.com. admin.example.com. (
2019053101 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
43200 ) ; Negative Cache TTL
example.com. IN NS ns1.mydnsprovider.com.
example.com. IN NS ns2.mydnsprovider.com.
example.com. IN NS ns3.mydnsprovider.com.
example.com. IN A x.x.x.x
www IN A x.x.x.x
MX 10 example.com. ; Primary Mail Exchanger
TXT "Example Systems S.L."
localhost A 127.0.0.1
example.com. A x.x.x.x
host1 A a.a.a.a …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用绑定设置一个递归 DNS,该 DNS 也有自己的区域。
现在我想升级它以使用 dnssec 但据我所知,如果我没有域名,我必须使用 DLV。
但是,我能找到的少数指南说您需要注册,而dlv.isc.org这些指南并不存在。我正在阅读的一本关于 DNSSEC 的书说 DLV 将被弃用,所以这就是我想知道的原因。(如果您知道任何设置它的分步指南也将不胜感激)
bind ×10
linux ×2
centos ×1
centos6 ×1
dns-zone ×1
dnssec ×1
hijack ×1
internal-dns ×1
nameserver ×1
ptr-record ×1
vps ×1