DNS的子域授权和转发机制,view设置
? ?在現實生活中我們世界互聯網中的每個主機并不是在同一個域內,而是通過不同的依據將將其劃分到不同的“小域”中,猶如一個倒立的樹狀結構,由一點出發,一層層的向下分成了多個分支,而這些分支就是其上級域的子域,其上級域就是相對的父域,子域是從父域中劃出來的一個域,子域中的主DNS服務器負責這個子域中的地址解析,從而減輕了父域中DNS服務器的壓力,這不僅提高了解析服務的效率,同樣也提高了解析服務的穩定性,此文,我們就來學習怎樣給一個域劃分出一個子域,并讓這個子域中的DNS服務器能夠進行子域中的域名解析服務,這個過程也叫做子域授權。
? ? 本次實驗我們依然在上次實驗的基礎上進行,聲明一個名為cwlinux.com的域,從cwlinux.com這個域中劃分出一個子域test.cwlinux.com,
一、子域授權
(本處只講解子域在主DNS的劃分,從DNS與主DNS相同)
1.在父域cwlinux.com中聲明子域test.cwlinux .com
編輯cwlinux.com的文件cwlinux.com.zone 在最后一行加入如下內容;
2.創建子域的主配置文件
編輯 /etc/named.rfc1912.zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt // (c)2007 R W Franks // // See /usr/share/doc/bind*/sample/ for example named configuration files. // zone "localhost.localdomain" IN {type master;file "named.localhost";allow-update { none; }; }; zone "localhost" IN {type master;file "named.localhost";allow-update { none; }; }; zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {type master;file "named.loopback";allow-update { none; }; }; zone "1.0.0.127.in-addr.arpa" IN {type master;file "named.loopback";allow-update { none; }; }; zone "0.in-addr.arpa" IN {type master;file "named.empty";allow-update { none; }; }; zone "cwlinux.com" IN {type master;file "cwlinux.com.zone";allow-transfer { 192.168.1.11; };allow-update { none; }; }; zone "1.168.192.in-addr.arpa" IN {type master;file "192.168.1.zone";allow-transfer { 192.168.1.11; };allow-update { none; }; }; 添加下面一條記錄 zone "test.cwlinux.com" IN {type master;file "test.cwlinux.com.zone";allow-update { none; }; };3、創建子域的區域文件(這里只介紹正向解析,反向解析基本相同)
創建正向區域文件test.cwlinux.com.zone
? ? ? vim /var/named/test.cwlinux.com.zone,內容如下:
4、重啟服務,進行測試
將主機DNS服務器指向自己 ?
? ? ? 修改/etc/resolv.conf
? ? ? 設置nameserver 192.168.1.10
? ? ? service named restart
? ? ? 正向解析測試,出現如下圖所示則為正確;
二、DNS轉發功能
? ?我們的DNS在本地指定的DNS找不到解析后,會直接向跟發起請求,為了使根的負載變小,我們可以設置請求轉發。
? ?1. ?在/etc/named.conf中可以在options段中使用forwarders和forward指令設置DNS轉發:
轉發格式:
forwarders {
DNS_IP_1;
DNS_IP_2;
};
forwarders指令用于設置將DNS請求轉發到哪個服務器,可以指定多個服務器的IP地址。
forward
forward first | only;
forward指令用于設置DNS轉發的工作方式:
forward first設置優先使用forwarders DNS服務器做域名解析,如果查詢不到再使用本地DNS服務器做域名解析。
forward only設置只使用forwarders DNS服務器做域名解析,如果查詢不到則返回DNS客戶端查詢失敗。
測試www.163.com
轉發某特定區域:
編輯 /etc/named.rfc1912.zones
zone "特定區域" IN {
type forward;
forwarders { IP; }
forward only|first;
}
上面如果設置 forwaed only,那就會解析失敗,因為192.168.1.11DNS中沒這個域名,返回失敗信息,如下圖
四、智能DNS(DNS View):
? ?我們知道網通和電信之間進行訪問速度比較慢,現在架設服務器一般都是雙線的,我們經過DNS的設置,讓DNS自動識別客戶端IP是網通的還是電信的,網通就訪問網通的服務器電信就訪問電信的服務器。這里我們假設網通屬于192.168.1.0/24這個網段,電信屬于172.16.0.0/16這個網段的
4.1 首先定義訪問控制
訪問控制列表只有定義后才能使用,通常acl要定義在named.conf的最上方
vim /etc/named.conf
4.2 針對不同的IP范圍定義DNS視圖
vim /etc/named.conf
acl telecom { 172.16.0.0/16; }; // 電信網段用戶 acl unicom { 192.168.1.0/24; }; //聯通網段用戶 options { // listen-on port 53 { any; }; // listen-on-v6 port 53 { ::1; };directory "/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 { any; };recursion yes;forwarders {192.168.1.1;192.168.1.5;};forward first; // dnssec-enable yes; // dnssec-validation yes; // dnssec-lookaside auto;/* Path to ISC DLV key */ // bindkeys-file "/etc/named.iscdlv.key"; // managed-keys-directory "/var/named/dynamic"; }; view telecom { match-clients { telecom; }; //聲明只允許電信用戶查詢recursion yes; //允許遞歸查詢include "/etc/named.rfc1912.zones";//調用的區域文件zone }; view unicom {match-clients { unicom; }; //聲明只允許聯通用戶查詢recursion yes; //允許遞歸查詢include "/etc/named.unicom.zones"; //調用的區域文件zone }; view default { match-clients { any; }; //默認其他網段的用戶recursion yes; //允許遞歸查詢include "/etc/named.rfc1912.zones"; //調用的區域文件zone }; logging {channel default_debug {file "data/named.run";
4.3 配置區域文件
vim /etc/named.rfc1912.zones
? 添加cwview.com 測試域
創建聯通網段的區域文件 /etc/named.unicom.zones
[root@localhostcw ~]# cp -p /etc/named.rfc1912.zones /etc/named.unicom.zones修改其屬組 為named
編輯/etc/named.unicom.zones中的cwview.com域的正向解析文件地址
4.4 創建telecom.cwview.com.zone 和unicom.cwview.com.zone
在/var/named/目錄下創建聯通,電信的正向解析文件
電信:telecom.cwview.com.zone內容如下
$TTL 600 @ IN SOA dns.cwview.com. dnsadmin.cwview.com. (20140314016H30M15D3D )IN NS dnsIN MX 10 mail dns IN A 172.16.2.130 mail IN A 172.16.2.131 www IN A 172.16.2.132聯通:unicom.cwview.com.zone 內容如下
$TTL 600 @ IN SOA dns.cwview.com. dnsadmin.cwview.com. (20140314016H30M15D3D )IN NS dnsIN MX 10 mail dns IN A 192.168.2.130 mail IN A 192.168.2.131 www IN A 192.168.2.132 ~這2個權限都改成640,屬組為named
做完之后進行語法檢查named-checkconf,named-checkzone
4.5 重啟DNS,測試
dig -t A www.cwview.com @192.168.1.10使用192.168.1.10作為DNS服務器來解析
dig -t A www.cwview.com @172.16.1.2使用172.16.1.2作為DNS服務器來解析
由此可知我們的試驗成功,來自不同網絡段的IP通過智能DNS(view)解析同一個主機的時候會被解析到不同的Ip上……因此我們的簡化版智能DNS配置成功!
轉載于:https://blog.51cto.com/584014981/1376537
總結
以上是生活随笔為你收集整理的DNS的子域授权和转发机制,view设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Fedora 19配置心得
- 下一篇: 【转】jQuery最佳实践