我在 Debian 下使用 Bind 9。我有一个主服务器和一个辅助服务器。
我的域名结构如下:
- my-host-1.my-project.my-corp.com
- my-host-2.area-1.my-project.my-corp.com
- my-host-3.area-2.my-project.my-corp.com
我的名称服务器具有以下权限:
- my-project.my-corp.com
- area-1.my-project.my-corp.com
- area-2.my-project.my-corp.com
我的域名服务器是不是权威的my-corp.com而我对拥有以下权限的名称服务器没有管理权限:my-corp.com。
所以my-corp.com域名服务器将针对我的域名的查询委托给我的域名服务器,而我的域名服务器则将无法直接回答的查询转发给my-corp.com名称服务器。这种安排不是可选的。这是我公司的 IT 部门的要求。因此,具体来说,我的名称服务器无法执行迭代查询或以任何其他方式访问互联网上的任何名称服务器。
这my-corp.com名称服务器具有以下 IP 地址:
- 10.0.0.1/24(主要)
- 10.0.0.2/24 (次要)
分配给我的 IP 地址块是10.1.0.0/23. 这与反向解析相关。
我的名称服务器具有以下 IP 地址和主机名:
- 10.1.0.1/23,ns1.my-project.my-corp.com(主要)
- 10.1.1.1/23,ns2.my-project.my-corp.com(次要)
我的主名称服务器的配置如下:
options {
directory "/etc/bind";
forward only;
forwarders {
10.0.0.1; 10.0.0.2;
};
zone "my-project.my-corp.com" {
type master;
file "db.my-project.my-corp.com";
};
zone "0.1.10.in-addr.arpa" {
type master;
file "db.10.1.0";
};
zone "1.1.10.in-addr.arpa" {
type master;
file "db.10.1.1";
};
// ALL OF THE FOLLOWING IS DEFAULT IN BIND 9.
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
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";
};
我的主区域文件my-project.my-corp.com如下:
$TTL 3h
my-project.my-corp.com. IN SOA ns1.my-project.my-corp.com. root.localhost. (
2018010500 ; Serial
3h ; Refresh
1h ; Retry
1w ; Expire
3h ) ; Negative Cache TTL
my-project.my-corp.com. IN NS ns1.my-project.my-corp.com.
my-project.my-corp.com. IN NS ns2.my-project.my-corp.com.
ns1.my-project.my-corp.com. IN A 10.1.0.1
ns2.my-project.my-corp.com. IN A 10.1.1.1
my-host-1.my-project.my-corp.com. IN A 10.1.0.2
my-host-2.area-1.my-project.my-corp.com. IN A 10.1.0.3
my-host-3.area-2.my-project.my-corp.com. IN A 10.1.1.2
我的主区域文件0.1.10.in-addr.arpa如下:
$TTL 3h
0.1.10.in-addr.arpa. IN SOA ns1.my-project.my-corp.com. root.localhost. (
2018010500 ; Serial
3h ; Refresh
1h ; Retry
1w ; Expire
3h ) ; Negative Cache TTL
0.1.10.in-addr.arpa. IN NS ns1.my-project.my-corp.com.
0.1.10.in-addr.arpa. IN NS ns2.my-project.my-corp.com.
1.0.1.10.in-addr.arpa. IN PTR ns1.my-project.my-corp.com.
2.0.1.10.in-addr.arpa. IN PTR my-host-1.my-project.my-corp.com.
3.0.1.10.in-addr.arpa. IN PTR my-host-2.area-1.my-project.my-corp.com.
我的主区域文件1.1.10.in-addr.arpa如下:
$TTL 3h
1.1.10.in-addr.arpa. IN SOA ns1.my-project.my-corp.com. root.localhost. (
2018010500 ; Serial
3h ; Refresh
1h ; Retry
1w ; Expire
3h ) ; Negative Cache TTL
1.1.10.in-addr.arpa. IN NS ns1.my-project.my-corp.com.
1.1.10.in-addr.arpa. IN NS ns2.my-project.my-corp.com.
1.1.1.10.in-addr.arpa. IN PTR ns2.my-project.my-corp.com.
2.1.1.10.in-addr.arpa. IN PTR my-host-3.area-2.my-project.my-corp.com.
我有两个问题。
问题 1
可以将主机放在my-project.my-corp.com并将其两个子域直接放置在同一个区域中,就像我上面所做的那样?
问题2
既然我的域名服务器无法访问互联网,我该如何处理根域名服务器?我是不是应该根本不配置它们,因为我永远不会执行迭代查询?如果必须定义它们,该如何应该我定义它们?
答案1
Q2 我应该如何处理根名称服务器?
您已forward only;
设置,以及转发器。根提示将不会被使用。
可以将主机从 my-project.my-corp.com
是的,完全没问题。您不需要创建额外的区域文件,除非您需要由不同的名称服务器处理区域或具有不同的查询选项等。
如果您跳过附加区域并提及“IN”,则可以使您的区域看起来更简单。
$TTL 3h
@ SOA ns1.my-project.my-corp.com. root.localhost. (
2018010500 ; Serial
3h ; Refresh
1h ; Retry
1w ; Expire
3h ) ; Negative Cache TTL
@ NS ns1
@ NS ns2
ns1 A 10.1.0.1
ns2 A 10.1.1.1
my-host-1 A 10.1.0.2
my-host-2.area-1 A 10.1.0.3
my-host-3.area-2 A 10.1.1.2