Deploy DNS Server in OpenEuler

0 起因

原有使用的 DNS 服务器是 Windonws Server 2008,已经不再提供安全更新了,想着索性升级到最新版,按照新的管理规定优先采用国产的服务器系统,
第一个想到的是OpenEuler,所以就决定采用国产的系统进行替换,刚好借此机会学习一下 Linux 上 DNS 服务的部署和配置方法。当然,这里又犯了爱折腾的毛病。

0.1 需要配置的主机和IP

1
2
3
4
5
6
nj-dns.cnty.com        192.168.7.120
nj-gitlab.cnty.com 192.168.7.121
nj-vcsa.cnty.com 192.168.7.44
nj-nextcloud.cnty.com 192.168.7.45
nj-exsi1.cnty.com 192.168.6.252
nj-exsi2.cnty.com 192.168.7.99

1 安装 OpenEuler

采用默认的方式安装,没有什么意外情况,图形界面的方式还是比较直观的。

2 安装 DNS Server

使用 dnf 安装 BIND(Berkeley Internet Name Domain)

1
sudo dnf install bind bind-utils -y

3 配置 DNS

3.1 /etc/named.conf

include "/etc/named.rfc1912.zones"; 这一行上面添加如下的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
zone "cnty.com" IN {
type master;
file "forward.cnty.com";
allow-update { none; };
};

zone "168.192.in-addr.arpa" IN {
type master;
file "reverse.cnty.com";
allow-update { none; };
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

3.2 /var/nanmed/forward.cnty.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$TTL 86400
$ORIGIN cnty.com.
@ IN SOA nj-dns.cnty.com. root.cnty.com. (
2011071001 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
IN NS nj-dns.cnty.com.
nj-dns IN A 192.168.7.120
nj-vcsa IN A 192.168.7.44
nj-gitlab IN A 192.168.7.121
nj-nextcloud IN A 192.168.7.45
nj-exsi1 IN A 192.168.6.252
nj-exsi2 IN A 192.168.7.99
oa IN A 192.168.x.x
www IN A 115.231.8.xxx

3.3 /var/named/reverse.cnty.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$TTL 86400
@ IN SOA nj-dns.cnty.com. root.cnty.com. (
2011071001 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)

@ IN NS nj-dns.cnty.com.
@ IN A 192.168.7.120

120.7 IN PTR nj-dns.cnty.com.
44.7 IN PTR nj-vcsa.cnty.com.
121.7 IN PTR nj-gitlab.cnty.com.
45.7 IN PTR nj-nextcloud.cnty.com.
99.7 IN PTR nj-exsi2.cnty.com.
252.6 IN PTR nj-exsi1.cnty.com.

4 检查配置文件

1
2
3
sudo named-checkconf /etc/named.conf
sudo named-checkzone forward.cnty.com /var/named/forward.cnty.com
sudo named-checkzone reverse.cnty.com /var/named/reverse.cnty.com

5 配置防火墙

1
2
sudo firewall-cmd --add-service=dns --perm
sudo firewall-cmd --reload

6 启动 DNS Server

1
2
sudo systemctl enable named
sudo systemctl start named

7 测试 DNS 服务

1
2
dig nj-vcsa.cnty.com
dig -x 192.168.7.44

参考

  1. 如何使用 bind 设置 DNS 服务器
  2. 3. Configurations and Zone Files
  3. DNS 多网段的反向记录