Linux 技术手札

RHEL / CentOS 7 安装 Cache DNS 服务器

DNS 服务器有几种不同类型, 分别有 Master, Slave, Forwarding 及 Cache, 其中 cache-only DNS 服务器是最简单的 DNS 服务器类型, 它不用设定任何网域, 它的作用是收到 DNS 查询后, 会将结果放到 cache 内, 当下一次收到相同查询时, 会直接从 cache 返回结果, 那便可以缩知 DNS 查询的时间。

以下会示范在 RHEL 7 及 CentOS 7 安装及设定 Cache-only DNS 服务器。

首先安装 bind 套件, 这个动作可以很简单透过 YUM 完成:

# yum install bind bind-utils bind-chroot -y

安装好 bind 套件后, 可以开始设定, 建立 /var/named/chroot/etc/named.conf 的连结到 /etc/named.conf

# ln -s /etc/named.conf /var/named/chroot/etc/named.conf

开启档案 /etc/named.conf:

# vi /etc/named.conf

将里面的 listen-on, allow-query 及 allow-query-cache 三行设定成这样:

listen-on port 53 { 127.0.0.1; any; };
allow-query { localhost; any; };
allow-query-cache { localhost; any; };

储存盘案后离开文字编辑器。

这时可以用 named-checkconf 检查 /etc/named.conf 的语法是否正确:

# named-checkconf /etc/named.conf

设定 firewall 让 port 53 对外开放:

# firewall-cmd –add-port=53/udp
# firewall-cmd –add-port=53/udp –permanent

如果有开启 SELinux, 执行以下指令:

# semanage fcontext -a -t named_conf_t /etc/named.conf
# semanage fcontext -a -t named_conf_t /etc/named.rfc1912.zones

现在可以重新启动 named, 及设定开机自动启动 named:

# systemctl restart named
# systemctl enable named

然后可以用 dig 测试 cache-only dns 服务器是否运作正常:

# dig www.google.com @127.0.0.1

如果可以正常查诣到结果, 代表安装完成。

Exit mobile version