关于Linux下配置DNS服务器的攻略,我可以提供以下详细步骤:
步骤一:安装并配置BIND
- 打开终端,使用如下命令安装BIND:
sudo apt-get install bind9 bind9utils bind9-doc
- 安装完成后,我们需要修改BIND的配置文件named.conf.options。使用编辑器打开文件,并找到如下这一行:
// forwarders {
// 0.0.0.0;
// };
将前面的注释符号去掉,并将“0.0.0.0”修改为你要使用的DNS服务器的IP地址。例如,如果你要使用Google的公共DNS,你需要将该行修改为:
forwarders {
8.8.8.8;
8.8.4.4;
};
这样就可以使用Google的公共DNS来解析域名。
- 修改完成后,保存并退出文件。然后使用如下命令重启BIND服务:
sudo service bind9 restart
步骤二:创建域名解析记录
- 打开BIND的配置文件named.conf.local,该文件存放着本地域名解析记录的配置。使用编辑器打开文件,并添加如下内容:
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};
以上代码表示创建了一个名为example.com的DNS区域,并将它的配置保存在/etc/bind/db.example.com文件中。
- 然后使用如下命令创建新的解析记录文件:
sudo touch /etc/bind/db.example.com
sudo chown bind:bind /etc/bind/db.example.com
将新建的文件授权给bind用户。
- 然后编辑该文件,并添加如下内容:
```
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2017022401 ; serial number
7200 ; refresh
1200 ; retry
86400 ; expire
86400 ) ; minimum TTL
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
ns1 IN A 192.168.1.1
ns2 IN A 192.168.1.2
server IN A 192.168.1.3
```
以上代码表示了一个简单的DNS区域的配置信息。其中,@为根域名,NS指定了两个DNS服务器地址,A指向了三个主机IP地址。
- 编辑完成后,保存并退出文件。然后使用如下命令重启BIND服务:
sudo service bind9 restart
示例1:使用本机配置的DNS服务器
- 进入终端窗口,输入如下命令:
dig @127.0.0.1 server.example.com
上述命令将在本机上使用配置的DNS服务器解析记录server.example.com,其中127.0.0.1为本机的IP地址。
- 如果解析成功,则会显示类似如下的结果:
```
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @127.0.0.1 server.example.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36152
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;server.example.com. IN A
;; ANSWER SECTION:
server.example.com. 86400 IN A 192.168.1.3
;; AUTHORITY SECTION:
example.com. 86400 IN NS ns1.example.com.
example.com. 86400 IN NS ns2.example.com.
;; ADDITIONAL SECTION:
ns1.example.com. 86400 IN A 192.168.1.1
ns2.example.com. 86400 IN A 192.168.1.2
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Apr 07 23:29:11 CST 2019
;; MSG SIZE rcvd: 131
```
其中,ANSWER SECTION显示了域名解析结果,AUTHORITY SECTION显示了DNS服务器的地址。
示例2:使用网络中的DNS服务器
- 进入终端窗口,输入如下命令:
dig @8.8.8.8 www.google.com
上述命令将在网络中使用Google的公共DNS服务器解析记录www.google.com。
- 如果解析成功,则会显示类似如下的结果:
```
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @8.8.8.8 www.google.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49852
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 300 IN A 216.58.194.228
www.google.com. 300 IN A 216.58.194.196
www.google.com. 300 IN A 216.58.194.164
www.google.com. 300 IN A 216.58.194.164
www.google.com. 300 IN A 216.58.194.164
www.google.com. 300 IN A 216.58.194.164
;; Query time: 26 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Apr 07 23:36:34 CST 2019
;; MSG SIZE rcvd: 127
```
其中,ANSWER SECTION显示了域名解析结果,AUTHORITY SECTION为空,ADDITIONAL SECTION为Google的DNS服务器地址。
这就是关于Linux下配置DNS服务器的详细攻略,包括安装配置BIND和创建域名解析记录的方法,以及两个示例说明。希望对您有帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux下配置DNS服务器 - Python技术站