本人對DNS的理解:python
-->主從DNS服務器:數據庫
主DNS服務器(Master DNS): 數據庫更新由管理員手動完成;vim
輔助DNS服務器 (SlaveDNS):數據庫更新從主服務器或其餘輔助DNS服務器那裏完成;安全
注意:若是您感受內容不理解,那麼請到如下分支查看你所須要的內容:服務器
1. 總結 DNS and BIND: http://xiaomazi.blog.51cto.com/5891742/1376225tcp
2. 分支1- 正/反向域名解析之yum與編譯安裝: http://xiaomazi.blog.51cto.com/5891742/1376228ide
3. 分支2- 主從DNS服務器: http://xiaomazi.blog.51cto.com/5891742/1376231測試
4. 分支3- 子域受權、請求轉發: http://xiaomazi.blog.51cto.com/5891742/1377087url
5. 分支4- ACL 及 view視圖: http://xiaomazi.blog.51cto.com/5891742/1377090spa
① 這裏我是基於2和3的配置的基礎之上實現的詳情請查看:
http://xiaomazi.blog.51cto.com/5891742/1376228
1、DNS的經常使用命令:
1.測試解析命令.
1). dig命令:
# dig [-t type] [-x addr] [name] [@server]
+[no]trace-->(跟蹤解析過程)
+[no]recurse-->(是否使用遞歸的方式)
+[no]tcp -->(是否使用tcp查詢,而不使用udp)
+[no]question-->(是否隱藏問題)
+[no]answer-->(是否隱藏答案)
+[no]authority-->(是否隱藏權威段)
+[no]additional-->(是否隱藏附加段)
2). host命令:
# host [-t type] {name} [server]
例子:
[root@localhost ~]# host -t MX xiaoma.com xiaoma.com mail ishandled by 10mail.xiaoma.com. [root@localhost ~]#
3). nslookup命令(交互式的命令):
nslookup>
server DNS_SERVER_IP
set q=TYPE
{name}
例子:
[root@localhost ~]# nslookup > setq=A > www.xiaoma.com Server:172.16.17.202 Address:172.16.17.202#53 Name:www.xiaoma.com Address: 172.16.17.203 >
2.啓動/重加載命令:
1).啓動命令:
# named -u named
# servcice named start(這個可能會依賴rndc.key的)
2).重載命令:
# service named reload
# killall -1 named
# killall named(關閉)
3.測試語法錯誤:
# service named configtest
# named-checkconf
# named-checkzone "xiaoma.com" /var/named/xiaoma.com.zone
2、區域傳送的 主從複製:
注意:
這裏的主機名字我改了,爲了方便認出 主和從 的;
主DNS服務器: host1
從DNS服務器: host2
----不在同一網段也能夠同步----
前提:
掛載光盤: [root@host2 ~]# mkdir /media/cdrom [root@host2 ~]# mount /dev/cdrom /media/cdrom/ mount: block device /dev/sr0 iswrite-protected, mounting read-only 配置本地yum源: [root@host2 ~]# cd /etc/yum.repos.d/ [root@host2 yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak [root@host2 yum.repos.d]# vim media1.repo [media1] name=media1 baseurl=file:///media/cdrom enabled=1 gpgcheck=0
-->將準備好的bind包安裝:
[root@localhost ~]# yum -y install bind
1.配置正向主從服務的實現:
1).主服務器配置 /var/named/xiaoma.com.zone:
2).主服務器配置 從新加載區域文件:
[root@host1 ~]# service named reload Reloading named: [ OK ]
3).測試主從服務器是否能通訊:
2).從服務器配置 /etc/named.conf:
注意: 這裏只是把註釋的內容貼出來了: //listen-on port 53{ 127.0.0.1; }; //listen-on-v6 port 53{ ::1; }; //allow-query { localhost; }; //dnssec-enable yes; //dnssec-validation yes; //dnssec-lookaside auto; //bindkeys-file"/etc/named.iscdlv.key"; //managed-keys-directory "/var/named/dynamic"; //include "/etc/named.root.key";
3).從服務器配置 vim /etc/named.rfc1912.zones:
4).從服務器配置 啓動並查看端口53是否啓動:
[root@host2 ~]# named -u named [root@host2 ~]# ss tunl
5).從服務器配置查看/var/named/slaves/xiaoma.com.zone是否以同步:
6).從服務器配置 測試解析:
7).主服務器配置 從新加載並修改序列號:
I.添加一條記錄並修改序列號:
II.從新加載:
[root@host1 ~]# service named reload Reloading named: [ OK ]
8).查看日誌:
9).從服務器 查看是否同步:
10).其它解析:
[root@host2 ~]# dig -t NS xiaoma.com @172.16.17.100 [root@host2 ~]# dig -t MX xiaoma.com @172.16.17.100 [root@host2 ~]# dig -t CNAME pop.xiaoma.com @172.16.17.100 [root@host2 ~]# dig -t CNAME ftp.xiaoma.com @172.16.17.100
接上(1.配置正向主從服務的實現)
2.配置反向主從服務的實現:
1).從服務器配置 vim /etc/named.rfc1912.zones :
2).從服務器 測試語法並從新加載:
[root@host2 ~]# named-checkconf [root@host2 ~]# service named reload Reloading named: [ OK ]
3).從服務器 查看日誌:
4).從服務器 查看同步文件:
5).將主服務器的記錄添加至反向記錄:
咱們在主服務器(/var/named/172.16.17.zone)裏面加一條NS記錄,告訴主服務器有一個從服務器.(ns二、img以及從服務器的記錄).
6).啓動服務並從新加載:
7).主服務器 查看日誌:
8).從服務器 查看同步:
接上面(2.配置反向主從服務的實現)
3.區域傳送的安全控制:
注意:咱們都知道默認在未設置安全控制的狀況下,DNS服務器的區域傳送是傳送全部服務器的,那麼咱們應該如何防範別人同步你的服務器的數據呢?
1).主服務器配置 vim /etc/named.rfc1912.zones :
2).主服務器配置 測試語法/重加載:
[root@host1 ~]# named-checkconf [root@host1 ~]# service named reload Reloading named: [ OK ] [root@host1 ~]#
3).主服務器 測試區域傳送:
4).從服務器 測試區域傳送:
6).定從服務器的安全控制 vim /etc/named.rfc1912.zones:
7).從服務器 測試語法/重加載
[root@host2 ~]# named-checkconf [root@host2 ~]# service named reload Reloading named:
8).從服務器 測試:
A smile is the most beautiful language!!!
以本人的理解而寫出博客,如如有錯誤,歡迎指出.
---->小馬子