1、DNS 介紹html
DNS(Domain Name System,域名系統),因特網上做爲域名和IP地址相互映射的一個分佈式數據庫,DNS協議運行在UDP協議之上,使用端口號53(Domain), 953(mdc)。這兩個端口號。在RFC文檔中RFC 2181對DNS有規範說明,RFC 2136對DNS的動態更新進行說明,RFC 2308對DNS查詢的反向緩存進行說明。數據庫
2、安裝vim
[root@dns ~]# yum install -y bind bind-chroot bind-utils //或者 [root@dns ~]# yum install -y bind*
DNS的主程序 bind,還有一個是bind-utils。爲了DNS安全考慮,引入了bind-chroot.緩存
chroot是經過將相關文件封裝到一個僞根目錄內,已達到安全防禦的目的,一旦該程序被攻破,將只能訪問到僞根目錄內的內容,而並非真實的根目錄。安裝了chroot這個服務,DNS服務的配置文件都會被安裝到咱們的僞根裏面,會在裏面生成一個與原來服務徹底相同的一個目錄體系結構。該服務的根目錄就會把 /var/named/chroot 當成是本身的根目錄,這樣就能夠對咱們的真實根目錄進行保護,因此建議你們在安裝網絡服務時最好都附帶安裝上chroot這個程序。安全
3、配置bash
BIND 的一些服務文檔位置和模板:服務器
/usr/share/doc/bind-9.8.2/sample網絡
BIND的主配置文件一般是保存在兩個位置:分佈式
/etc/named.conf -BIND服務主配置文件ide
/var/named/ -域的zone配置文件
安裝了 bind-chroot 這個程序之後,BIND的主配置文件存放位置就變了,此時BIND的主配置文件會被封裝到一個僞根目錄內,此時的配置文件位置爲:
/var/named/chroot/etc/named.conf -BIND服務主配置文件
/var/named/chroot/var/named -域的zone配置文件
複製模板
[root@dns ~]# cp /etc/named.conf /etc/named.rfc1912.zones /var/named/chroot/etc/
[root@dns ~]# cp -rv /usr/share/doc/bind-9.8.2/sample/var/* /var/named/chroot/var/
修改配置:
一、聲明要解析的域名
[root@dns etc]# vim /var/named/chroot/etc/named.conf options { listen-on port 53 { 192.168.1.200; }; #監聽本地IP的53端口 //listen-on-v6 port 53 { ::1; }; #取消IPv6的監聽,能夠不註釋 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; }; #接受任何人的DNS解析請求 recursion yes; dnssec-enable yes; dnssec-validation yes; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; //This is my DNS configuration zone "123.com" { //域名正向解析配置,建議寫在 named.rfc1912.zones 文件中 type master; // 指定咱們要配置的是域主DNS服務器 file "123.com.zone"; // 指定域名的zone文件爲123.com.zone ,通常都是以域名.zone 命名 allow-update { none; }; }; // ;號必定要加上,不然會報錯 zone "2.168.192.in-addr.arpa" { //域名反向解析配置,建議寫在 named.rfc1912.zones 文件中,格式必定爲 xx.xx.xx.in-addr.arpa type master; file "192.168.2.zone"; allow-update { none; }; }; // End my configuration include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
二、配置域名和IP的對應關係。
[root@dns etc]# cd /var/named/chroot/var/named [root@dns etc]# cp named.localhost 123.com.zone [root@dns etc]# vim 123.com.zone $TTL 1D @ IN SOA @ 123.com. ( ; 「.」號必須加上 2017012501 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 IN MX 10 mail.123.com. ; MX 添加一條 郵件記錄,郵件記錄後面要跟域名,它會遞歸的解析這個域名,因此該域名的資源記錄必定要有,後面的 「.」 必定要寫上 www IN A 192.168.2.10 ;添加A記錄 c1 IN A 192.168.2.11 c2 IN A 192.168.2.12
【注意:】MX記錄必定要定義資源記錄的最前面,不然就會解析不成功
$TTL = 1D(默認生存時間=1D、緩存服務器保存記錄的時間是1天。也就是告訴緩存服務器保存域的解析記錄爲1天)
serial = 2017012501 (序列號=201701250一、我用配置日期做爲序列號。這個序列號的做用是當輔域名服務器來複制這個文件的時候,若是號碼增長了就複製)
refresh = 1D (刷新=1D、輔域名服務器每隔24小時查詢一個主服務器)
retry = 1H (1 hour) (重試=3600秒、當輔域名服務試圖在主服務器上查詢更新時,而鏈接失敗了,輔域名服務器每隔1小時訪問主域名服務器)
expire = 1W (7 days) (到期=604800秒、輔域名服務器在向主服務更新失敗後,7天后刪除中的記錄。)
三、配置反向解析
[root@dns etc]# cp named.localhost 192.168.2.zone [root@dns etc]# vim 192.168.2.zone $TTL 1D @ IN SOA @ 123.com. ( 2017012501 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 10 IN PTR www.123.com.11 IN PTR c1.123.com.12 IN PTR c2.123.com.
4.啓動DNS服務
[root@dns etc]# service named restart Stopping named: [ OK ] Starting named: [FAILED]
查看日誌:
[root@dns etc]# tail -f /var/log/messages
權限問題,查看named.rfc1912.zones 發現 其餘用戶 沒有 r 權限.
添加權限
[root@dns etc]# chmod o+r /var/named/chroot/etc/named.rfc1912.zones
[root@dns etc]# service named restart Stopping named: [ OK ] Starting named: [ OK ]
5.測試,在本身PC上配置DNS,經過nslookup 進行測試。