Linux 配置 DNS服务器
时间: 2023-11-30 16:05:05 浏览: 78
linux下DNS服务器配置
在 Linux 上配置 DNS 服务器,可以使用 BIND(Berkeley Internet Name Domain)软件包。以下是在 Linux 系统上使用 BIND 配置 DNS 服务器的步骤:
1. 安装 BIND 软件包:使用包管理器安装 BIND 软件包,例如在 Ubuntu 上可以使用以下命令:
```
sudo apt-get update
sudo apt-get install bind9
```
2. 配置 BIND:在安装 BIND 后,需要配置它以设置 DNS 服务器。可以使用以下命令打开 BIND 配置文件:
```
sudo nano /etc/bind/named.conf.options
```
在该文件中,可以设置 DNS 服务器的选项,例如设置 DNS 服务器监听的 IP 地址、允许递归查询等。以下是一个示例配置:
```
options {
directory "/var/cache/bind";
recursion yes;
allow-recursion { localhost; };
listen-on { 192.168.0.10; };
};
```
在此示例中,设置了 BIND 服务器监听 192.168.0.10 IP 地址,并仅允许本地主机进行递归查询。
3. 配置 DNS 区域:在 BIND 中,需要配置 DNS 区域以指定要管理的域名。可以使用以下命令打开 BIND 的区域文件:
```
sudo nano /etc/bind/named.conf.local
```
在该文件中,可以设置 DNS 区域的配置,例如设置域名、指定域名服务器等。以下是一个示例配置:
```
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};
```
在此示例中,设置了 example.com 域名的区域类型为 master,并指定了该区域的配置文件为 /etc/bind/db.example.com。
4. 编辑 DNS 区域文件:在 BIND 中,需要为每个 DNS 区域创建一个区域文件。可以使用以下命令打开指定的区域文件:
```
sudo nano /etc/bind/db.example.com
```
在该文件中,可以设置 DNS 区域的记录,例如设置域名服务器、主机记录等。以下是一个示例配置:
```
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
1;
3600;
1800;
604800;
86400;
)
@ IN NS ns1.example.com.
@ IN A 192.168.0.10
ns1 IN A 192.168.0.10
```
在此示例中,设置了 example.com 域名的 SOA 记录、域名服务器记录、主机记录等。
5. 重启 BIND 服务:完成以上配置后,需要重启 BIND 服务以使更改生效。可以使用以下命令重启 BIND 服务:
```
sudo systemctl restart bind9
```
6. 测试 DNS 服务器:完成以上步骤后,可以使用 dig 命令测试 DNS 服务器是否正常工作。例如,可以使用以下命令查询 example.com 域名的 A 记录:
```
dig example.com A
```
如果 BIND 服务器有正确的配置,将返回 example.com 域名的 A 记录。
阅读全文