编辑:更新代码
我使用 nslookup ercont.club 127.0.0.1 来确保它使用我的主机名服务器,并且与我的注册商无关。以下是文件:
db.ercont.club
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ercont.club. mail.ercont.club. (
4 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; name servers - NS records
@ IN NS ns1.ercont.club.
@ IN NS ns2.ercont.club.
; name servers - A records
ns1.ercont.club. IN A 167.160.84.198
ns2.ercont.club. IN A 167.160.84.198
; - A records
ercont.club IN A 167.160.84.198
/etc/bind/zones/db.160.67
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ercont.club. mail.ercont.club. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; name servers
@ IN NS ns1.ercont.club.
@ IN NS ns2.ercont.club.
; PTR Records
198.84 IN PTR ns1.ercont.club. ;
198.84 IN PTR ns2.ercont.club. ;
198.84 IN PTR mail.ercont.club. ;
和 /etc/bind/named.conf.options
acl "trusted" {
167.160.84.198; # ns1 and ns2
};
options {
directory "/var/cache/bind";
recursion yes;
allow-recursion { localhost; trusted; };
allow-query { localhost; 167.160.84.0/8; };
listen-on { 167.160.84.198; };
allow-transfer { none; };
forwarders {
8.8.8.8;
8.8.4.4;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
如果有人能帮我解决这个问题,那真是太好了。我是 bind 的菜鸟,这些问题真的让我很头疼,所以如果能得到帮助我将不胜感激。
答案1
首先,需要设置一个公共 DNS 服务器(例如购买域名的注册商),以指向您的 TCP/IP 地址(例如服务器或住宅网关公共 IP 地址)。这也可以通过第三方服务(例如通过 aws.amazon.com 服务的 route53)来完成。
但是,这个答案是为了涵盖从安装了 Bind9 的本地/私人机器解析域名(ercont.club)的主题。
该文件:/etc/bind/named.conf.options
类似于以下内容,并且看起来是正确的。
acl "trusted" {
167.160.84.198; # ns1 and ns2
};
options {
directory "/var/cache/bind";
recursion yes;
allow-recursion { localhost; trusted; };
allow-query { localhost; 167.160.84.0/8; };
listen-on { 167.160.84.198; };
allow-transfer { none; };
forwarders {
8.8.8.8;
8.8.4.4;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
文件:/etc/bind/named.conf.local
应类似于以下内容:
// 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";
view "internal" {
match-clients {
localhost;
167.160.84.0/8;
};
# set zone
zone "ercont.club" {
type master;
file "/etc/bind/db.ercont.club";
allow-update { none; };
};
# set reverse zone lookup
zone "160.67.in-addr.arpa" {
type master;
file "/etc/bind/db.160.67";
allow-update { none; };
};
include "/etc/bind/named.conf.default-zones";
};
文件:db.ercont.club
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ercont.club. mail.ercont.club. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; name servers - NS records
@ IN NS ns1.ercont.club.
@ IN NS ns2.ercont.club.
@ IN A 127.0.0.1
@ IN A 167.160.84.198
; A records
ercont.club. A 167.160.84.198
保存文件之前,将序列号至少增加 1。
发出命令:sudo named-checkzone ercont.club db.ercont.club
如果区域 OK,则继续。如果不 OK,则检查并更正。
文件:/etc/bind/db.167.160
:
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ercont.club. mail.ercont.club. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; name servers
@ IN NS ns1.ercont.club.
@ IN NS ns2.ercont.club.
; PTR Records
198.84 IN PTR ns1.ercont.club. ;
198.84 IN PTR ns2.ercont.club. ;
198.84 IN PTR mail.ercont.club. ;
保存文件之前,将序列号至少增加 1。发出命令:sudo named-checkzone 167.160.in-addr.arpa db.167.160
如果区域 OK,则继续。如果不 OK,则检查并更正。
发出命令:sudo service bind9 restart
验证服务是否正确启动,发出命令:sudo service bind9 status
在进行相应的转换之前,我们需要设置服务器以指向新的 DNS 服务器。如果这是仅服务器设置,没有桌面客户端;我们将需要查看文件:/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 167.160.84.198
netmask 255.0.0.0
gateway xxx.xxx.xxx.xxx
dns-nameservers 167.160.84.198
dns-search ercont.club
否则,如果您有桌面和网络管理器,请通过 GUI 界面进行更改,或修改文件:
/etc/NetworkManager/system-connections/Wired\ connection\ 1
更改有线\连接\ 1,作为网络管理器中显示的连接名称。
找到文件的[ipv4]部分,添加/修改以下两行:
[ipv4]
dns=ipofyourdnsserver;
dns-search=ercont.club;
保存修改并重新启动。
我希望这有帮助。