1、DNS簡介
html
DNS英文全稱(Domain Name System)即域名系統,也稱爲域名服務器,將IP地址與域名進行映射,ubuntu
如此以來,就不用記住IP地址來訪問服務器,從而經過域名來訪問服務器,一般域名比IP地址要好記。
centos
Dns一般使用一個或多個集中式的服務器來實現,這些服務器具備必定的權威性,當客戶端向DNS發起請求時,一般訪問服務器的UDP協議53端口,若是該服務器沒有權威解析,即沒法解析用戶請求域名,一般會向根域名服務器查詢,查詢到在向客戶端返回解析結果緩存
1.1 域名區域bash
在DNS服務器,如bind,全部信息都存儲在基礎數據元素稱爲資源記錄(PR)。資源記錄一般是徹底限定域名(FQDN)主機,並解析成多個部分組成一個樹狀的層次結構。該層次結構由主幹,主分支,次級分支,等組成。服務器
如:ide
www.baidu.com
在上面的示例域名中,分爲三個部分,分別以「 . 」 分隔,
debug
com是它的頂級域名,註冊後沒法修改日誌
baidu是二級域名,註冊後沒法修改server
www爲主機名,這個能夠自定義,就是說www能夠改成你須要的字符串,如:ftp、mail、file等等
1.2 域名服務器類型
1.2.1 權威服務器(authoritative)
權威域名服務器的回答是它們區域部分資源記錄,包括頂級域名和二級域名
1.2.2 遞歸服務器(Recursive)
遞歸域名服務器提供解析服務,但不解析區域,全部解析答案都被緩存在內存
2、安裝bind(Berkeley Internet Name Domain)
2.1 安裝
2.1.1 rhel/centos:
yum install bind -y
2.1.2 debian/ubuntu:
apt-get install bind
2.2 配置bind
2.2.,1 配置文件路徑
bind安裝後的服務名爲named
文件路徑 | 描述 |
/etc/named.conf /etc/named/ /var/named/ |
named主配置文件 包含配置文件的輔助目錄 區域配置文件 |
2.2.2 編輯配置文件
2.2.2.1 配置文件有包含嵌套選項的語句集合組成有{}開閉,編輯時不能有語法錯誤不然沒法啓動 named服務
options { allow-query { localhost; }; #容許請求的主機/any表明全部 listen-on port 53 { 127.0.0.1; }; #監聽地址和端口 listen-on-v6 port 53 { ::1; }; max-cache-size 256M; #/最大緩存 directory "/var/named"; #區域文件目錄 statistics-file "/var/named/data/named_stats.txt"; recursion yes; dnssec-enable yes; dnssec-validation yes; };
2.2.2.2 加入自定義區域配置
[root@master ~]# cat /etc/named.conf // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { //服務器的全局配置選項及一些默認設置 listen-on port 53 { any; }; //監聽端口,也可寫爲 { 127.0.0.1; 192.168.56.104; } # listen-on-v6 port 53 { ::1; }; //對ip6支持 directory "/var/named"; //區域文件存儲目錄 dump-file "/var/named/data/cache_dump.db"; //dump cach的目錄directory statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; //指定容許進行查詢的主機,固然是要全部的電腦均可以查啦 recursion yes; //設置進行遞歸查詢 allow-transfer { 192.168.56.105;}; //指定容許接受區域傳送請求的主機,說明白一點就是輔dns的ip 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"; }; logging { //指定服務器日誌記錄的內容和日誌信息來源 channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; //包含文件,這裏也就是載入/etc/named.rfc1912.zones #include "/etc/named.root.key";
2.2.2.3 編輯區域文件
$ORIGIN example.com. $TTL 86400 @ IN SOA dns1.example.com. hostmaster.example.com. ( 2001062501 ; serial#序列號 21600 ; 刷新時間間隔 3600 ; 重試時間間隔 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day ; ; IN NS dns1.example.com. IN NS dns2.example.com. dns1 IN A 10.0.1.1 #A記錄 IN AAAA aaaa:bbbb::1 dns2 IN A 10.0.1.2 IN AAAA aaaa:bbbb::2 ; ; @ IN MX 10 mail.example.com. IN MX 20 mail2.example.com. mail IN A 10.0.1.5 IN AAAA aaaa:bbbb::5 mail2 IN A 10.0.1.6 IN AAAA aaaa:bbbb::6 ; ; ; This sample zone file illustrates sharing the same IP addresses ; for multiple services: ; services IN A 10.0.1.10 IN AAAA aaaa:bbbb::10 IN A 10.0.1.11 IN AAAA aaaa:bbbb::11 ftp IN CNAME services.example.com. www IN CNAME services.example.com. ; ;
/etc/named.conf需加入:
zone "example.com" IN { type master; file "example.com.zone"; allow-update { none; }; };
3、啓動named服務
service named start