標籤:
centos DNS服務搭建 第三十節課
上半節課
下半節課
一. DNS原理相關
DNS 為Domain Name System(網域名稱系統)的縮寫,它是一種將ip地址轉換成對應的主機名稱或將主機名稱轉換成與之相對應ip地址的一種服務機制。
其中通過網域名稱解析出ip地址的叫做正向解析,通過ip位址解析出網域名稱的叫做反向解析。 DNS使用TCP和UDP, 連接埠號碼都是53, 但它主要使用UDP,伺服器之間備份使用TCP。
全世界只有13台“根”伺服器,1個主根伺服器放在美國,其他12台為輔根伺服器,DNS伺服器根據角色可以分為:主DNS, 從DNS, 緩衝DNS伺服器,DNS轉寄伺服器。
二. 使用bind搭建DNS伺服器
1. 安裝bind
yum install -y bind //會順便安裝bind-utils包
cp /etc/named.conf /etc/named.conf.bak
>/etc/named.conf
vim /etc/named.conf
加入如下配置:
options {
directory "/var/named";
};
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 "named.local";
};
chown named /etc/named.conf
cd /var/named/
dig -t NS . > named.ca
vim localhost.zone //加入
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
localhost. IN A 127.0.0.1
vim named.local //加入
$TTL 86400
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
1 IN PTR localhost
檢測配置是否有問題: named-checkconf
檢測正解析: named-checkzone "localhost" /var/named/localhost.zone
檢測反解析: named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local
rndc-confgen -r /dev/urandom -a // 這一步是產生 rndc.key, 如果沒有這個key ,namd 是啟動不了的。
chown named:named /etc/rndc.key
/etc/init.d/named start
netstat -lnp |grep named // 查看一下named進程是否監聽了53連接埠
首先測試正向解析:dig @127.0.0.1 localhost.
接著測試反解析:dig @127.0.0.1 -x 127.0.0.1
2. 增加一個網域名稱(zone)
vim /etc/named.conf //增加
zone "abc.com" IN {
type master;
file "abc.com.zone";
};
zone "137.168.192.in-addr.arpa" IN {
type master;
file "192.168.zone";
};
編輯zone檔案: vim /var/named/abc.com.zone//增加
$TTL 600
@ IN SOA abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
IN NS ns.abc.com.
IN MX 10 mail.abc.com.
ns IN A 192.168.0.11
www IN A 192.168.137.73
mail IN A 192.168.137.10
bbs IN CNAME www.abc.com.
編輯反解析檔案: vim /var/named/192.168.zone //增加
$TTL 600
@ IN SOA ns.abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
@ IN NS ns.abc.com.
10 IN PTR ns.abc.com.
11 IN PTR mail.abc.com.
73 IN PTR www.abc.com.
分別檢測兩個設定檔是否有問題:
named-checkzone "abc.com" abc.com.zone
named-checkzone "137.168.192.in-addr.arpa" 192.168.zone
重啟named服務
測試 dig @127.0.0.1 www.abc.com
dig @127.0.0.1 -x 192.168.137.11
vi /etc/resolv.conf //修改為自己機器的DNS的IP
3. 配置DNS轉寄
我們配置的DNS是只能解析我們定義的zone的,我們沒有定義的是不能解析的。
配置DNS轉寄就可以解析其他互連網上的網域名稱了,前提是這個網域名稱在互連網中的確在使用,也就是說這個網域名稱已經被某個DNS伺服器解析了。
vim /etc/named.conf //在options{} 裡面增加
forward first;
forwarders { 8.8.8.8; };
這兩行就是用來配置轉寄的,該DNS伺服器不能解析的網域名稱會轉寄到8.8.8.8這個DNS伺服器上去解析。
4. 配置主從
在從伺服器上 yum install -y bind
拷貝主上的設定檔到從上,其中有/etc/named.conf, /var/named/localhost.zone, /var/named/named.local
拷貝過來後,修改一下從的/etc/named.conf 內容參考:
options {
directory "/var/named";
};
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 "named.local";
};
zone "abc.com" IN {
type slave;
file "slaves/abc.com.zone";
masters { 192.168.0.11; };
};
zone "137.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.zone";
masters { 192.168.0.11; };
};
從上產生rndc.key: rndc-confgen -r /dev/urandom -a
chown named:named /etc/rndc.key
從上啟動named: /etc/init.d/named start
啟動成功後會在 /var/named/下產生一個slaves目錄,這個目錄下會有192.168.zone, abc.com.zone這兩個檔案,內容是和主上的一樣的
在從上測試: dig @127.0.0.1 www.abc.com
5. 測試主從同步
在主dns上變更檔 /var/named/abc.com.zone // 在最後增加一行:
123 IN A 1.1.1.1
另外需要修改一下第三行的那個數字串,這個是用來做標記的,只有這個數字變化了,才可以讓從自動跟著變,數字只能是變大,不能減小,2013081601 -> 2013081602
重啟主namd服務: /etc/init.d/named restart
經測試我們發現一個問題,就是從經常會同步特別慢,這是很要命的。所以需要我們做一個特殊操作,在主上的/etc/named.conf中,abc.com的zone中增加兩行:
notify yes;
also-notify { 192.168.0.12; };
下面的知識點請自行配置學習
再配置一個網域名稱(zone)
bind配置視圖(view) http://wubinary.blog.51cto.com/8570032/1378363
使用mydns搭建DNS伺服器 http://www.aminglinux.com/bbs/thread-186-1-1.html
使用dnsmasq配置dns緩衝 http://www.aminglinux.com/bbs/thread-5284-1-1.html
理解dns的遞迴和迭代查詢 http://jeffyyko.blog.51cto.com/28563/215293 http://jeffyyko.blog.51cto.com/28563/216962
安裝dig工具
yum install bind-utils
根據網域名稱解析ip
dig www.aminglinux.com
指定DNS的ip,也可以擷取到 www.aminglinux.com這個網域名稱的ip
正解析
dig @8.8.8.8 www.aminglinux.com
反解析
dig @8.8.8.8 -x 183.26.39.112
各種網域名稱解析記錄
NS記錄:用來解析你的主機IP的DNS伺服器,解析網域名稱的DNS伺服器在哪裡,就是你的DNS server
A記錄:像hosts檔案 指定各個伺服器的ip www伺服器的ip,mail伺服器的ip,bbs伺服器的ip,hosts檔案裡面的記錄就是A記錄
CNAME記錄:我一個變大家跟著我變,不用一個一個改A記錄 cname轉寄,原來是abc.com 我現在改為bcd.com 只需要修改cname記錄
MX記錄:郵件
定義NS記錄,NS記錄又對應一個A記錄
不停轉寄
mydns的好處是:不用授權給php或者shell修改設定檔,不安全,用mysql的話,授權使用者修改資料庫裡的資料比較安全,php更改mysql
f
centos DNS服務搭建 第三十節課