一.環境
- 服務器:Centos7
- DNS:bind
二.安裝BIND服務器軟件並啓動
- yum -y install bind*
在安裝完BIND後,系統會多一個用戶named
安裝過程中,出現錯誤,需要依賴libmysqlclient.so.18()(64bit)組件的解決辦法:
首先,手動下載:wget https://downloads.mysql.com/archives/get/file/mysql-community-libs-compat-5.7.22-1.el7.x86_64.rpm
再手動安裝; rpm mysql-community-libs-compat-5.7.22-1.el7.x86_64.rpm
最後,再重新安裝bind
2.啓動DNS服務
systemctl start named.service
3.查看named進程是否正常啓動
ps -eaf | grep named
4. DNS採用的UDP協議,監聽53號端口,進一步檢驗named工作是否正常
netstat -an|grep :53
iptables -I INPUT -p tcp --dport 53 -j ACCEPT
iptables -I INPUT -p udp --dport 53 -j ACCEPT
三.DNS服務的相關配置文件
1.編輯配置/etc/named.conf
修改如下兩行(如下圖所示),
listen-on port 53 { 127.0.0.1; };
#將127.0.0.1修改成本機實際IP 或者 any
allow-query { localhost; };
#將localhost 該成any
修改前:
修改後:
2. 配置域名解析文件
域名解析分正向區域和反向區域,正向區域是將域名解析爲IP地址的過程,反向區域則是客戶機根據一臺計算機的IP 地址搜索它的域名。在大部分的 DNS查詢中,客戶機一般執行正向區域解析。
正反向區域的配置,可以直接寫在/etc/named.conf中(不推薦),在/etc/named.conf最下方有兩句include語句,其中include "/etc/named.rfc1912.zones";就是用來配置正反向區域配置的文件,當然也可以自定義(自定義需要在/etc/named.conf中include),入下圖。
這裏我們使用默認的配置文件/etc/named.rfc1912.zones,執行
vim /etc/named.rfc1912.zones
編輯這個文件,加入(以下筆者以域名esgz.com爲例):
添加正向解析域esgz.com,其對應的域解析文件分別爲由file指定的esgz.com.zone。
正反向解析區域文件都在/etc/named.conf的 directory 參數配置,默認是"/var/named"。
編輯正向區域文件,內容如下圖,其中:ns1、ns2爲解析的兩個DNS域名,在我們自定義域名DNS服務器的時候要用到
參考鏈接:https://blog.csdn.net/weiyongle1996/article/details/73302458
https://www.jianshu.com/p/ceaa2cc5715c
https://blog.csdn.net/nahancy/article/details/79370993