世上無難事只怕有心人,遇事千萬千萬不要抵觸,消極的情緒是失敗之母,一點一滴,踏踏實實是通往幸福的捷徑。
歷經激動,受挫,抵觸和鼓勵以及征服,終於配好了讓我歡喜讓我憂的dns。在這里記錄下來,希望能夠給和我一樣對dns配置陌生的朋友們做個參考,不足之處,請多指教!
一,DNS服務器是什么
計算機之間的連接只能通過ip地址,為什么我們可以通過輸入不同的域名訪問散落在世界各地的計算機呢?我們輸入域名的時候,其實實質是指向了一個具體的ip,所以我們才可以通簡單的、“顧名思義”的域名去訪問散落在世界各地的主機。而幫我們實現這個從域名到ip轉換的就是DNS服務器,
DNS是英文Domain Name System的縮寫,翻譯過來就是域名系統。域名我們比較熟悉,比如:www.baidu.com這種,域名系統主要由域名和域名對應的ip地址組成。我們訪問一個域名其實是訪問域名對應的ip地址,域名系統幫助我們將域名翻譯成為ip地址。DNS服務器就是為我們提供域名解析服務的主機,一台域名服務器上會有一個或多個域名和ip一一對應的表,當它收到某個域名解析請求時,就通過一系列規則去搜索得到正確的ip,然后返回。
總結下一台DNS服務器的要素:
1.解析功能;
2.域名和ip地址一一對應的表;
二,DNS服務器怎么配置
(我的主機ip地址是:192.168.0.22,所以后面的配置以它為基礎。)
第一部分,簡單的說明了什么是DNS服務器,當一台主機滿足了作為一台DNS服務器所必備的要素,那么它就可以充當一台DNS服務器。所以,我們可以從上面兩個方面入手進行配置。
1.給主機安裝DNS軟件,使主機能夠實現解析功能:
(1)輸入命令:# yum install bind
然后等待complete。
(2)配置:
首先,配置/etc/named.conf
命令:# vi /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { any; }; //開啟監聽端口53,接受任意IP連接
listen-on-v6 port 53 { ::1; }; //支持IP V6
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 { 0.0.0.0/0; }; //允許任意IP查詢
recursion yes;
dnssec-enable yes; //這里是dns安全擴張相關的東西
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones"; //主要配置文件,后面我們新添加的區域定義就是在這個文件里面。
include "/etc/named.root.key";
其次,配置區域文件/etc/named.rfc1912.zones
命令:# vi /etc/named.rfc1912.zones
在文件的最后添加以下內容:(當然這些內容也可以加在named.conf中,不過為了方便我們閱讀,我們把自己配置的內容都放在這里)
zone "yourcontent.com" IN {
type master;
file "named.yourcontent.com
allow-update { none; };
};
zone "22.0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.22.arpa";
allow-update { none; };
};
2.配置域名和ip一一對應的“表“:
文件目錄:/var/named/
正向:(文件與named.rfc1912.zones中填寫的file對應)
named.yourcontent.com(這里的文件命名后綴不固定,可按照自己習慣閱讀的方式,如named.yourcontent.conf也可以,只是記得和前面named.rfc1912.zones文件中的對應域名的file字段配置一致)
$TTL 1D
@ IN SOA yourcontent.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
admin IN A 192.168.0.22
adminapi IN A 192.168.0.22
反向:(文件與named.rfc1912.zones中填寫的file對應)
192.168.0.22.arpa(這里的文件命名后綴不固定,可按照自己習慣閱讀的方式,如named.yourcontent.conf也可以,只是記得和前面named.rfc1912.zones文件中的對應域名的file字段配置一致)
$TTL 1D
@ IN SOA yourcontent.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
AAAA ::1
50 PTR admin.jwtweb.com.
51 PTR adminapi.jwtweb.com.
3.啟動域名服務:
命令:# service named start
三,DNS服務器的測試
我們配置的是一台dns服務器,那么測試就是把某個終端的dns服務器設為我們自己配置的服務器,來看看它是否能夠進行我們配置好的域名和ip之間的解析。所,我們的測試分為兩個部分,第一,給終端配置dns服務器;第二步,訪問某個我們已經配置好的域名,看是否能夠得到正確的響應。
1.配置終端的dns服務器(以win10為例,其他的大同小異):
單擊電腦右下角網絡連接圖標,在彈出的窗口中選擇自己當前連接的網絡左下角的屬性按鈕,單擊:

2.訪問我們配置好的域名:
在瀏覽器輸入我們配置的域名:admin.yourcontent.com
如果配置正確,則可以看到我們所配置的域名對應的站點。
