1. 程式人生 > >centos7 dns伺服器搭建

centos7 dns伺服器搭建

DNS,全稱Domain Name System,即域名解析系統

DNS幫助使用者在網際網路上尋找路徑。在網際網路上的每一個計算機都擁有一個唯一的地址,稱作“IP地址”(即網際網路協議地址)

DNS功能 

每個IP地址都可以有一個主機名,主機名由一個或多個字串組成,字串之間用小數點隔開。有了主機名,就不要死記硬背每臺IP裝置的IP地址,只要記住相對直觀有意義的主機名就行了。這就是DNS協議所要完成的功能。

主機名到IP地址的對映有兩種方式:

1)靜態對映,每臺裝置上都配置主機到IP地址的對映,各裝置獨立維護自己的對映表,而且只供本裝置使用;
2)動態對映,建立一套域名解析系統(DNS),只在專門的DNS伺服器上配置主機到IP地址的對映,網路上需要使用主機名通訊的裝置,首先需要到DNS伺服器查詢主機所對應的IP地址。 

通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。在解析域名時,可以首先採用靜態域名解析的方法,如果靜態域名解析不成功,再採用動態域名解析的方法。可以將一些常用的域名放入靜態域名解析表中,這樣可以大大提高域名解析效率。

DNS的工作原理

以訪問www.為例說明(主機為Windows系統)

1)客戶端首先檢查本地c:\windows\system32\drivers\etc\host檔案,是否有對應的IP地址,若有,則直接訪問WEB站點,若無
2)客戶端檢查本地快取資訊,若有,則直接訪問WEB站點,若無
3)本地DNS檢查快取資訊,若有,將IP地址返回給客戶端,客戶端可直接訪問WEB站點,若無
4)本地DNS檢查區域檔案是否有對應的IP,若有,將IP地址返回給客戶端,客戶端可直接訪問WEB站點,若無,
5)本地DNS根據cache.dns檔案中指定的根DNS伺服器的IP地址,轉向根DNS查詢。
6)根DNS收到查詢請求後,檢視區域檔案記錄,若無,則將其管轄範圍內.com伺服器的IP地址告訴本地DNS伺服器
7).com伺服器收到查詢請求後,檢視區域檔案記錄,若無,則將其管轄範圍內.xxx伺服器的IP地址告訴本地DNS伺服器
8).xxx伺服器收到查詢請求後,分析需要解析的域名,若無,則查詢失敗,若有,返回www.的IP地址給本地伺服器
9)本地DNS伺服器將www.的IP地址返回給客戶端,客戶端通過這個IP地址與WEB站點建立連線

 安裝DNS伺服器軟體

yum install bind -y

 配置相關配置檔案

/etc/named.conf ,/etc/named.rfc1912.zones 為DNS主配置檔案
/var/named/目錄為DNS資料庫檔案存放目錄,每一個域檔案都放在這裡。
/etc/rc.d/init.d/named 為DNS服務的服務指令碼。

 一 DNS正向解析

這裡以peter.com域為例 www.peter.com 對應IP 為192.168.4.12; ftp.peter.com 對應IP為1.1.1.1

1 首先編輯vim /etc/named.conf檔案

        listen-on port 53 { any; };
        allow-query     { any; };
        dnssec-enable no;
        dnssec-validation no;

2 編輯區域配置檔案vim /etc/named.rfc1912.zones

zone "peter.com" IN {
        type master;
        file "peter.com.zone";
};

 其中zone的格式為:

zone "ZONE_NAME"  IN {
    type  master;
    file "ZONE_NAME.zone"
};

3 新建解析庫檔案/var/named/linuxidc.com.zone

[[email protected] ~]# vim /var/named/peter.com.zone
$TTL 1D
$ORIGIN peter.com.
@   IN SOA  peter.com. admin.peter.com. (
                    20170526; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
peter.com. IN  NS  ns1.peter.com.

ns1    IN A    192.168.4.12
www    IN A    192.168.4.12
ftp    IN A    1.1.1.1

 4 修改解析庫檔案許可權

[[email protected] ~]# chgrp named /var/named/peter.com.zone 

 5、檢查 配置語法

(1)檢查配置檔案語法

named-checkconf

(2)檢查域配置檔案語法

[[email protected] ~]# named-checkzone peter.com  /var/named/peter.com.zone
zone peter.com/IN: loaded serial 20170526
OK

 6 啟動named服務

systemctl start named

7 防火牆開放53,953埠

firewall-cmd --add-port=53/tcp --permanent
firewall-cmd --add-port=53/udp --permanent
firewall-cmd --add-port=953/tcp --permanent
firewall-cmd --reload
說明:有的教程寫的是隻開放53埠就可以了,我沒嘗試。
或者直接關閉防火牆selinux,修改SELNUX的值    SELNUX=disabled,wq儲存。然後reboot重啟即可。

8、dns伺服器測試

將電腦的首選DNS設定為192.168.4.156(192.168.4.156是我搭建的dns伺服器地址)。同過ping,nslookup(如nslookup www.peter.com )等命令,可以發現返回的是我們配置的192.168.4.12。說明配置成功。

二 NDS反向解析

這裡以peter.com域為例 IP地址192.168.4.12/24對應域名為www.peter.com; 192.168.4.12/24對應域名為ftp.peter.com;

1、 首先編輯vim /etc/named.conf檔案

listen-on port 53 { any; };
        allow-query     { any; };
        dnssec-enable no;
        dnssec-validation no;

2 編輯區域配置檔案vim /etc/named.rfc1912.zones

zone "4.168.192.in-addr.arpa" IN {
    type master;
    file "name.4.168.192";
};

格式為:pwd.

zone "NET_IP.in-addr.arpa" IN { #NET_IP 為反向解析的IP網段
    type master;
    file "NAME_ZONE";       #NAME_ZONE為反向解析庫配置檔名稱
};

3 新建解析庫檔案vim /var/named/name.4.168.192

$TTL 1D
$ORIGIN 4.168.192.in-addr.arpa.
@       IN SOA  peter.com. admin.peter.com. (
                                        20170526; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
       IN      NS      peter.com.
12     IN      PTR     www.peter.com.

4 修改解析庫檔案所屬組

chgrp named name.4.168.192

5 語法檢查

(1)檢查配置檔案語法

named-checkconf

(2)檢查域配置檔案語法

named-checkzone 4.168.192.in-addr.arpa /var/named/name.4.168.192

  

6 啟動named服務

systemctl start named