DNS( Domain Name System)是“域名系統”的英文縮寫,是一種組織成域層次結構的計算機和網絡服務命名系統,它用于TCP/IP網絡,它所提供的服務是用來將主機名和域名轉換為IP地址的工作。
DNS利用類似于樹形目錄的結構,將主機名的管理分配在不同層級的DNS服務器中,并進行分層管理。
DNS使用TCP與UDP的53端口。
DNS的相關概念有:
FQDN(full qualified domain name):中文為完整主機名。由主機名與域名組成。
以www.baidu.com為例,www是主機名,baidu.com是域名
TLD頂級域名或一級域名:常見的頂級域名有.com\.net\.org\.edu等,樹形結構圖如下:
全球共有十三臺根域名服務器,存儲在/var/named/namad.ca這個文件中: . 518400 IN NS a.root-servers.net. . 518400 IN NS b.root-servers.net. . 518400 IN NS c.root-servers.net. . 518400 IN NS d.root-servers.net. . 518400 IN NS e.root-servers.net. . 518400 IN NS f.root-servers.net. . 518400 IN NS g.root-servers.net. . 518400 IN NS h.root-servers.net. . 518400 IN NS i.root-servers.net. . 518400 IN NS j.root-servers.net. . 518400 IN NS k.root-servers.net. . 518400 IN NS l.root-servers.net. . 518400 IN NS m.root-servers.net.
DNS服務器的分類:有主服務、從服務、緩存服務器與轉發服務器
緩存服務器:只有緩存的功能,本身沒有任何域名區域的配置,緩存的結果完全由用戶請求解析—-》根域名返回的結果。
轉發服務器:把用戶的請求轉發給上一層的解析服務器,起到中轉的功能。分有全局轉發與局部轉發
linux系統上,dns的主配置文件是/etc/named.conf,域名區域的配置是/etc/named.rif1912.zones
DNS有正解與反解的概念:
正解:把FQDN——(解析)—》IP
反解:把IP—–(解析)—》FQDN
區域解析庫:由眾多RR組成
DNS的資源記錄:Recsource Record ,簡稱為RR,資源記錄的類型有A、CHAME、PTR、SOA、NS、MX。
SOA:start of authority 起始授權記錄:一個資源解析庫有且只能有一個SOA記錄,且必須 為解析庫的第一條。 A:internet address,作用:FQDN--->IP AAAA:PQDN--->IPV6 RTP:PoinTeR(指針),作用IP---->FQDN NS:Name Server,專用于標明當前區域的DNS服務器 CHAME:Canonical name 別名記錄 MX:Mail eXchanger 郵件交換器
SOA: name:當前區域的名稱,例如“163.com” value:有多部分組成 (1)當前區域的主DNS服務器的FQDN,也可以使用當前區域的名字 (2)記錄當前區域管理員的郵箱地址,但地址不能使用@符號,一般用.(點號)替換,例如linuxedu.magedu.com (3) (主從服務器協調屬性的定義以及否定答案的統一TTL)默認單位是S(秒),其中有H(小時)、D(天)、M(月)、W(周)
NS: name:當前區域的名字 value:當前區域的某DNS服務器的名字,例如ns.magedu.com; 一個區域可以多個NS記錄 例如:magedu.com. (TTL可省略) IN NS ns1.magedut.com. 或 magedu.com. (TTL可省略) IN NS ns2.magedut.com. 注意: (1)相鄰的兩個資源記錄的name相同時,后續的可省略 (2)對NS記錄而言,任何一個NS記錄后面服務器名字,都應該在后續有一個A記錄
MX記錄: name:當前區域的名字 value:當前區域的某郵箱服務器(smtp服務器)的主機名;value之前應該有一個數字(0-99),表示此服務器的優先級,數字越小優先級越高。一個區域內,可有多個MX記錄 例如:magedu.com IN MX 10 mx1.magedu.com. 或 magedu.com IN MX 20 mx2.magedu.com. 注意:對MX記錄而言,任何一個NS記錄后面服務器名字,都應該在后續有一個A記錄
A記錄 name:某主機的FQDN,例如www.magedu.com vulue:主機對應的主機IP地址 例如:www.magedu.com. IN A 1.1.1.1 或 www.magedu.com. IN A 1.1.1.2
PTR: name: ip,有特定格式,把IP地址反過來寫,1.2.3.4 要寫成 4.3.2.1; 而有特定后綴:in-addr.arpa. 所以完整寫法為4.3.2.1.in-addr.arpa. value:FQDN 例如:4.3.2.1.in-addr-arpa. IN RTP www.magedu.com 可以簡寫為 4 IN RTP www.magedu.com 注意:網絡地址及后綴可省略,主機地址需要反著寫
CHAME name:別名的FQDN value:正式名字的FQDN 例如:web.magedu.com. IN CHAME www.magedu.com
DNS的基本配置
使用bind這個程序,安裝完成后,區域文件存儲在/var/named/目錄下
1、配置為緩存服務器,修改/etc/named.conf這個文件
完成上面的配置后,service named start啟動服務,并查看53端口是否已經被監聽,若在監聽,則啟動緩存成功,把電腦的DNS指向此服務,便可正常正解析
2、配置DNS正解。測試使用域名為teset123.com,ns1(192.168.1.11),ns2(192.168.1.9)。正解中不需要配置RTP
在/etc/named.rfc1912.zones配置文件上配置區域
在/var/named/目錄下創建test123.com.zone文件,并配置。完成配置后,需要把文件的權限改為640、屬組為named
檢測zone配置文件及主配置文件是否正確,若正確,重新載入配置文件rndc reload
使用dig -t A test123.com @192.168.1.11測試是否能解析,以下解析成功。
3、DNS反解配置
配置/etc/named.rfc1912.zone
說明:測試的www.test123.com解析的IP是192.168.1.254 。反解時是通過IP地址解析出對應的域名。在配置進反解的區域名稱是反寫IP地址.in-addr.arpa,本例中192.168.1.254是24位掩碼,192.168.1.是固定不變的,因此寫成1.168.192.in-addr-arpa
在/var/named/目錄下創建 1.168.192.in-addr.arpa.zone文件,并配置。反解時主要配置RTP便可
使用named.checkzone、named.checkconf、rndc reload命令檢測及重載配置文件后,測試
4、從服務器配置
在上面的配置,ns2 的IP地址是192.168.1.9,把此服務器配置為從服務器。注意:從服務器一定要在主服務器上通過ns 體現出來,否則更新配置時,主服務無法主動通知從服務器。
從服務器不需要區域文件,只要在named.rfc1912.zone文件中配置區域,指定為slave ,并指定masters的IP地址便可。同步成功后,自動會在/var/named/slaves/目錄下創建區域的文件
以下為正解從服務器配置
通過查看日志文件 /var/log/messages,是否同步成功,以下已成功同步
反解從服務器的配置,思路與正解一樣,只需要配置/etc/named.rfc1912.zone便可
查看日志
查看從服務器同步過來的區域配置文件
子域授權
子授權的配置要點:
在沒有認證的時間下,父域與子域要關閉dnssec dnssec-enable no; dnssec-validation no; 在父域的zone配置文件中,指定子域的ns A記錄 為了子域以最理想的路徑解析父域,需要配置全局轉發或局部轉發功能,并指上一層為父域的NS ip地址
本次實驗中,父域是test123.com,NS是192.168.1.11,www主機192.168.1.254;子域是test.test123.com,NS是192.168.1.9,www主機是192.168.1.253。
父域的配置
主配置文件的配置:通過forward啟用全局轉發,轉發給上層192.168.1.1。如果,此父域能夠訪問根域服務器,此可配可不配。
zone配置文件中添加授權子域
子域的配置:
關于轉發的配置,如果子域想依賴父域解析,可以做全局轉發配置,并轉發給父域。若只是把父域的域名轉發給父域,而其他的仍由根域解析,則可配置局部轉發。
測試
父域測試子域
子域測試父域
bind編譯安裝
本次安裝版本的是 bind-9.6.1.tar.gz
1、解壓后,指明安裝路徑、配置文件路徑及其他參數并進行編譯安裝
./configure --prefix=/usr/local/bind9 --sysyconfdir=/etc/named --disable-ipv6 --disablie-chroot --enable-threads \\安裝路徑是/usr/lcoal/bind9,配置文件是/etc/named,關閉ipv6與根切換,開啟多線程功能 make make install
2、編輯環境變量、庫文件、頭文件及幫助文檔。
編輯變量,在/etc/profile.d目錄下創建named.sh腳本,輸入以下內容,并執行一個。 export PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin:$PATH 完成后: [root@localhost profile.d]# echo $PATH/usr/local/bind9/bin:/usr/local/bind9/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 編輯庫文件 在/etc/ld.so.conf.d目錄創建named.conf,并在文件中輸入/usr/local/bind9/lib 然后ldconfig ,重新生成動態庫文件 生成鏈接include文件 ln -sv /usr/local/bind9/include/ /usr/include/named 編輯/etc/man.conf
2、創建并配置/etc/named/named.conf的主配置文件、以及/var/named目錄下多個文件
在/etc/named/目錄下創建 named.conf并完成如下配置
使用dig -t ns . @192.168.1.1 >> /var/named/named.ca自動生成根域名的文件,192.168.1.1是我網絡里的路由器,.(點號)代表根,自動把結果保存到named.ca文件中。
在/var/named目錄下創建named.loopback named.localhost與named.com.zone文件,并完成如下配置
3、遞歸修改/usr/local/named/var目錄的屬組為named,并給named寫與執行的權限。若不修改此項,在使用named -u named -f -g -d 3是會有如下提示
4、使用named -u named 運行后,查看及測試是否成功
已運行成功!
5、使用 rndc-confgen,生成rndc的配置文件,完成后便可使用rndc命令管理bind了
便可正常使用rndc命令了
原創文章,作者:Net20-deamon,如若轉載,請注明出處:http://www.www58058.com/18137