1、配置相關參數
yum install -y epel-release setenforce 0 /etc/init.d/iptables stop chkconfig iptables off
2、安裝相關包
yum install bind bind-devel bind-utils
3、修改配置文件
一共有四個相關文件:named.ca(根域名配置)、named.conf(dns server主配置文件)、正向解析文件、逆向解析文件
named.ca:
$ dig -t NS . @192.168.1.1 > /tmp/named.ca # 查詢根dns server,並保存爲文件,用於named.conf引用 $ cat /tmp/named.ca ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>> -t NS . @192.168.1.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54385 ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;. IN NS ;; ANSWER SECTION: . 113146 IN NS j.root-servers.net. . 113146 IN NS k.root-servers.net. . 113146 IN NS l.root-servers.net. . 113146 IN NS m.root-servers.net. . 113146 IN NS a.root-servers.net. . 113146 IN NS b.root-servers.net. . 113146 IN NS c.root-servers.net. . 113146 IN NS d.root-servers.net. . 113146 IN NS e.root-servers.net. . 113146 IN NS f.root-servers.net. . 113146 IN NS g.root-servers.net. . 113146 IN NS h.root-servers.net. . 113146 IN NS i.root-servers.net. ;; Query time: 29 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Tue Dec 13 14:35:01 2016 ;; MSG SIZE rcvd: 228 |
named.conf:(配置文件使用;和//作爲註釋)
$ cat 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 { 192.168.10.102; }; # 定義端口綁定的ipv4地址, //listen-on-v6 port 53 { ::1; }; # 定義端口綁定的ipv6地址, directory "/var/named"; # named服務工作目錄, dump-file "/var/named/data/cache_dump.db"; # dump數據文件路徑, statistics-file "/var/named/data/named_stats.txt"; # 靜態文件路徑, memstatistics-file "/var/named/data/named_mem_stats.txt"; # allow-query { any; }; # 允許客戶端查詢的ip地址,any爲任意,例如:192.168.1.0/24;172.16.0.0/18等, recursion yes; # 遞歸查詢,除根服務器外儘量開啓, dnssec-enable yes; # 是否開啓dns sec,dns sec可以驗證dns數據有效性, dnssec-validation yes; # 是否進行dns sec驗證, /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; # 設置內置key文件路徑, pid-file "/var/run/named/named.pid"; # pid文件路徑, managed-keys-directory "/var/named/dynamic"; # 設置dns sec動態key文件路徑, }; # 日誌相關配置 logging { channel default_debug { # 定義日誌輸出方式:syslog,file,stdout,stderr,文本文件。 file "data/named.log"; # 日誌文件 severity dynamic; #多個級別:debug、info等 }; }; # 根域配置 zone "." IN { type hint; file "/tmp/named.ca"; # 前面生成的根域文件; }; zone "example.com" IN { # 定義example.com的域名正向解析配置 type master; # 域類型,類型可分爲hint(根域),master(主dns),slave(從dns)。 file "/etc/ns.example.com"; # 正向解析文件 allow-update { none; }; # 是否允許 }; zone "10.168.192.in-addr.arpa" IN { # 定義逆向域名解析區域,此處zone的名字必須爲ip地址反序+".in-addr.arpa" type master; # 域類型, file "/etc/10.168.192.zone"; # 逆向解析文件, allow-update { none; }; # 是否允許更新, }; include "/etc/named.rfc1912.zones"; # 包含其他配置文件 include "/etc/named.root.key"; |
正向解析文件:ns.example.com
$ cat ns.example.com $ TTL設定,定義區域中數據文件各項記錄默認TTL值爲86400,缺少不影響使用,會出現警告 $TTL 86400 @ IN SOA ns.example.com. root.example.com.( # SOA記錄設定,"@"代表相應域名,也就是在named.conf中這頂的zone,SOA表示區域授權開始。每一個區域文件只能有一個SOA。SOA後面指定的是區域的授權主機名稱和管理員郵箱。注意域名後有“.”。而且授權主機名稱必須在DNS設置中能夠找到一個A記錄,也就是ns對應的那條A記錄。@在配置文件中有其他含義,因此郵箱@用.代替。 2016121301 ; serial # serial 文件修改版本,格式爲年月日加上修改次數,每次修改配置文件時應改動此數字。slave DNS進行信息同步時,會比較數值,當數值比自身值大時纔會更新。 3H ; refresh # slave 與master同步的間隔時間; 15M ; retry # slave dns更新失敗後,要隔多久進行重試; 1W ; expiry # slave dns同步失敗後,多長時間清除對應記錄; 1D) ; minimum # 默認最小TTL值,如果前面沒有設定,此值爲基準 # H:小時、D:天、W:周、M:分 # NS:定義此主機爲域名服務器、MX:定義郵件交換服務器、A:定義A記錄,即域名到IP的記錄、CNAME:定義域名的別名; IN NS ns.example.com. # 定義NS IN MX 10 mail # 定義mail交換,優先級爲10 IN A 192.168.10.102 ns IN A 192.168.10.102 www IN A 192.168.10.102 mail IN A 192.168.10.102 linux IN CNAME www |
逆向解析文件:10.168.196.in-addr-arpa
# 與正向解析類似,多出PTR選項,定義一個反向解析記錄,及IP到URL的記錄。
$ cat 10.168.192.zone $TTL 86400 10.168.192.in-addr.arpa. IN SOA ns.example.com. root.example.com. ( 2016121301 ; Serial 28800 ; Refresh 14400; ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.example.com. 102 IN PTR mail.example.com. 102 IN PTR www.example.com. |
4、啓動server
設置相關權限:
chown -R root.named /etc/named.conf /etc/ns.example.com/etc/10.168.192.zone /tmp/named.ca /etc/init.d/named start tail -f /var/log/messages # 查看啓動日誌 netstat -tlnup |grep 53 # 查看啓動端口
5、nslookup測試域名
nslookup ns.example.com nslookup mail.example.com