我正在尝试使用我拥有的域设置我的 BIND,并且我正在使用 dnssy.com 和 intodns.com 来检查一切是否正常,但是我在两者中都遇到了错误。错误说我的 DNS 服务器是“蹩脚的”(我不明白这是什么意思)。
我的named.conf
options {
directory "/var/dns";
pid-file "/var/run/named/named.pid";
auth-nxdomain yes;
datasize default;
listen-on-v6 { any; };
listen-on { 127.0.0.1; 188.165.234.51; };
listen-on-v6 { ::1; };
allow-recursion { 127.0.0.1; };
allow-transfer { none; };
allow-update { none; };
allow-query { any; };
allow-query-cache { any; };
version none;
hostname none;
server-id none;
};
include "/var/dns/autogen-zones";
Run Code Online (Sandbox Code Playgroud)
autogen-zones 是一个自动生成的文件,其中包含以下内容:
zone "localhost" IN {
type master;
file "localhost.zone";
allow-transfer { any; };
};
zone "0.0.127.in-addr.arpa" IN { …Run Code Online (Sandbox Code Playgroud) 我有一个有很多客户端的 AWS Route53,我想在 Bind9 中构建一个类似 DNS 服务器的东西,这样我就可以发送允许我的客户在他们的注册商上使用相同的 DNS,然后我会管理哪个在这个范围内EC2 与绑定。
我想知道这是否可行,或者有另一种方法吗?我无法让我的客户指向 Route53 奇怪的委托集。这是一个高于我工资等级的决定。
从技术上讲:
注册今天的DNS:
我希望能够:
然后在这些将通过 Bind9 将 Route53 指向这个 EC2,但我不知道如何将连接路由到实际的名称服务器。
我知道这有点超出本网站的范围,但我正在尝试设置一个测试 DNS 服务器,它绝对拒绝解析本地域。我已经尝试按照各种论坛中的几个教程和帖子的建议进行操作,但没有成功。
每当我尝试使用 dig 或 nslookup 时,服务器都会以通用的 SERVFAIL 进行响应。有趣的是,反向查找工作得很好。
我确信这是一个简单的问题,但我无法找到它。任何帮助将不胜感激。
IP: 192.168.93.25
主机名: ns2.tenebris.cs
以下是有问题的文件:
/etc/resolv.conf
nameserver 127.0.0.1
search ns2.tenebris.cs
Run Code Online (Sandbox Code Playgroud)
/etc/bind/named.conf.local
zone "tenebris.cs"{
type master;
file "/etc/bind/zones/tenebris.cs.db";
};
zone "93.168.192.in-addr.arpa"{
type master;
file "/etc/bind/zones/rev.93.168.192.in-addr.arpa";
};
Run Code Online (Sandbox Code Playgroud)
/etc/bind/zones/tenebris.cs.db
$TTL 86400 ; 1 day
tenebris.cs. IN SOA ns2.tenebris.cs. hostmaster.example.com. (
2008080901 ; serial
8H ; refresh
4H ; retry
4W ; expire
1D ; minimum
)
IN NS ns2.tenebris.cs.
IN MX hermes.tenebris.cs.
IN A 192.168.93.25
localhost IN A 127.0.0.1
ns2 IN A …Run Code Online (Sandbox Code Playgroud) 我已将 OpenVPN AS 作为 rc.d 脚本启动。我希望 Bind9 绑定到 OpenVPN 设置的虚拟网络接口。
但是,只有在脚本终止某些虚拟设备名称as0t0和as0t1. 同时,Bind9(DNS 服务器)已启动,无法绑定到这些接口,因为它们当时不存在。
使用 update-rc.d 更改 LSB 依赖项和 Sxx 数字没有帮助,因为 openvpn 脚本在实际启动接口之前完成。
似乎/etc/if-up.d/bind9正是为此目的而存在的,但显然它在虚拟网络接口启动时不会运行。
我进退两难。
我需要基于子网在我的办公室中实施 Split-Horizon DNS 。例如:
现在,这很容易使用 BIND 实现。不幸的是,我的网络基于 Active Directory;我不可能将所有工作站的 DNS 服务器更改为仅指向 BIND 服务器,可以吗?他们需要指向域控制器。
我一直在考虑使用存根区域或条件转发器的想法,但根据我的理解,这些方法将使域控制器自己执行 DNS 解析,而不是让工作站联系相关的名称服务器。
你有什么建议可以帮助解决这个水平分割问题?
附加信息:
id.company.com,而不是 company.com。我试图在我的 linux VPS 上使用 bind9 来“托管”我的域名的区域文件。我的困惑是我的 VPS 的主机名是那个域名。如果客户端查找ns1.mydomain.com并且我的 VPS 正在为该区域文件提供服务,则客户端将永远无法访问example.comto solve的区域文件ns1.example.com。
所以这是我的问题:在域名的“名称服务器”字段中使用 IP 地址而不是域名是否可以接受?我以前从未见过这样做过,我想知道是否有原因。
我将如何在 Bind9 中为任何否定查询设置 A 记录?如果我们的员工要访问一个不存在的域,我想将他们转发到一个信息页面。我们有一个内部缓存服务器。
我安装了 dnstop 来监视运行 bind9 的名称服务器,并惊讶地发现它正在查询我没有托管的其他域。我只是想知道这是否是正常行为,还是我配置不正确?编辑:我只是有一个想法..这是我的本地机器在查询自己吗?我也在这个盒子上运行一个网络服务器..
Queries: 1 new, 483 total Mon Jan 19 22:00:37 2015
Query Name Count % cum%
------------------------------- --------- ------ ------
omeee.ga 218 45.1 45.1
canonical.com 47 9.7 54.9
spamcop.net 35 7.2 62.1
google.com 16 3.3 65.4
phocks.org 14 2.9 68.3
com.tr 13 2.7 71.0
spamhaus.org 11 2.3 73.3
mediacenter.hu 9 1.9 75.2
jazztel.es 9 1.9 77.0
hol.gr 8 1.7 78.7
rr.com 6 1.2 79.9
com.ar 5 1.0 81.0
mollom.com 5 1.0 82.0
amyhendicott.ga 5 1.0 83.0 …Run Code Online (Sandbox Code Playgroud) 我在用于解析大量域的小型服务器上运行绑定,我的主要目标是快速解析域和低内存使用率。
我想对所有 TLD 的名称服务器使用类似本地区域的东西 dig . axfr @g.root-servers.net.
现在发生的事情是当达到缓存限制时,绑定会停止缓存,并且每次解析根服务器 dns 都会被命中。有没有办法使用axfr输出并告诉绑定从那里获取 tld 的 NS 信息?
我试图添加“。” 带有 axfr 输出的主区域,但它不起作用。
zone "." IN {
type master;
file "axfrOutput.ca";
};
Run Code Online (Sandbox Code Playgroud)
当前命名的.conf
options {
listen-on port 53 { 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";
allow-query { localhost; };
max-cache-size 100m;
cleaning-interval 1; // clean cache every 1 minutes
max-cache-ttl 120; // limit cached record to a 60s TTL
max-ncache-ttl …Run Code Online (Sandbox Code Playgroud) 现在我正在移动我的主服务器,我花了一些时间改进和简化它的一些设置,现在它已经来到了 DNS 服务器(在新设置中绑定 9.9.5)。
我注意到在我的配置中,我以这种方式定义了很多区域:
zone "123.123.123.123.in-addr.arpa" in {
type master;
file "123.123.123.123";
};
zone "123.123.123.124.in-addr.arpa" in {
type master;
file "123.123.123.124";
};
zone "example.com" in {
type master;
file "example.com";
};
zone "example.net" in {
type master;
file "example.net";
};
// With another ~20 definitions like that
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎非常低效。有没有一种方法可以自动加载找到的所有文件options { directory "/some/folder" },并为每个文件假设 master指定的目录?
bind ×10
nameserver ×2
a-record ×1
cname-record ×1
debian ×1
dns-hosting ×1
dns-zone ×1
mx-record ×1
named-conf ×1
openvpn ×1
ubuntu ×1