DNS服務做爲基礎的網絡服務在互聯網中處處存在,學習搭建DNS服務器是網絡管理員的基本技能之一。linux
準備環境:vmware workstation 10vim
redhat 5.10 x86_64 虛擬機2臺
緩存
主DNS:192.168.195.129 ns1.jwh5566.com
安全
192.168.1.114 連外網 主要是客戶端用來測試DNS是否遞歸查詢的服務器
從DNS:192.168.195.128 ns2.jwh5566.com
網絡
域名:jwh5566.com負載均衡
代理的客戶端:192.168.195.130 131 132...
ide
安裝linux,配置本地光盤yum源,配置ipoop
此處省略1000字......學習
查看是否安裝dns,dns服務的軟件叫作bind,因此
yum list | grep "^bind"
能夠看到有2個版本的bind,bind和bind97,bind是爲了兼容之前老版本的,因此咱們要安裝bind97,
系統默認安裝了bind-utils,和bind-libs,請卸載
yum remove bind-utils bind-libs -y
主DNS,192.168.195.129的配置
安裝完成後會在/etc下生成/etc/named.conf文件和/var/named/目錄
備份/var/named.conf文件,後面本身寫
mv /etc/named.conf /etc/named.conf.bak
vim /etc/named.conf 相似以下,後面解釋內容
options :定義了dns服務的工做特性
directory:定義dns的區域數據文件所在目錄,數據文件就是真正可以查找所須要的IP或者主機名的地方
allow-recursion:指定容許代理那個網段的客戶端去遞歸查詢,不指定的話,互聯網上全部的客戶機都指定你的dns服務器去遞歸查詢,你的服務器就要忙死了,因此這裏指定代理本身域內的客戶機去遞歸查詢。(建議指定)
"." 區域 :根域
type:指定了域的類型 hint 表示根域,還有master表示主DNS的配置,slave表示從DNS的配置
file:表示數據文件路徑,此爲相對路徑,相對於/var/named而言
named.ca裏面記錄了全球13臺根DNS服務器的IP地址。
allow-transfer:指定容許傳輸給其餘的DNS服務器的列表
none表示不傳輸,通常若是指定的話,就只指定給咱們本身的從DNS服務器便可,若是開放互聯網的話,會有安全隱患。(建議指定)
"localhost" :本地域
named.localhost:記錄localhost的ip是127.0.0.1和::1
"0.0.127.in-addr.arpa":指定反向域查詢的數據文件
named.lookback:記錄了127.0.0.1和::1對應的主機名是localhost
重點來了
"jwh5566.com": 咱們本身要代理的域
allow-transfer:指名容許將這個域信息傳輸給從服務器
"195.168.195.in-addr.arpa":jwh5566的反向域,即用IP來得到主機名
好了,到目前爲止DNS的主配置文件 修改好了,下面去配置數據文件
在/var/named目錄下named.ca和named.localhost,loopback都有因此不須要咱們編寫,咱們只須要編寫咱們自定義的便可。
vim wjh5566.com.zone 這是一個正向解析的數據文件
$TTL:表示客戶機在得到ip或者主機名以後緩存多久時間,這是一個全局的變量
ns1表示
下面每行表示一條記錄,一次的格式是
主機名 IN 記錄類型 IP
第一行的SOA記錄有點特別,我來詳細說下
@:表示取主配置文件中的域名,還記得前面引號裏面的域名麼?不錯,@在這裏就是隻它
IN:關鍵字
SOA:記錄類型, 其餘的還有:
NS:指名這個域的DNS服務器
A:指名從主機名到IP
PTR:指名從IP到主機名
MX:指名郵件服務器
CNAME:指名是哪一個服務器的別名
ns1.jwh5566.com.:指定DNS服務器(注意不要忘了最後的那個點)
admin.jwh5566.com:指定管理員的郵箱地址(注意不是@而是點,由於這@有特殊含義)
括號中的5個數字分別表示
2015051701 序列號:每一次更新數據文件,應該將序列號更新,以便從服務器判斷從而進行更新
1H 刷新時間:從服務器多久來訪問一次,H表示小時
5M 重試時間:從服務器訪問失敗以後,多久以後重試,M表示分鐘
2D 過時時間:此時間以後,斷定主服務器down機 ,D表示天
6H ) 否認回答的保留時間:即在通知客戶機沒有查詢到結果以後,多久時間不在相應客戶機的查詢
下面空白的表示繼承@的域名,MX後面10表示郵件服務器的優先級通常是1~99
下面來看看反向解析的數據文件
能夠看到 方向解析的數據文件和正向的很相似
只須要將IP和主機名爲止調換便可,可是這裏的主機名要寫全,由於這裏的@不在表示「jwh5566.com」了,你知道表示什麼嗎?對咯,就是「195.168.192.in-addr.arpa」
至此,主DNS的配置就算完了,對於從DNS的配置就不要這麼麻煩了,由於他會同步數據文件的。
從DNS,192.168.195.128的配置
由於主配置文件大部分都相同,因此咱們cp主DNS的配置文件,稍加修改便可,
scp 192.168.195.129:/etc/named.conf /etc/named.conf
vim named.conf
file:數據文件爲何要放在slaves目錄下呢?由於named目錄默認對於named用戶不可寫,因此咱們用slaves目錄
masters:指定主DNS服務器的地址
其餘地方都不須要修改,OK
啓動主DNS服務器
service named start
啓動從DNS服務器
service named start
查看主DNS服務器的日誌
tail /var/log/messages
查看從DNS服務器named目錄下已經有對應域的數據文件
那麼咱們在主DNS修改jwh5566.com的數據文件會不會同步過去呢?咱們來試一下
編輯數據文件 在裏面添加一行記錄pop3或者sftp(注意要修改序列號,這裏修改成2015051703)
重啓dns服務,查看日誌
看到發送的序列號了麼 2015051703
注意下最後的IXFR表示增量更新,IXFR ended 表示增量更新結束,看下從DNS服務器的數據文件是否是同步了呢。
測試DNS服務器
dig 命令使用
dig 命令能夠測試DNS服務器
-t:指定記錄類型
@指定用哪一個DNS服務器來查詢(注意測試的時候要加哦,不然會默認使用本機系統的的DNS,就是/etc/resove.conf裏面的dns服務器來解析的)
例如:查詢jwh5566.com的NS的地址
dig -t NS jwh5566.com @192.168.195.129
能夠看到有2個DNS服務器,分別是129和128
dig -t A www.jwh5566.com @192.168.195.129
再執行下,是否是看到兩次的DNS服務器在交替呢,這個就是所謂的DNS負載均衡啦
好啦,文章就寫到這裏,謝謝你們!