主從dns伺服器搭建
A. 如何搭建一個公共DNS伺服器
一、伺服器環境
必須為centos6.x的 環境 centos7.x不能按照本教程 centos5.x未測試
二、安裝並啟動DNSMASQ
yum install -y dnsmasqservice dnsmasq start
三、dnsmasq配置
1、Dnsmasq的配置文件路徑為:/etc/dnsmasq.conf
# ll -d /etc/dnsmasq.conf -rw-r--r-- 1 root root 21237 Feb 23 00:17 /etc/dnsmasq.conf
2、編輯/etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq.conf //dnsmasq 會從這個文件中尋找上游dns伺服器strict-order //去掉前面的#addn-hosts=/etc/dnsmasq.hosts //在這個目裡面添加記錄listen-address=127.0.0.1,192.168.1.123//監聽地址 如果想對所有計算機服務,則為0.0.0.0
3、修改/etc/resolv.conf
echo 'nameserver 127.0.0.1' > /etc/resolv.conf
4、創建resolv.dnsmasq.conf文件並添加上游dns伺服器的地址
touch /etc/resolv.dnsmasq.confecho 'nameserver 119.29.29.29' > /etc/resolv.dnsmasq.conf
5、創建dnsmasq.hosts文件
cp /etc/hosts /etc/dnsmasq.hostsecho 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf
提示:resolv.dnsmasq.conf中設置的是真正的Nameserver,可以用電信、聯通等公共的DNS。
三、DNSmasq啟動
1、設置Dnsmasq開機啟動並啟動Dnsmasq服務:
chkconfig dnsmasq on/etc/init.d/dnsmasq restart
2、netstat -tunlp|grep 53 查看Dnsmasq是否正常啟動:
# netstat -tlunp|grep 53tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 2491/dnsmasq tcp 0 0 :::53 :::* LISTEN 2491/dnsmasq udp 0 0 0.0.0.0:53 0.0.0.0:* 2491/dnsmasq udp 0 0 :::53 :::* 2491/dnsmasq
3、dig smallxu.me,第一次是沒有緩存,所以時間是400多
4、第二次再次測試,因為已經有了緩存,所以查詢時間已經變成了2.
為了防止故意進行DNS劫持,這里不貼出
四、DNSMASQ的配置
1、本地DNS使用
這里我們本地DNS可以使用伺服器中配置的IP,這樣我們本機就使用到自己的DNS,備用DNS可以用一個第三方公用DNS。
2、屏蔽網站/廣告
vi /etc/dnsmasq.conf
如果我們需要屏蔽某個網站或者廣告,可以修改上面的文件
address=/itbulu.com/127.0.0.1address=/smallxu.me/127.0.0.1
比如我希望無法打開這兩個網站,就在配置文件中添加指定的IP或者其他劫持的IP,比如我們打開某個網站被指定到其他的伺服器或者網站中,就這樣被劫持的。同樣的,我們也可以將廣告目錄屏蔽。
添加後 smallxu.me和itbulu.com將會被解析到127.0.0.1
第五、Dnsmasq配置和使用總結
Dnsmasq實際功能不僅僅局限在上面的搭建我們本地需要的DNS伺服器功能,如果真就這么簡單的用法,那我們也沒有必要用一台伺服器配置。使用點第三方公共DNS還是沒有問題的,有點廣告也無妨。
B. 如何搭建根dns 伺服器 centos6.5
1、安裝與配置
[root@localhost ~]# yum -y install bind bind-chroot bind-util bind-libs DNS伺服器所需的軟體包
3、注意事項
客戶端必須要跟伺服器端通信(能ping通)及關閉selinux
二、主域名伺服器配置
1、配置(可以與緩存伺服器共享一台主機)
2、客戶端測試
三、從域名伺服器搭建與配置
1、重新開啟一台linux虛擬主機(CentOS 6.5),網卡ip為192.168.1.124
2、服務的安裝與配置
3、客戶端測試
4、注意事項:
(1)、如果還是無法解析,請返回主域名伺服器的/var/named目錄給區域配置文件加上許可權(單純是為了練習的話,就加到最大許可權777吧)
(2)、以上的練習都是在關閉防火牆與seLinux的狀態下操作的,如果防火牆開啟,可自行去添加規則
四、還有根據介面來配置的DNS伺服器,在此就不做介紹了,可自行去查閱資料練。
C. win10如何搭建DNS伺服器
1、 安裝DNS服務
開始—〉設置—〉控制面板—〉添加/刪除程序—〉添加/刪除Windows組件—〉「網路服務」—〉選擇「域名服務系統(DNS)」—〉按確定進行安裝
2、 創建DNS正相解析區域
開始—〉程序—〉管理工具—〉選擇DNS,打開DNS控制台—〉右擊「正相搜索區域」—〉選擇「新建區域」—〉選擇「標准主要區域」(或「Active Directory 集成區域」或「標准輔助區域」)--〉輸入域名「abc.com」 —〉輸入要保存的區域的文件名「abc.com.dns」— 〉按完成,完成創建
創建主機記錄等:
右擊「abc.com」—〉「新建主機」 —〉在名稱處輸入「www」,在「IP地址」處輸入「192.168.0.3」,—〉按「添加主機」完成
3、 創建DNS反向解析區域
開始—〉程序—〉管理工具—〉選擇DNS,打開DNS控制台—〉右擊「反向搜索區域」—〉選擇「新建區域」—〉選擇「標准主要區域」—〉輸入用來標示區域的「網路ID」—〉輸入要保存的區域的文件名「0.168.192.in-addr.arpa.dns」—〉按完成,完成創建
創建指針PTR:
右擊「192.168.1.x.subnet」—〉選擇「新建指針」—〉在「主機IP號」中輸入2—〉在「主機名」中輸入ftp—按 「確定」完成添加
4、 啟用DNS循環復用功能
如www.abc.com對應於多個IP地址時DNS每次解析的順序都不同
右擊選擇「DNS伺服器」—〉屬性—〉高級—〉選擇「啟用循環」(round robin)--〉選擇「啟用netmask 排序」—〉按「 確定」返回
註:如所有的IP和域名伺服器在同一子網時需要取消「啟用netmask排序」,才能實現循環復用功能。即啟用循環時 ,當主機的IP和dns在同一個子網時將始終排在最前面,當都在一個子網時就不進行循環,只有去除了「啟用netmask排序」 時才能實現循環復用。
DNS伺服器會優先把與自己的網路ID相同的記錄返回給客戶端
5、 創建標准輔助區域,實現DNS區域復制
在另一台DNS伺服器上,右擊「正向搜索區域」—〉選擇「新建區域」—〉選擇「標准輔助區域」—〉輸入「abc.com」—〉輸入主域名伺服器的IP地址—〉選擇「完成」
可手工要求同步:
在輔域名伺服器上右擊「abc.com」的域—〉選擇「從主伺服器傳輸」
並且可以設置允許傳輸的域名伺服器:
在主域名伺服器上右擊「abc.com」的域—〉選擇「屬性」—〉選擇「區域復制」—〉在「允許復制」前打勾,並選擇允許復制的主機(到所有伺服器、只有在「名稱伺服器」選項卡中列出的伺服器、只允許到下列伺服器)
完成伺服器類型的轉換:
右擊區域—〉選擇 「屬性」—〉選擇「類型」的「更改」按鈕—〉選擇要更改的區域類 型—〉按「確定」
6、 實現DNS唯高速緩存伺服器
創建一個沒有任何區域的DNS伺服器—〉右擊DNS伺服器—〉選擇「屬性」—〉選擇「轉 發器」中的「啟用轉發器」—〉輸入轉發器的IP地址—〉按「確定」完成
清除「唯高速緩存」中的cache內容:
右擊「DNS伺服器」—〉選擇「清除緩存」
或者選擇「DNS伺服器」—〉在菜單中選擇「查看」,高級—〉右擊「緩存的查找」—〉選擇「清除緩存」
(客戶端清空DNS緩存—)ipconfig /flushdns)
7、 DNS的委派(子域的轉向)
在原域名伺服器上建立「subdomain.abc.com」的主機—〉右擊abc.com的域,選擇「新建委派」—〉將subdomain.abc.com的域代理給subdomain.abc.com的主機—〉在subdomain.abc.com上建立「正向標准區域」subdomain.abc.com—〉添加相關主機記錄
8、 設置 DNS區域的動態更新
右擊選擇DNS上區域—〉選擇「屬性」—〉選擇「常規」中的「允許動態更新」,選是— 〉然後按 「確定」—〉在本機的DHCP伺服器中—〉右擊選擇DHCP伺服器—〉選擇「屬性」—〉選擇「DNS」—〉選擇「為不支持動態更新的DNS客戶啟用更新」—〉在客戶端使用ipconfig /registerdns來更新域名的注冊信息
注意客戶端需要將完整的計算機名改成myhost.abc.com
9、 配置DNS客戶端
在客戶端計算機上打開tcp/ip屬性對話框,在dns伺服器地址欄輸入dns伺服器的ip地址
手工配置最多可配置12個 DNS伺服器 .
D. 簡單介紹DNS的工作原理,寫出搭建DNS伺服器的簡要步驟
DNS 即Domain Name System(域名系統)的縮寫,它是一種將ip地址轉換成對應的主機名或將主機名轉換成與之相對應ip地址的一種機制。其中通過域名解析出ip地址的叫做正向解析,通過ip地址解析出域名的叫做反向解析。
下面對DNS的工作流程及原理進行簡要說明
DNS的查詢流程:需要解析服務的Client先查看本機的/etc/hosts;若無結果,則client查看本地的DNS緩存伺服器;若無結果,則查找所屬域的首選DNS伺服器;若此時本地首選DNS伺服器仍無法解析,則會想根域名伺服器進行查詢或選擇轉發解析請求。
DNS的查詢規則:遞歸式查詢,即client向支持遞歸查詢的DNS Server發出解析請求,則自DNS伺服器不論是自身直接解析還是無法解析想根發出請求,總會由其向client返回一個結果;迭代式查詢,即接收client解析請求的DNS Server,若其能夠解析則直接返回結果,若其不能解析將把解析請求交給其他DNS伺服器,而不是自己親自將解析過程完成。
所謂的「根」伺服器:根伺服器主要用來管理互聯網的主目錄,全世界只有13台。1個為主根伺服器,放置在美國。其餘12個均為輔根伺服器,其中9個放置在美國,歐洲2個,位於英國和瑞典,亞洲1個,位於日本。所有根伺服器均由美國政府授權的互聯網域名與號碼分配機構ICANN統一管理,負責全球互聯網域名根伺服器、域名體系和IP地址等的管理。
DNS記錄的類型:
A:Address 域名向ip地址轉換的記錄;
PTR:Printer ip地址向域名轉換的記錄;
NS:代表域內的dns伺服器;
MX:代表域內的郵件伺服器;
CNAME:域名的別名;
SOA:start of authority用於標示域內主DNS伺服器。
提供DNS服務的軟體:BIND即Berkeley Internet Name Domain有加州大學伯克利分校研發是當今提供dns服務應用最廣的軟體。
下面讓我們進入正題,以下內容包括:DNS的緩存伺服器、主/從伺服器、子域授權、轉發以及視圖的配置步驟。
DNS緩存伺服器
Ps:為了更好的體會和理解dns的配置文件和域解析文件,作者在此只安裝bind包,以手動編輯的方式生成這幾個必須的文件。
1.安裝bind包
yum install bind
2.創建住配置文件/etc/named.conf
options {
directory "/var/named"; #告知工作目錄
};
zone 「.」 IN {
type hint; #聲明根域
file "named.ca"; #根信息存放文件
};
zone "localhost" IN { #本地正解定義
type master; #類型為master
file "localhost.zone"; #正解文件名
};
zone "0.0.127.in-addr.arpa" IN { #本地反解定義
type master;
file "named.local"; #反解文件名
};
chown :named /etc/named.conf
#修改屬組給named
3.創建3個解析文件
named.ca
dig -t NS . > /var/named/named.ca
#向跟伺服器發起查詢並重定向到目標文件
localhost.zone
vim localhost. zone
$TTL 86400
#默認的ttl值
@ IN SOA localhost. admin.localhost. (
#主DNS伺服器localhost.
2011081601
#時間+序列號01
1H
#刷新時間:每隔多久來master查詢更新
10M
#重試時間間隔
7D
&n
E. windows2008主備dns怎麼搭建
windows2008搭建dns是通過新建dns角色伺服器來實現。工具/原料:windows2008方法步驟:1.打開2008系統之後,打開伺服器管理器找到角色----右側有一個添加角色;2.接著進入角色新建向導頁面,默認進行下一步;3.等待片刻掃描伺服器角色之後,勾選dns伺服器(注意搭建dns伺服器要求固定ip地址);4.打開網路和共享中心,找到本地連接屬性。打開點擊internetv4屬性,常規選項卡裡面選擇手動配置ip;5..如果伺服器是固定ip,直接進行下一步向導;6.提示對話框確認安裝dns伺服器,點擊【安裝】繼續;7.點擊安裝之後,進入安裝階段需要等待幾分鍾;8.安裝好之後,如果關閉了windowsupdate會提示一個警告。建議激活windowsupdate服務;9.再次返回伺服器管理器角色服務裡面,可以看到dns伺服器。
F. DNS伺服器怎麼搭建
dns伺服器搭建配置方法:
2008搭建dns是通過新建dns角色伺服器來實現,打開2008系統之後,打開伺服器管理器找到角色----右側有一個添加角色
接著進入角色新建向導頁面,默認進行下一步
等待片刻掃描伺服器角色之後,勾選dns伺服器(注意搭建dns伺服器要求固定IP地址)
再次返回伺服器管理器角色服務裡面,可以看到dns伺服器
另外:
1..設置公網DNS轉發:關於怎麼添加dns記錄的相關方法,咗嚛會另外一篇經驗提供內部郵箱解析設置案例。
2.除此之外,dns伺服器還要設置一個外部轉發器,對於不能解析的地址進行外網dns解析
客戶端怎麼設置dns,內部電腦的話,把dns部分首選dns設置為伺服器的ip地址。輔助dns設置一個能夠正常連接的公網IP即可,如果都是動態分配的到路由器上設置分配首選dns為內部dns
G. DNS伺服器建立的詳細步驟
搭建DNS伺服器前提是有自己的的域名DNS,
你可以去域名注冊商那注冊兩個你域名下的DNS,指向你所要搭建DNS的伺服器.可以去cnnic上查詢是否注冊成功.然後把自己域名的DNS修改成你注冊的這個DNS,建議用測試的域名先測試正常後,再修改正式使用域名的DNS,該項操作會造成域名解析短暫中斷,請謹慎操作.
至於搭建DNS伺服器的軟體,推薦使用winmydns.當然還有bind9或MyDNS,這些你可以搜下教程.
winmydns是基於Windows平台的,比較容易使用.
很多服務商都是使用winmydns軟體搭建的,像dnsceo的就是,解析快.也穩定.應該可以滿足你的需求的.
H. 如何搭建DNS伺服器
dns伺服器搭建配置方法:
2008搭建dns是通過新建dns角色伺服器來實現,打開2008系統之後,打開伺服器管理器找到角色----右側有一個添加角色
接著進入角色新建向導頁面,默認進行下一步
等待片刻掃描伺服器角色之後,勾選dns伺服器(注意搭建dns伺服器要求固定IP地址)
再次返回伺服器管理器角色服務裡面,可以看到dns伺服器
另外:
1..設置公網DNS轉發:關於怎麼添加dns記錄的相關方法,咗嚛會另外一篇經驗提供內部郵箱解析設置案例。
2.除此之外,dns伺服器還要設置一個外部轉發器,對於不能解析的地址進行外網dns解析
客戶端怎麼設置dns,內部電腦的話,把dns部分首選dns設置為伺服器的ip地址。輔助dns設置一個能夠正常連接的公網IP即可,如果都是動態分配的到路由器上設置分配首選dns為內部dns
I. linux怎麼配置dns緩存伺服器和主從伺服器
BIND安裝
軟體下載地址:http://www.isc.org/software/bind,目前最新版本是BIND 9.8.1-P1。
安裝依賴:
yum -y install gcc openssl-devel
開始安裝bind.
wget ftp://ftp.isc.org/isc/bind9/9.8.1-P1/bind-9.8.1-P1.tar.gz
tar xzf bind-9.8.1-P1.tar.gz
cd bind-9.8.1-P1
./configure --prefix=/usr/local/bind
make && make install
執行完成後,bind已經安裝到了/usr/local/bind目錄。
配置主dns伺服器
配置bind主要是兩種文件,一是主配置文件named.conf,二是區域文件zone(包括正解析,反解析)。
在下面的配置中,我們的主dns伺服器是ns1.qbtop.com 23.19.81.191,從dns伺服器是ns2.qbtop.com 23.19.81.194(這兩個dns都已經在godaddy注冊好了)。
下面操作僅在主dns伺服器23.19.81.191執行。
主配置文件named.conf
首先執行rndc-confgen -a生成/etc/rndc.key密鑰文件。
/usr/local/bind/sbin/rndc-confgen -a
vi /usr/local/bind/etc/named.conf
寫入如下內容:
include "/usr/local/bind/etc/rndc.key";
controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndckey"; }; };
logging {
channel default_syslog { syslog local2; severity notice; };
channel audit_log { file "/var/log/bind.log"; severity notice; print-time yes; };
category default { default_syslog; };
category general { default_syslog; };
category security { audit_log; default_syslog; };
category config { default_syslog; };
category resolver { audit_log; };
category xfer-in { audit_log; };
category xfer-out { audit_log; };
category notify { audit_log; };
category client { audit_log; };
category network { audit_log; };
category update { audit_log; };
category queries { audit_log; };
category lame-servers { audit_log; };
};
options {
directory "/usr/local/bind/etc";
pid-file "/usr/local/bind/var/run/bind.pid";
transfer-format many-answers;
interface-interval 0;
allow-query { any; };
};
zone "qbtop.com" {
type master;
file "qbtop.com.zone";
allow-transfer { 23.19.81.194; };
};
zone "81.19.23.in-addr.arpa" {
type master;
file "81.19.23.in-addr.arpa";
allow-transfer { 23.19.81.194; };
};
named.conf文件說明:
上面的named.conf文件包括三部分:key,controls,logging,options,zone。
logging:設置日誌伺服器和日誌信息的發送地。
options:控制伺服器的全局配置選項和為其它語句設置默認值
zone:定義一個域,比如正解析域和反解析域。
logging是定義日誌的,不需要深究,主要是options和zone。
在options中:
directory "/usr/local/bind/etc":定義bind的工作目錄為/usr/local/bind/etc,配置文件中所有使用的相對路徑,指的都是在這里配置的目錄下。
pid-file "/usr/local/bind/var/run/bind.pid":把bind程序運行的pid寫入文件bind.pid。
transfer-format many-answers:使用更加有效的域傳輸格式many-answers。
allow-query { any; }:允許所有用戶查詢dns。
在zone中:
這里定義了兩個zone,一個是正解析zone qbtop.com,一個是反解析zone 81.19.23.in-addr.arpa。
他們的參數基本相同:
type master:定義dns伺服器為主dns。
file "qbtop.com.zone":定義此zone的文件名。
allow-transfer { 23.19.81.194; }:允許向從dns 23.19.81.194傳輸dns數據。
唯一不同的是zone名稱的定義,正解析zone名稱的定義是受權的域名,可以是頂級域名,也可以是二級域名,或多級。反解析zone名稱定義規定前部分ip倒著寫。如ip 192.168.1.2,名稱定義為1.168.192.in-addr.arpa。
正解析qbtop.com.zone
vi /usr/local/bind/etc/qbtop.com.zone
寫入如下內容:
$TTL 3600
@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (
2012022301 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
@ IN NS ns1.qbtop.com.
@ IN NS ns2.qbtop.com.
ns1 IN A 23.19.81.191
ns2 IN A 23.19.81.194
aaa IN A 23.19.81.191
bbb IN A 23.19.81.191
文件說明:
$TTL 3600:指示為每個沒有特殊TTL設置的RR給出了一個默認的TTL。
@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (
2012022301 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
定義SOA記錄,包括Zone的名字,一個技術聯系人和各種不同的超時值。
@ IN NS ns1.qbtop.com.
@ IN NS ns2.qbtop.com.
設置兩個ns記錄ns1.qbtop.com和ns2.qbtop.com。
ns1 IN A 23.19.81.191
ns2 IN A 23.19.81.194
aaa IN A 23.19.81.191
bbb IN A 23.19.81.191
設置主機為ns1,ns2,aaa和bbb的A記錄。
反解析文件81.19.23.in-addr.arpa
反解析zone可以不設置。
vi /usr/local/bind/etc/81.19.23.in-addr.arpa
寫入如下內容:
$TTL 3600
@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (
2012022301 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
@ IN NS ns1.qbtop.com.
@ IN NS ns2.qbtop.com.
191 IN PTR ns1.qbtop.com.
194 IN PTR ns2.qbtop.com.
說明:
上部分是定義SOA記錄,下部分是設置IP反解析。
如設置IP 23.19.81.191反解析成ns1.qbtop.com,23.19.81.194反解析成ns2.qbtop.com。
配置從DNS伺服器
下面我們來配置從DNS伺服器。配置從DNS伺服器只需要配置主配置文件named.conf,zone文件不需配置,因為這是從主DNS伺服器獲取的。
首先建立目錄slaves用來存放從主dns獲取的zone文件。
mkdir /usr/local/bind/etc/slaves
寫入如下內容:
logging {
channel default_syslog { syslog local2; severity notice; };
channel audit_log { file "/var/log/bind.log"; severity notice; print-time yes; };
category default { default_syslog; };
category general { default_syslog; };
category security { audit_log; default_syslog; };
category config { default_syslog; };
category resolver { audit_log; };
category xfer-in { audit_log; };
category xfer-out { audit_log; };
category notify { audit_log; };
category client { audit_log; };
category network { audit_log; };
category update { audit_log; };
category queries { audit_log; };
category lame-servers { audit_log; };
};
options {
directory "/usr/local/bind/etc";
pid-file "/usr/local/bind/var/run/bind.pid";
transfer-format many-answers;
interface-interval 0;
allow-query { any; };
};
zone "qbtop.com" {
type slave;
file "slaves/qbtop.com.zone";
masters { 23.19.81.191; };
};
zone "81.19.23.in-addr.arpa" {
type slave;
file "slaves/81.19.23.in-addr.arpa";
masters { 23.19.81.191; };
};
文件說明:
從dns跟主dns主要的區別是zone的定義,type slave定義此dns伺服器為從dns,masters { 23.19.81.191; }定義主dns的IP。
啟動BIND
1、在啟動BIND之前,我們需要執行/usr/local/bind/sbin/named-checkconf檢查named.conf配置文
件,和執行/usr/local/bind/sbin/named-checkzone zone名稱
zone文件名,如/usr/local/bind/sbin/named-checkzone qbtop.com
/usr/local/bind/etc/qbtop.com.zone。
然後調試模式啟動bind,/usr/local/bind/sbin/named -g,g參數的意思是前台執行bind,這會輸出啟動的信息,發現沒有嚴重的錯誤後,再把g參數刪除重新以/usr/local/bind/sbin/named方式後台啟動bind。
2、設置開機啟動,在/etc/rc.d/rc.local中加入/usr/local/bind/sbin/named。
手動添加記錄
1、直接添加刪除或修改zone文件里的記錄
2、執行rndc reload zone名稱重載,如rndc reload qbtop.com