[TOC]
參考資料
主要參考知識(shí)
centOS7下DNS服務(wù)器的安裝與配置 - csdn - 主要參考
CentOS7.3使用BIND配置DNS服務(wù)器(一) - csdn - 主要參考
四、bind(named)配置文件 - csdn
Linux系統(tǒng)下搭建DNS服務(wù)器——DNS原理總結(jié) - csdn - 從概念層面看 DNS 解析
DNS正反向解析庫(kù)配置篇(一) - csdn - 正反向解析文件配置
DNS配置詳解 BIND實(shí)現(xiàn)正向解析和反向解析 - cnblog - 正反向解析文件配置
DNS域名解析服務(wù)--Named服務(wù) - 說明詳細(xì)
搭建DNS服務(wù)器 - - 域名解析文件配置說明
Linux中DNS配置 - csdn - 配置文件語法檢查用的比較好
linux中dns服務(wù)器的搭建 - csdn - nslookup 使用的比較好
其他擴(kuò)展知識(shí)
反向域名解析有什么功能? - 百度百科
Centos7/RHEL7中的ifconfig、netstat、route幾個(gè)常用指令被替代 - csdn
運(yùn)維小技巧:使用ss命令代替 netstat,和netstat說再見 - csdn
Linux安裝nslookup - csdn
1. 安裝 BIND 服務(wù)器軟件并啟動(dòng)
yum -y install bind bind-utils
systemctl start named.service // 啟動(dòng)服務(wù)
systemctl enable named // 設(shè)為開機(jī)啟動(dòng)
1.1. 查看named進(jìn)程是否正常啟動(dòng)
ps -eaf|grep named // 檢查進(jìn)程
ss -nult|grep :53 // 檢查監(jiān)聽端口
如圖:

1.2. 開放 TCP 和 UDP 的 53 端口
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload // 重新加載防火墻配置,讓配置生效
2. DNS 服務(wù)的相關(guān)配置文件
2.1. 修改主要文件 /etc/named.conf
修改前先備份: cp -p /etc/named.conf /etc/named.conf.bak // 參數(shù)-p表示備份文件與源文件的屬性一致。
修改配置:vi /etc/named.conf , 配置內(nèi)容如下:
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
檢查一波
named-checkconf // 檢查named.conf是否有語法問題
2.2. 配置正向解析和反向解析
2.2.1. 修改/etc/named.rfc1912.zones
添加配置: vi /etc/named.rfc1912.zones , 配置內(nèi)容如下:
zone "reading.zt" IN {
type master;
file "named.reading.zt";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" {
type master;
file "named.192.168.0";
allow-update { none; };
};
2.2.2. 添加正向解析域
基于 name.localhost 模板,創(chuàng)建配置文件:cp -p /var/named/named.localhost /var/named/named.reading.zt
配置正向域名解析文件 named.reading.zt : vi /var/named/named.reading.zt ,配置內(nèi)容如下:
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
mirror A 192.168.0.233
test A 192.168.0.232
說明:
- http://mirror.reading.zt/ 將會(huì)解析為 http://192.168.0.233/
授權(quán) named 用戶 chown :named /var/named/named.reading.zt
檢查區(qū)域文件是否正確 named-checkzone "reading.zt" "/var/named/named.reading.zt" ,如圖:

2.2.3. 添加反向解析域
基于 name.localhost 模板,創(chuàng)建配置文件: cp -p /var/named/named.localhost /var/named/named.192.168.0
配置反向域名解析文件 named.192.168.0 : vi /var/named/named.192.168.0
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
233 PTR mirror.reading.zt
232 PTR test.reading.zt
授權(quán) named 用戶 chown :named /var/named/named.192.168.0
檢查區(qū)域文件是否正確 named-checkzone "0.168.192.in-addr.arpa" "/var/named/named.192.168.0" ,如圖:

2.2.4. 重啟 named 服務(wù),讓配置生效
重啟 named 服務(wù),讓配置生效 systemctl restart named
3. 在 Linux 下的 DNS 客戶端的設(shè)置及測(cè)試
3.1. 注冊(cè)域名解析服務(wù)器到配置文件
配置 ifcfg-xxxx vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 , 具體內(nèi)容如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPADDR=192.168.0.236
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.236 // 新增,本機(jī)就是域名解析服務(wù)器
DNS2=8.8.8.8
DNS3=114.114.114.114
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=1639f78b-d515-4110-80ad-f1700bf7db84
DEVICE=enp0s3
ONBOOT=yes
ZONE=public
如圖:

重啟網(wǎng)絡(luò)服務(wù),讓配置生效 systemctl restart network.service
3.2. 使用 nslookup 測(cè)試
bind-utils 軟件包本身提供了測(cè)試工具 nslookup
3.3.1. 正向域名解析測(cè)試
nslookup test.reading.zt , 或者,如下圖:

3.3.2. 反響域名解析測(cè)試
nslookup 192.168.0.232 , 或者,如下圖:
