1、DNS基礎css
域名系統(DNS)是一個層次化得分佈式數據庫。存儲用於互聯網主機名與IP地址相映射的信息,郵件路由信息,及其它互聯網應用所用到的數據。DNS(Domain Name System,域名系統),因特網上做爲域名和IP地址相互映射的一個分佈式數據庫,可以使用戶更方便的訪問互聯網,而不用去記住可以被機器直接讀取的IP數串。經過主機名,最終獲得該主機名對應的IP地址的過程叫作域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。linux
客戶端經過調用一個解析器庫來在DNS 中查找信息,解析器向一個或多個名字服務器發出請求並解釋響應。BIND 9軟件分發包中包括一個名字服務器,named,和一個解析器庫,liblwres。舊的libbind解析器庫也能夠做爲一個單獨的下載包從ISC獲得。數據庫
2、DNS功能vim
3、域名結構緩存
一般 Internet 主機域名的通常結構爲:主機名.三級域名.二級域名.頂級域名。 Internet 的頂級域名由 Internet網絡協會域名註冊查詢負責網絡地址分配的委員會進行登記和管理,它還爲 Internet的每一臺主機分配惟一的 IP 地址。全世界現有三個大的網絡信息中心: 位於美國的 Inter-NIC,負責美國及其餘地區; 位於荷蘭的RIPE-NIC,負責歐洲地區;位於日本的APNIC ,負責亞太地區。安全
4、搭建DNS服務器服務器
環境:CentOS Linux release 7.4.1708 (Core)網絡
關閉iptables和selinuxsession
1)安裝(bind主要軟件,bind-util提供測試工具,bind-chroot提供一個假裝的根目錄以加強安全性(將「/var/named/chroot/」文件夾做爲BIND的根目錄) [root@controller ~]# yum -y install bind bind-chroot bind-util bind-libs 2)DNS配置 #備份 [root@controller ~]# cp /etc/named.conf{,.bak} #修改配置 [root@controller ~]# vim /etc/named.conf // // named.conf // #options 控制全局服務配置和爲其它語句設置缺省參數。 options { listen-on port 53 { any; }; #監聽端口53,默認監聽127.0.0.1,修改成any容許任意主機,注意{}必定要空格 listen-on-v6 port 53 { ::1; }; #監聽ipv6的IP地址選項 directory "/var/named"; #DNS的根目錄,因爲安裝了bind-chroot的所致,所以服務的實際工做目錄爲/var/named/chroot/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; }; #容許查詢的主機,默認爲localhost,這裏修改成any 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"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; #logging 指定服務器紀錄哪些日誌,和在哪裏紀錄日誌消息 logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; #zone 定義一個區 zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; #受權 [root@controller var]# chmod 770 /var/named/ #啓動服務 [root@controller var]# service named start [root@controller var]# ss -lnt|grep 53 LISTEN 0 10 172.17.0.1:53 *:* 3)客戶機測試 修改resolve.conf文件添加dns服務器ip [root@lvs_m ~]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 192.168.128.169 [root@lvs_m ~]# nslookup > www.baidu.com Server: 192.168.128.169 Address: 192.168.128.169#53 Non-authoritative answer: www.baidu.com canonical name = www.a.shifen.com. Name: www.a.shifen.com Address: 14.215.177.38 Name: www.a.shifen.com Address: 14.215.177.39 4)添加自定義域名 一、修改/etc/named.conf文件添加以下內容 ... zone "www.baidu.com" IN { #正向解析,指定區域 type master; #服務器類型,master爲主域名 file "www.baidu.com_zone"; #正向解析區域文件名www.baidu.com_zone,在/var/named目錄下建立 allow-transfer {192.168.128.171;}; #從DNS服務器地址 }; zone "128.168.192.in-addr.arpa" IN { #反向解析,ip段爲192.168.128.0/24 反寫 type master; file "192.168.128.zone"; #反向解析文件名 allow-transfer {192.168.128.171;}; }; #檢查語法這點很重要,否則服務會出錯。 [root@controller ~]# named-checkconf #建立域文件 $TTL 180 @ IN SOA yxb.qq.com. root.www.baidu.com. ( ; 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 44H ) ; minimum @ IN NS ns1.www.baidu.com. ; ns1.www.baidu.com. IN A 192.168.128.169 www.baidu.com. IN A 192.168.128.211 #添加A紀錄能夠是多個地址 www.baidu.com. IN A 192.168.128.212 #建立反向解析域文件 [root@controller ~]# cat /var/named/192.168.128.zone $TTL 180 @ IN SOA yxb.qq.com. root.www.baidu.com. ( ; 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 44H ) ; minimum @ IN NS ns1.www.baidu.com. 169 IN PTR ns1.www.baidu.com. 211 IN PTR www.baidu.com. 212 IN PTR www.baidu.com. #檢查語法 [root@controller ~]# named-checkzone www.baidu.com /var/named/www.baidu.com_zone zone www.baidu.com/IN: loaded serial 0 OK #重啓dns服務 [root@controller ~]# service named restart #客戶機測試 [root@lvs_m ~]# dig www.baidu.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6 <<>> www.baidu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64633 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.baidu.com. IN A ;; ANSWER SECTION: www.baidu.com. 180 IN A 192.168.128.212 www.baidu.com. 180 IN A 192.168.128.211 ;; AUTHORITY SECTION: www.baidu.com. 180 IN NS ns1.www.baidu.com. ;; ADDITIONAL SECTION: ns1.www.baidu.com. 180 IN A 192.168.128.169 ;; Query time: 1 msec ;; SERVER: 192.168.128.169#53(192.168.128.169) ;; WHEN: Thu Nov 23 00:52:38 2017 ;; MSG SIZE rcvd: 97 5)DNS從服務器配置,只需配置/etc/named.conf文件不須要添加域文件 軟件安裝: [root@lvs_m ~]# yum -y install bind bind-chroot bind-util bind-libs #修改配置文件 [root@lvs_m ~]# vim /etc/named.conf 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; 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"; }; zone "www.baidu.com" IN { type slave; #類型設置爲slave file "www.baidu.com_zone"; masters { 192.168.128.169; }; #主服務器ip }; zone "128.168.192.in-addr.arpa" IN { type slave; file "192.168.128.zone"; masters { 192.168.128.169; }; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; [root@lvs_m ~]# chmod 770 /var/named/ [root@lvs_m ~]# ll /var/named/ -d drwxrwx---. 6 root named 4096 Nov 23 01:07 /var/named/ [root@lvs_m ~]# named-checkconf [root@lvs_m ~]# service named restart #測試 [root@controller ~]# dig www.baidu.com @192.168.128.171 ; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7 <<>> www.baidu.com @192.168.128.171 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23616 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.baidu.com. IN A ;; ANSWER SECTION: www.baidu.com. 180 IN A 192.168.128.211 www.baidu.com. 180 IN A 192.168.128.212 ;; AUTHORITY SECTION: www.baidu.com. 180 IN NS ns1.www.baidu.com. ;; ADDITIONAL SECTION: ns1.www.baidu.com. 180 IN A 192.168.128.169 ;; Query time: 226 msec ;; SERVER: 192.168.128.171#53(192.168.128.171) //成功 ;; WHEN: Thu Nov 23 04:36:22 EST 2017 ;; MSG SIZE rcvd: 108