在Linux系统上安装和配置DNS服务器的步骤如下:
- 安装BIND软件包
首先,需要安装BIND软件包,执行以下命令安装:
sudo apt-get update
sudo apt-get install bind9
- 配置DNS
配置文件位于 /etc/bind 目录下,主要配置文件为 named.conf 和 named.conf.options,编辑 named.conf.options 文件,配置 DNS 服务器监听的地址和 DNS 解析器地址:
options {
directory "/var/cache/bind";
// 设定 DNS 服务器监听的地址
listen-on {
127.0.0.1;
};
// 允许来自本地网络的请求
allow-query {
127.0.0.0/8;
192.168.1.0/24;
};
// 设定 DNS 解析器的地址
forwarders {
8.8.8.8;
8.8.4.4;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
- 创建 DNS 域名解析文件
在 /etc/bind 目录下创建一个新的文件,例如 example.com,用于存储 DNS 域名解析记录:
sudo nano /etc/bind/example.com
添加以下内容:
$TTL 86400
@ IN SOA example.com. root.example.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
ns1 IN A 192.168.1.100
ns2 IN A 192.168.1.101
解释:
$TTL 86400 # TTL值为 86400 秒
@ IN SOA example.com. root.example.com. (
1 ; 序列号
604800 ; 刷新
86400 ; 重试
2419200 ; 过期
86400 ) ; 负缓存TTL
;
example.com. IN NS ns1.example.com. # 指定域名服务器
example.com. IN NS ns2.example.com.
ns1 IN A 192.168.1.100 # 定义主机名对应的IP地址
ns2 IN A 192.168.1.101
- 更新主DNS配置文件
在 named.conf 文件中添加以下内容:
zone "example.com" {
type master;
file "/etc/bind/example.com";
};
- 重启BIND
执行以下命令重启BIND服务:
sudo systemctl restart bind9
- 测试DNS解析
使用 dig 命令测试 DNS 是否正常解析:
dig example.com
示例:
$ dig example.com
; <<>> DiG 9.11.3-1ubuntu1.14-Ubuntu <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55733
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 7199 IN A 192.168.1.100 # 解析出IP地址
example.com. 7199 IN A 192.168.1.101
;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Mar 02 09:34:55 CST 2021
;; MSG SIZE rcvd: 72
- 其他设置
注意,如果您要从本机以外的机器访问绑定服务,请在named.conf.options配置文件中取消绑定本地IP:
// 设置DNS服务器监听的地址
listen-on {
any;
};
// 允许来自任意网络的请求
allow-query {
any;
};
示例:
如果要添加第二个DNS服务器:
在 named.conf 文件中添加以下内容:
zone "example.com" {
type slave;
file "bak.example.com";
masters{192.168.1.100;};
};
其中 masters 表示主服务器的IP地址,"bak.example.com" 表示备份文件存储名称。
然后再配置 DNS 域名解析文件,步骤同第 3 步。
这就是在Linux系统上安装和配置DNS服务器的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Linux系统上安装和配置DNS服务器? - Python技术站