安裝:
# yum install bind –y
# yum install bind-chroot –y
安裝上面這兩個包。還可以一起安裝,寫成如下:
# yum install bind bind-chroot –y 將這兩個包同時安裝
安裝完之后,它的配置文件都在/etc/目錄下面
默認情況下,DNS是在/etc這個目錄下面來運行的,因為我們裝了chroot之后,實際上它就是在某個目錄下面來運行的!!!因為我們裝了bind-chroot,所以它也會對它的一些工作目錄也做了chroot
默認情況下,DNS所有的配置文件都放在/etc下面來工作的,但是,因為我們裝了bind-chroot,所以它會把DNS工作的目錄改為/var/named/chroot/這個目錄,也就是說,裝了chroot之后,DNS會把/var/named/chroot/這個目錄當成自己的根,因為我把裝完DNS之后,它的一些配置文件還是在根下面的/etc目錄下面,所以說,我們有必要把/etc目錄下,所有的DNS配置文件全部的復制到/var/named/chroot/etc/這個目錄中,如下:
# cd /etc/
# cp –a named* /var/named/chroot/etc/
默認情況下,當裝好DNS之后,它的域的配置文件是放在/var/named/這個目錄下面,因為做了chroot,所以這個目錄并不是DNS系統的根,那么它的根就是在
/var/named/chroot/var/named這個目錄下面,所以說我們有必要將/var/named/目錄下面所有的文件全部拷貝到/var/named/chroot/var/named/這個目錄下面(chroot除外);
因為DNS所用到的域配置文件全部是放到/var/named/這個目錄里面的,DNS會認為它的工作目錄是/var/named/目錄,因為我們做了chroot,所以說/var/named/這個并不是系統的根,所以它的根是
/var/named/chroot/var/named/這個目錄,
所以說,我們很有必要把/var/named/下面的文件(data/,dynamic/,slaves/)拷貝到
/var/named/chroot/var/named/下面,如下:
# cp –a data/ dynamic/ named.* slaves/ /chroot/var/name/
現在我們進入/chroot/目錄,如下:
# cd /var/named/chroot/
# ls
Dev etc usr var
進入chroot目錄之后,因為我們裝了chroot,此時bind會認為我們是在根目錄下面,其實我們是在/var/named/chroot/目錄下面。
現在我們再進入/var/named/chroot/etc/目錄下面,然后編輯該目錄下面的named.conf文件,如下:
# cd /var/named/chroot/etc/
Named.conf為DNS的主配置文件。
# vim named.conf
Listen-on port 53 { 127.0.0.1; }; 監聽的端口(后面的IP表示只監聽回環的53端口,這個IP地址可以改成any)
Listen-on-v6 port 53 { ::1; };
Directory “/var/named”; 配置文件的默認路徑,這個路徑指的是
/var/name/chroot/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 { localhost; }; 允許查詢 本地(這里的意思是只有本地可以允許查許,我們做DNS的目的就是可以讓任何機器都可以查詢,可以讓某個網段可以查詢。因此這里的localhost可以改成any或者某個網段) any; 或 192.168.24.0/24
Recursion yes; 遞歸(這里是是否開啟遞歸查詢)可以使用man named.conf來查看詳細幫助
這部分講的是日志問題
進入/var/named/chroot/etc/目錄,然后編輯此目錄下的named.conf文件,具體如下:
# vim /var/named/chroot/etc/named.conf
將后面括號中的127.0.0.1改成any或網段
將后面括號中的localhost改成any或網段
“IN”是類型
1、先編寫正向解析文件;
# vim /var/named/chroot/etc/named.conf
正向解析區域;并且定義正向解析區域文件名稱為ovinzhang.com.zone
區域解析文件路徑:
/var/named/chroot/var/named/ 目錄下
編寫正向區域文件:
配置文件中的
$GENERATE 1-100 station$ A 10.10.10.$這句話是一個變量,IP地址從1-100一一代入10.10.10.$后面的$數字,并且主機名也會變成station1station2……
這里寫的是生存期為1天,就是這個文件里面的記錄存活期;
“@”(第一個@)是一個變量,它代表的是當前的域名;
“SOA”表示驗證的起始;后面跟著DNS服務器主機名;
“root”表示的是root.ovinzhang.com.這是完整的寫法(后面部分給省略掉了)
意思:1D表示每1天向服務器查詢一次同步過程,如果主服務器沒有給回復的話;第1小時重新連接一次;不可能一直接連接下去,最多給1周的時間,如果一周時間都連接不成功,一周之后就不會再去連接了;3H表示緩沖時間;
意思:NS表示name server,這行是指明哪臺是DNS服務器;
這里指明的是DNS服務器的IP地址;
這里要說明的是,如果相同的位置是相同的話,我可以把下面的@符號給省略掉;如下:
這句意思是, XX這臺主機的IP地址除了是24.11,還有一個IP地址為24.88
非常重要的地方:
就是我們剛剛寫的那個文件,寫好之后看一下它的屬性,所屬組為root,權限為640,所以我們必須把這個文件屬性和權限給改成和這個目錄下期文件的權限一樣,才可以,否則DNS無法啟動,截圖如下:
到這里,我們的DNS正向解析就配置好了;
下面開始重啟一下DNS服務,如下:
這里出現了Generating /etc/rndc.key:意思是要我們生成一個rndc.key;但是這個目錄/var/named/etc/中好像沒有這個key,我們就來生成一個,如下:
# rndc-confgen -r /dev /urandom –a 我們需要運行這個命令來生成一個key
生成好key之后,再重新啟動一下DNS:
在防火墻上把53端口打開,如下:
# iptables –I INPUT 1 -p tcp --dport 53 -j ACCEPT
# iptables -I INPUT 1 -p udp --dport 53 -j ACCEPT
# service iptables save
然后再在resolv.conf文件中,指定DNS服務器為自己,如下:
# vim /etc/resolv.conf
在上面加上一行: nameserver 127.0.0.1
再使用host 解析一下DNS服務器中的主機:(看看本地解析)
# host -l ovinzhang.com
以上配置為正向解析配置DNS,
主機名——>>IP地址
2、再編寫反向解析文件;
首先定義一個反向域,在named.conf文件中;
此文件位于: /var/named/chroot/etc/這個目錄下面
# vim /var/named/chroot/etc/named.conf
這里編輯的是反向解析部分內容;注意:24.168.192.in-addr.arpa這個非常重要,定義反向區域的名字格式為網段的反過來寫,然后后面加上in-addr.arpa;下面定義的是向區域文件名;
再新建一個ovinzhang.com.arpa文件,然后再去編輯:
# cd /var/named/chroot/var/named/
# cp ovinzhang.com.zone ovinzhang.com.arpa
# vim /var/named/chroot/var/named/ovinzhang.com.arpa
這里我們要改的就是將里面的所有A記錄全部給刪除掉,然后給全部改成PTR記錄;
“PTR”表示指針記錄;主要做反向解析的;
反向區域中最上面加行這一行變量:
$GENERATE 1-100 $ PTR station$.rhce.cc.
然后下一步再更改權限,如下:
將正向文件和反向文件權限改成640,再把用戶和所屬組改成root named,如下:
# chgrp named rhce.cc.zone rhce.cc.arpa
# chmod 640 rhce.cc.zone rhce.cc.arpa
下一步啟動DNS服務:
# service named restart
如果要提示輸入什么key的話,可以運行如下命令,之后再啟named服務,如下:
# rndc-confgen –r /dev/urandom –a
# service named restart
就可以了,如果防火墻是打開的,可以允許53端口,如下:
# iptables –I INPUT 1 –p tcp –dport 53 –j ACCEPT
# iptables –I INPUT 1 –p udp –dport 53 –j ACCEPT
# service iptables save
如果不加上面兩個打目的話,可以把防火墻壁給關掉就可以了。
# iptable -F
# service iptables stop
# host –l rhce.cc 查看rhce.cc這個域中所有的主機
# host –l 10.10.10.in-addr.arpa 查看反向域中所有主機
# host server.rhce.cc 解析server.rhce.cc所對應的IP地址
# host 10.10.10.3 解析10.10.10.3所對應的主機名
$GENERATE 1-100 $ PTR station$.rhce.cc.