centos6.5下DNS搭建數據庫
什麼是DNS。
centos
域名系統(domain name system)的縮寫,直白點就是域名與ip之間的對應關係的數據庫,相對ip字符串,域名更容易記憶,方便用戶訪問互聯網。而域名到ip之間的轉換就叫作域名解析。緩存
好比:咱們想訪問www.baidu.com這個網站
dom
這樣就能夠正常訪問了,這就是DNS的重要性。
tcp
2.開始安裝了ide
2.一、咱們要使用的DNS就是使用柏克萊大學發展出來的 BIND ( Berkeley Internet Name Domain, BIND ) 這個套件。因此要安裝DNS,就看看系統有麼有安裝這個套件。使用rpm這個命令看看測試
[root@dns-catch ~]# rpm -qa | grep bind網站
2.二、若是沒有安裝,下面咱們就使用yum這個命令安裝3d
[root@dns-catch ~]# yum -y install bindrest
bind的設定檔主要有3個
/etc/named.conf:主機的設定值都在這個檔案
/etc/named.rfc1912.zones:設定zone,定義hostname <--> IP 的對應關係
/var/named/:存放zone規定的檔案
說到這裏,有三個概念須要瞭解下
一、zone:區域,一個正解或者反解的設定就是一個zone。
二、正解:hostname到ip的映射,不惟一
三、反解:ip到hostname的映射,惟一一個
四、關於正反解的格式
下面經過例子來詳細說明正反解
這些都是固定格式,正解反解都同樣
$TTL 600 ;catch的緩存時間
@ IN SOA @ hostname. (
serial:主備之間更新參考的參數
refresh:更新時間
retry:間隔多久從新鏈接
expire:鏈接超時多久後再也不鏈接
minimum:相似與TTL值
)
下面說正解的格式
$TTL 600
@ IN NS hostname.
hostname. IN A 對應的ip
www IN CNAME hostname.
反解的格式:
@ IN NS hostname.
hostname. IN A 對應的ip
對應的ip IN PTR hostname.
對於正解和反解均可以簡寫
就拿上面的正解來看對應的簡寫方式
NS hostname.
A 對應ip
CNAME hostname.
就這麼簡單,@ IN 均可以省略
2.三、簡易的 cache-only DNS 設定:
設定一個 cache-only 的 DNS 主機其實真的很簡單的啦!由於不須要設定正反解的 Zone ,因此只要設定一個檔案(就是 named.conf)便可。轉發移動公共DNS:114.114.114.114
2.四、重啓named服務
[root@dns-catch /]# service named restart
2.五、觀察port:53端口的變化,看下有麼有啓動
[root@dns-catch /]# netstat -tunl | grep :53
tcp 0 0 *.*.*.*:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 ::1:53 :::* LISTEN
udp 0 0 *.*.*.*:53 0.0.0.0:*
udp 0 0 127.0.0.1:53 0.0.0.0:*
udp 0 0 ::1:53 :::*
2.六、檢查/var/log/message的訊息
named 這個服務的記錄文件就直接給他放置在 /var/log/messages 裏面啦,因此來看看裏面的幾行吧!
2.七、沒什麼問題,就開始測試了,正常解析就大功告成。
可是客戶端nslookup會顯示下面的問題,這是由於麼有作正反解。
下來就須要建立兩個zone,一個正解,一個反解。
/etc/named.rfc1912.zones:設定zone,定義hostname <--> IP 的對應關係
zone "cache-1" IN {
type master;
file "named.cache-1";
allow-update {none ;};
};
zone "*.*.*.*.in-addr.arpa" IN {
type master;
file "named.*.*.*.*";
allow-update {none ;};
};
創建好zone後,就須要對zone作相應的正反解,/var/named/:存放zone規定的檔案
root@root@dns-cache named]# vi named.cache-1
$TTL 600
@ IN SOA @ cache-1. (
20170530
28800
14400
720000
86400)
NS cache-1.
A *.*.*.*
[root@root@dns-cache named]# vi named.*.*.*.*
$TTL 600
@ IN SOA @ cache-1. (
20170530
28800
14400
720000
86400)
NS cache-1.
A *.*.*.*
PTR cache-1.
設置完,重啓named服務
[root@root@dns-cache named]# service named restart
下面再來nslookup,就能夠正常顯示了