在linux下搭建dns服務(wù)器
Linux 下DNS 服務(wù)器的設(shè)置環(huán)境:要設(shè)的DNS 機(jī)子的 IP 192.168.239.114網(wǎng)關(guān) 192.168.239.1子網(wǎng)掩碼 255.255.255.0主機(jī)名為 dns.vm.com域
Linux 下DNS 服務(wù)器的設(shè)置
環(huán)境:要設(shè)的DNS 機(jī)子的 IP 192.168.239.114
網(wǎng)關(guān) 192.168.239.1
子網(wǎng)掩碼 255.255.255.0
主機(jī)名為 dns.vm.com
域名為 vm.com
設(shè)置本機(jī)的IP 地址、DNS 、主機(jī)名
1) IP地址: vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.239.255
HWADDR=00:0C:29:90:CB:ED
IPADDR=192.168.239.114
NETMASK=255.255.255.0
NETWORK=192.168.239.0
ONBOOT=yes
2) 修改本機(jī)DNS 設(shè)置: vi /etc/resolv.conf
search vm.com
nameserver 192.168.239.114
3) 修改本機(jī)的主機(jī)名:
a. vi /etc/hosts
192.168.239.114 dns.vm.com
b. vi /etc/sysconfig/network
HOSTNAME=dns.vm.com
=====================================對(duì)DNS 進(jìn)行設(shè)=================================================
1) 安裝 rpm -ivh bind-9.3.6-4.P1.el5.rpm
2) 配置文件
vi /etc/named.conf
---------------------------------------/etc/named.conf
/*
定義了named 要讀寫文件的路徑
在這個(gè)文件中是用zone 關(guān)鍵字來(lái)定義域名的, 一個(gè)zone 關(guān)鍵字定義一個(gè)域區(qū) type 有三種類型,它們分別是master,slave 和hint 。他們的含義分別是: master :表示定義的是主域名服務(wù)器
slave:表示定義的是輔助域名服務(wù)器
hint:表示是互聯(lián)網(wǎng)中根域名服務(wù)器 置
,*/
options {
directory "/var/named";
pid-file "/var/run/named/named.pid";
allow-query { any; };
allow-transfer { none; };
};
zone "." in {
type hint;
file "named.ca";
};
zone "localhost" in {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
};
zone "vm.com" in {
type master;
file "vm.com.zone";
};
zone "239.168.192.in-addr.arpa" in {
type master;
file "192.168.239.zone";
};
/*
file 用來(lái)指定具體存放DNS 記錄的文件
zone "localhost" 定義一個(gè)域名為localhost 的正向區(qū)域
zone "0.0.127.in-addr.arpa" 定義一個(gè)IP 為127.0.0.* 的反向域區(qū)
zone "vm.com" 定義一個(gè)域名為vm.com 的正向區(qū)域
zone "239.168.192.in-addr.arpa" 定義一個(gè)IP 為192.168.239.*的反向域區(qū)
named.ca 、localhost.zone 127.0.0.zone 這兩個(gè)文件基本不用更改,可以直接用 */
---------------------------------------/var/named/named.ca
. 3600000 IN NS A.ROOT-SERVERS.NET.
,A.ROOT-SERVERS.NET. 3600000 A 192.168.239.114
---------------------------------------/var/named/localhost.zone
$TTL 1W
@ IN SOA @ root (
42 ; serial (d. adams)
2D ; refresh
4H ; retry
6W ; expire
1W ; minimum
)
IN NS @
IN A 127.0.0.1
; DNS server
---------------------------------------/var/named/127.0.0.zone
$TTL 1W
@ IN SOA localhost. root.localhost. (
42 ; serial (d. adams)
2D ; refresh
4H ; retry
6W ; expire
1W ; minimum
)
IN NS localhost.
1 IN PTR localhost.
---------------------------------------/var/named/127.0.0.zone
/*
serial 用來(lái)規(guī)定配置文件的修改版本,格式是年月日當(dāng)日修改的修改次數(shù),每
次修改這個(gè)配置文件時(shí)都應(yīng)該修改這個(gè)數(shù)字,要不然你所作的修改不會(huì)更新到網(wǎng)上的其它
DNS 服務(wù)器的數(shù)據(jù)庫(kù)上,即你所做的更新很可能對(duì)于不以你的所配置的DNS 服務(wù)器為DNS 服務(wù)器
的客戶端來(lái)說(shuō)就不會(huì)反映出你的更新,也就對(duì)他們來(lái)說(shuō)你更新是沒(méi)有意義的。
refresh 用來(lái)規(guī)定從域名服務(wù)器多長(zhǎng)時(shí)間查詢一個(gè)主服務(wù)器,以保證從服務(wù)器的數(shù)據(jù)是最新的
retry 用來(lái)規(guī)定當(dāng)從服務(wù)器試圖在主服務(wù)器上查詢更新時(shí),而連接失敗了,則這個(gè)值規(guī)定了從服務(wù)器
多長(zhǎng)時(shí)間后再試
expire 用來(lái)規(guī)定從服務(wù)器在向主服務(wù)器更新失敗后多長(zhǎng)時(shí)間后清除對(duì)應(yīng)的記錄 minimum 用來(lái)規(guī)定緩沖服務(wù)器不能上主服務(wù)器聯(lián)系上后多長(zhǎng)時(shí)間清除相應(yīng)的記錄
,SOA 表示授權(quán)開始,上面的IN 表示后面的數(shù)據(jù)使用的是INTERNET 標(biāo)準(zhǔn),而@則代表 相應(yīng)的域名,如在這里代表vm.com ,即表示一個(gè)域名記錄定義的開始。而
dns.vm.com 則是這個(gè)域的主域名服務(wù)器,而root.dns.vm.com 則是管理員的郵件地址。 注意這是郵件地址中用. 來(lái)代替常見(jiàn)的郵件地址中@。
NS:表示是這個(gè)主機(jī)是一個(gè)域名服務(wù)器
A: 定義了一條A 記錄,即主機(jī)名到IP 地址的對(duì)應(yīng)記錄
MX :定義了一郵件記錄
CNAME:定義了對(duì)應(yīng)主機(jī)的一個(gè)別名
在文件的最后一定要空一行,不然好像會(huì)出錯(cuò)
*/
-----------------------------------------/var/named/vm.com.zone
$TTL 83600
@ IN SOA dns.vm.com. root.dns.vm.com. (
2004071601 ;se = Serail number
28800 ;ref = Refresh
14400 ;ret = update Retry
3600000 ;ex = Expire
86400 ;min = Minimum
)
@ IN NS dns.vm.com.
dns IN A 192.168.239.114
; DNS Server
;##### RAC IP
gc1 IN A 192.168.239.11
gc2 IN A 192.168.239.12
gc1-vip IN A 192.168.239.21
gc2-vip IN A 192.168.239.22
;####SCAN IP
gc-scan IN A 192.168.239.61
gc-scan IN A 192.168.239.62
gc-scan IN A 192.168.239.63
-----------------------------------------/var/named/192.168.239.zone
$TTL 83600
@ IN SOA dns.vm.com. root.dns.vm.com. (
,100 ; se = Serail
8h ; ref = Refresh
5m ; ret = update Retry
3w ; ex = Expire
3h ; min = Minimum
)
@ IN NS dns.vm.com.
; DNS machine name in reserse
114 IN PTR dns.vm.com.
;##### RAC IP
11 IN PTR gc1.vm.com.
12 IN PTR gc2.vm.com.
21 IN PTR gc1-vip.vm.com.
22 IN PTR gc2-vip.vm.com.
;####SCAN IP
11 IN PTR gc1.vm.com.
61 IN PTR gc-scan.vm.com.
62 IN PTR gc-scan.vm.com.
63 IN PTR gc-scan.vm.com.
-----------------------------------------/var/named/192.168.239.zone
3) 在客戶端指定dns 服務(wù)器
vi /etc/resolv.conf
search vm.com
nameserver 192.168.239.114
/*
當(dāng)解析域名時(shí), 輸入gc1,DNS 可以把它成功的解析為gc1.vm.com
*/
4)
在linux 下解析域名的順序
/etc/hosts.conf
order hosts,bind //解析域名的順序
multi on //允許一臺(tái)計(jì)算機(jī)擁有多個(gè)IP
5) 進(jìn)行測(cè)試
在dns 服務(wù)器上啟動(dòng)DNS service named restart
查看dns 啟動(dòng)日志tail -f /var/log/messages
,在客戶端
[root@linux]nslookup
用來(lái)測(cè)試正向和反向
>gc1.vm.com 正向
>192.168.239.11 反向
[root@linux]iptables -F 去掉防火墻
[root@linux]chkconfig named on