1、DNS相關介紹 git
DNS(Domain Name System)域名系統協議,做爲域名和IP地址相互映射的一個分佈式數據庫,可以使用戶更方便的訪問互聯網,而不用挨個記住IP地址。經過主機名,最終獲得該主機名對應的IP地址的過程叫作域名解析(或主機名解析)。DNS協議號是udp53。DNS服務器的做用就是就比如通信錄同樣,爲各類網絡程序找到對應目標主機的IP地址或對應的主機域名。每一個IP地址均可以有一個主機名,主機名由一個或多個字符串組成,字符串之間用小數點隔開。有了主機名,就不要死記硬背每臺IP設備的IP地址,只要記住相對直觀有意義的主機名就好了。這就是DNS協議所要完成的功能。數據庫
主機名到IP地址的映射有兩種方式:
一、靜態映射,每臺設備上都配置主機到IP地址的映射,各設備獨立維護本身的映射表,並且只供本設備使用;
二、動態映射,創建一套域名解析系統(DNS),只在專門的DNS服務器上配置主機到IP地址的映射。緩存
在解析域名時,能夠首先採用靜態域名解析的方法,若是靜態域名解析不成功,再採用動態域名解析的方法。能夠將一些經常使用的域名放入靜態域名解析表中,這樣能夠大大提升域名解析效率。正向解析:根據主機名稱(域名)查找對應的IP地址(實際應用中最多的),反向解析:根據IP地址查找對應的主機域名(不經常使用,通常用於搭建郵件服務器時)。安全
根據服務器與所提供域名解析記錄的關係,將DNS服務器分爲不一樣的角色:
一、緩存域名服務器,也稱爲高速緩存服務器,經過向其餘域名服務器查詢得到域名->IP地址記錄,將域名查詢結果緩存到本地,提升重複查詢時的速度
二、主域名服務器,特定DNS區域的官方服務器,具備惟一性,負責維護該區域內全部域名->IP地址的映射記錄
三、從域名服務器(通俗一點就是用於備份DNS服務器的),也稱爲輔助域名服務器其維護的域名->IP地址記錄,來源於主域名服務器搭建DNS服務,應用的軟件爲:BIND(Berkeley Internet Name Daemon)服務器
2、搭建過程
網絡
1 1. 安裝必要軟件包 2 [root@SZH1 ~]# yum -y install bind bind-chroot bind-util bind-libs 3 解釋: 4 bind 提供了域名服務的主要程序及相關文件 5 bind-utils 提供了對DNS服務器的測試工具程序(如nslookup、dig等) 6 bind-chroot 爲bind提供一個假裝的根目錄以加強安全性(將「/var/named/chroot/」文件夾做爲BIND的根目錄) 7 8 2. 修改dns配置文件 9 修改前先備份 10 [root@SZH1 ~]# cp -p /etc/named.conf /etc/named.conf.bak // 參數-p表示備份文件與源文件的屬性一致。 11 [root@SZH1 ~]# cat /etc/named.conf 12 options { 13 listen-on port 53 { any; }; 14 listen-on-v6 port 53 { any; }; 15 directory "/var/named"; 16 dump-file "/var/named/data/cache_dump.db"; 17 statistics-file "/var/named/data/named_stats.txt"; 18 memstatistics-file "/var/named/data/named_mem_stats.txt"; 19 recursing-file "/var/named/data/named.recursing"; 20 secroots-file "/var/named/data/named.secroots"; 21 allow-query { any; }; 22 23 /* 24 - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion. 25 - If you are building a RECURSIVE (caching) DNS server, you need to enable 26 recursion. 27 - If your recursive DNS server has a public IP address, you MUST enable access 28 control to limit queries to your legitimate users. Failing to do so will 29 cause your server to become part of large scale DNS amplification 30 attacks. Implementing BCP38 within your network would greatly 31 reduce such attack surface 32 */ 33 recursion yes; 34 35 dnssec-enable yes; 36 dnssec-validation yes; 37 # dnssec-lookaside auto; 38 /* Path to ISC DLV key */ 39 bindkeys-file "/etc/named.root.key"; 40 41 managed-keys-directory "/var/named/dynamic"; 42 43 pid-file "/run/named/named.pid"; 44 session-keyfile "/run/named/session.key"; 45 }; 46 zone "szh.com" IN { 47 type master; 48 file "szh.com_zone"; 49 allow-update { none; }; 50 }; 51 zone "110.168.192.in-addr.arpa" IN { 52 type master; 53 file "192.168.110.zone"; 54 allow-update { none; }; 55 56 };include "/etc/named.rfc1912.zones"; 57 58 這兩個zone我在配置文件裏直接上的,我看不少人說要在/etc/named.rfc1912.zones文件中添加,但由於配置文件中存在最後一行,因此贊成生效。 59 保存退出後輸入named-checkconf // 檢查named.conf是否有語法問題。 60 61 3. 查看named進程運行是否正常 62 [root@SZH1 ~]# systemctl start named // 開啓named進程 63 [root@SZH1 ~]# ps -eaf|grep named // 檢查進程 64 [root@SZH1 ~]# netstat -nult|grep :53 // 檢查監聽端口 65 66 4. 添加正向解析 67 [root@SZH1 named]# cat szh.com_zone 68 $TTL 1D 69 @ IN SOA @ rname.invalid. ( 70 0 ; serial 71 1D ; refresh 72 1H ; retry 73 1W ; expire 74 3H ) ; minimum 75 NS @ 76 A 192.168.110.230 77 AAAA ::1 78 ns A 192.168.110.230 79 vcenter A 192.168.110.231 80 81 [root@SZH1 named]# chown :named /var/named/szh.com_zone //受權 named 用戶 82 83 [root@SZH1 named]# named-checkzone "szh.com" "/var/named/szh.com_zone" //檢查區域文件是否正確 84 85 5. 添加反向解析 86 [root@SZH1 named]# cat 192.168.110.zone 87 $TTL 1D 88 @ IN SOA @ rname.invalid. ( 89 0 ; serial 90 1D ; refresh 91 1H ; retry 92 1W ; expire 93 3H ) ; minimum 94 NS @ 95 A 192.168.110.230 96 AAAA ::1 97 230 PTR ns.szh.com. 98 231 PTR vcenter.szh.com. 99 100 [root@SZH1 named]# chown :named /var/named/192.168.110.zone //受權 named 用戶 101 102 [root@SZH1 named]# named-checkzone "110.168.192.in-addr.arpa" "/var/named/192.168.110.zone " //檢查區域文件是否正確 103 104 6. 重啓服務,檢查dns是否生效 105 [root@SZH1 named]# systemctl restart named 106 [root@SZH1 named]# nslookup 107 > vcenter.szh.com 108 Server: 192.168.110.230 109 Address: 192.168.110.230#53 110 111 Name: vcenter.szh.com 112 Address: 192.168.110.231 113 ------------------------------------------------------dns配置成功-------------------------------------------------------------