Linux下搭建DNS服務器及踩坑

DNS服務

域名系統(DNS)是建立在分佈式數據庫上的分層命名系統。該系統將域名轉換爲IP地址,並可以將域名分配給Internet組資源和用戶,無論實體的物理位置如何。

說白了就是:域名與IP之間的相互解析轉化,如:www.baidu.com解析成192.168.0.0這種(只是舉個例子)。本文只配置了正向的解析,反向解析在另一篇:DNS添加反向解析

Linux下搭建DNS服務器

在Linux搭建DNS服務器步驟如下:

1.下載安裝

[[email protected] ~]# yum -y install bind

2.修改配置文件

在安裝完成之後,會有幾個主要配置文件:

/etc/named.conf    --主配置文件
/etc/named.rfc1912.zones   --保存域名及IP對應關係所在地址
/var/named  --保存域名與IP地址的真實關係

2.1 修改/etc/named.conf 文件

options {
        listen-on port 53 { any; };
//      listen-on-v6 port 53 { ::1; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

其餘地方不需要動。

2.2 修改/etc/named.rfc1912.zones文件

在下面添加我們要加入的對應關係:

zone "cfc01.com" IN {
        type master;
        file "cfc01.com.zone";
        allow-update { none; };
};

對應關係爲cfc01.com 實際存在位置爲cfc01.com.zone文件裏,然後稍後去編輯cfc01.com.zone文件。

2.3 修改/var/named 下的cfc01.com.zone文件

這個文件是自己定義,自己命名的,與named.rfc1912.zones文件裏的配置命名一致。

$TTL 3600
$ORIGIN cfc01.com.
@       IN      SOA     cfc01.com.  admin.cfc01.com. (
                2019112103
                1H
                10M
                3D
                1D)

               IN      NS      nameserver.cfc01.com.
               IN      NS      nameslave.cfc01.com.
nameslave      IN      A       172.16.2.251
nameserver     IN      A       172.16.2.249
www            IN      A       172.16.2.244     

需特別注意:www 後面的IP需要是本機的IP地址,不知道的可以ifconfig一下,如果不是本機地址,一會nslookup解析不出來。

3. 關閉防火牆和53端口設置

3.1和3.2做一個就行,都能起到越過防火牆的作用,只不過一個把防火牆關閉了,一個相當於通行證。

3.1 防火牆配置

在這裏插入圖片描述
我的是關閉狀態,如果是開啓的輸入此命令關閉:

[[email protected] ~]# service iptables stop

可能會遇到centos7不支持iptables命令的情況,這個需要安裝一下:

[[email protected] ~]# yum install iptables-services

啓動服務,之後可正常使用iptables

[[email protected] ~]# systemctl enable iptables

3.2 修改53端口的防火牆設置:

[[email protected] ~]# vi  /etc/sysconfig/iptables

在這裏插入圖片描述
圖中添加的部分:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT

查看53端口狀態:

[[email protected] ~]# netstat -anlpe | grep named

在這裏插入圖片描述

4. 查看當前SELinux的運行模式

是disabled就行

[[email protected] ~]# getenforce
Disabled

5. 重啓DNS服務

[[email protected] ~]# service named restart
Redirecting to /bin/systemctl restart named.service
[[email protected] ~]# ps -ef|grep name
root     13137  5544  0 11:20 pts/1    00:00:00 vi /etc/named.conf
root     14303  5544  0 11:41 pts/1    00:00:00 vi /etc/named.rfc1912.zones
root     22017  5544  0 14:13 pts/1    00:00:03 find / -name named.conf
root     25189  5544  0 15:03 pts/1    00:00:00 vi named.conf
named    29963     1  0 16:15 ?        00:00:00 /usr/sbin/named -u named -c /etc/named.conf
root     29994  5544  0 16:16 pts/1    00:00:00 grep --color=auto name

6. 將網卡配置文件中的DNS修改爲本機IP

因人而異,ifcfg-ens後綴不定

[[email protected] ~]vi /etc/sysconfig/network-scripts/ifcfg-ens192

在下面添加一條:

DNS1=172.16.2.244

7. 重啓網卡

[[email protected] ~]# systemctl restart network

至此,Linux環境搭建DNS的正向解析完成。

測試一下:

[[email protected] ~]# nslookup www.cfc01.com
Server:         172.16.2.244
Address:        172.16.2.244#53

Name:   www.cfc01.com
Address: 172.16.2.244

沒有問題~

注意事項

可能會因爲權限問題無法解析成功,我把我的權限列表貼出來,按照這個權限修改是沒有問題的。

1./var/named/ 目錄下的權限:
/var/named/ 目錄權限詳情
2.etc下的權限:
etc下的權限

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章