我们有两台 DNS 服务器:一台由我们的 ISP 控制的外部服务器,一台由我们控制的内部服务器。我希望 foo.example.com 的内部请求映射到 192.168.100.5,而外部请求继续映射到 1.2.3.4,因此我尝试在绑定中配置视图。不幸的是,当我尝试重新加载配置时,绑定失败。我确信我遗漏了一些简单的东西,但我不知道它是什么。
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8;
8.8.4.4;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
zone "." {
type hint;
file "/etc/bind/db.root";
};
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
view "internal" {
zone "example.com" {
type master;
notify no;
file "/etc/bind/db.example.com";
};
};
zone "example.corp" {
type master;
file "/etc/bind/db.example.corp";
};
zone "100.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
};
我已排除视图中的条目允许递归和递归尝试简化配置。如果我删除视图并只加载示例.com区域直接,它工作正常。
对于我可能遗漏的内容,有什么建议吗?
答案1
发布结果named
。
答案2
首先,检查你的日志,但我认为你忘记了
acl "lan_hosts" {
192.168.0.0/24; # network address of your local LAN
127.0.0.1; # allow loop back
};
view "internal" {
match-clients { lan_hosts; };
[...]
};