linux基本服務系列之智慧DNS(一)
前言
我引用一下維基百科的說法:BIND(Berkeley Internet Name Daemon)是現今網際網路上最常使用的DNS伺服器軟體,使用BIND作為伺服器軟體的DNS伺服器約佔所有DNS伺服器的九成。BIND現在由網際網路系統協會(Internet Systems Consortium)負責開發與維護。
一、named.conf檔案配置
Dhsmasq主要是在配置檔案/etc/dnsmasq.conf ,而BIND的唯一的主配置檔案是named.conf ,當然你也可以自己編寫主配置檔案,具體見下面的例子。
其中的key是由rndc-confgen生成的。
key "rndc-key" {
algorithm hmac-md5;
secret "eoiWMiCwCYPwNLWxl05rNw==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; }
keys { "rndc-key"; };
};
options {
//域名檔案存放的絕對路徑
directory "/usr/local/named/var";
//如果bind啟動,自動會在/usr/local/named/var目錄生成一個named.pid檔案,開啟檔案就是named程序的ID
pid-file "named.pid";
};
zone "." IN {
//根域名伺服器
type hint;
//存放在//usr/local/named/var目錄,檔名為named.root
file "named.root";
};
//域rjkj.com的zone檔案
zone "rjkj.com" IN {
type master; //該域名伺服器是主域名伺服器,這個選項主要用在主備部署中
file "rjkj.com.zone"; //解析域名rjkj.com的zone檔案內容,其路徑由options中的directory指定
allow-update { none; }; //定義了允許向主zone檔案傳送動態更新的匹配列表
};
//反向解析
zone "1.168.192.in-addr.arpa" in {
type master;
//存放反向解析的檔案
file "rjkj.com.rev";
allow-update { none; };
};
二、zone檔案配置
檔案rjkj.com.zone檔案位於/usr/local/named/var中,其內容如下所示:
$TTL 86400
$ORIGIN rjkj.com.
@ IN SOA ns1 root(
2013031901 ;serial
12h ;refresh
7200 ;retry
604800 ;expire
86400 ;mininum
)
NS ns1.rjkj.com.
NS ns2.rjkj.net.
MX 10 mail.rjkj.com.
ns1 IN A 192.168.10.1
www IN A 192.168.10.10
IN A 192.168.10.11
mail IN A 192.168.10.20
ljx IN A 192.168.10.30
ftp IN CNAME ljx
說到這裡,感覺貌似漏了點東西,智慧DNS,何為智慧,這個我就不多說明了,修改起來很簡單,需要在配置檔案name.conf和ZONE下功夫;
name.conf檔案配置:
#ct
include "/opt/bind9/etc/dnsview/ct.txt";
#cnc
include "/opt/bind9/etc/dnsview/cnc.txt";
#ct
view "ct" { match-clients{ ct; }; zone "rjkj.com" IN { type master; file "ct.rjkj.com.zone"; }; };
#cnc
view "cnc" { match-clients{ cnc; }; zone "rjkj.com" IN { type master; file " cnc.rjkj.com.zone "; }; };
上面程式碼中的ct.txt和cnc.txt分別錄入了我大中國電信和聯通的IP段,意義為使用者歸屬是ct的IP,會返回ct.rjkj.com.zone的解析記錄,而cnc的IP就會返回cnc.rjkj.com.zone的解析記錄;實現了智慧控制使用者的DNS解析,是為智慧DNS也。
關注睿江雲端計算,獲取更多幹貨:
http://www.eflycloud.com/#/home?from=RJ0024&salesID=XKKHRTRBK