centos7 DNS服務器搭建

DNS,全稱Domain Name System,即域名解析系統

DNS幫助用戶在互聯網上尋找路徑。在互聯網上的每一個計算機都擁有一個唯一的地址,稱作“IP地址”(即互聯網協議地址)。由于IP地址(為一串數字)不方便記憶,DNS允許用戶使用一串常見的字母(即“域名”)取代。比如,您只需鍵入www.baidu.com,而不是“119.75.217.109”。即可訪問ICANN的官方網站。DNS命名用于Internet等TCP/IP網絡中,通過用戶友好的名稱查找計算機和服務。當用戶在應用程序中輸入DNS名稱時,DNS服務可以將此名稱解析為與之相關的其他信息,如IP地址。因為,你在上網時輸入的網址,是通過域名解析系解析找到相對應的IP地址,這樣才能上網。其實,域名的最終指向是IP

DNS功能

每個IP地址都可以有一個主機名,主機名由一個或多個字符串組成,字符串之間用小數點隔開。有了主機名,就不要死記硬背每臺IP設備的IP地址,只要記住相對直觀有意義的主機名就行了。這就是DNS協議所要完成的功能。

主機名到IP地址的映射有兩種方式:

1)靜態映射,每臺設備上都配置主機到IP地址的映射,各設備獨立維護自己的映射表,而且只供本設備使用;
2)動態映射,建立一套域名解析系統(DNS),只在專門的DNS服務器上配置主機到IP地址的映射,網絡上需要使用主機名通信的設備,首先需要到DNS服務器查詢主機所對應的IP地址。 

通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。在解析域名時,可以首先采用靜態域名解析的方法,如果靜態域名解析不成功,再采用動態域名解析的方法。可以將一些常用的域名放入靜態域名解析表中,這樣可以大大提高域名解析效率。

DNS重要性

1、技術角度看
DNS解析是互聯網絕大多數應用的實際尋址方式; 域名技術的再發展、以及基于域名技術的多種應用,豐富了互聯網應用和協議。
2、資源角度看
域名是互聯網上的身份標識,是不可重復的唯一標識資源; 互聯網的全球化使得域名成為標識一國主權的國家戰略資源。

DNS的工作原理

以訪問www.為例說明(主機為Windows系統)

1)客戶端首先檢查本地c:\windows\system32\drivers\etc\host文件,是否有對應的IP地址,若有,則直接訪問WEB站點,若無 2)客戶端檢查本地緩存信息,若有,則直接訪問WEB站點,若無 3)本地DNS檢查緩存信息,若有,將IP地址返回給客戶端,客戶端可直接訪問WEB站點,若無 4)本地DNS檢查區域文件是否有對應的IP,若有,將IP地址返回給客戶端,客戶端可直接訪問WEB站點,若無, 5)本地DNS根據cache.dns文件中指定的根DNS服務器的IP地址,轉向根DNS查詢。 6)根DNS收到查詢請求后,查看區域文件記錄,若無,則將其管轄范圍內.com服務器的IP地址告訴本地DNS服務器 7).com服務器收到查詢請求后,查看區域文件記錄,若無,則將其管轄范圍內.xxx服務器的IP地址告訴本地DNS服務器 8).xxx服務器收到查詢請求后,分析需要解析的域名,若無,則查詢失敗,若有,返回www.的IP地址給本地服務器 9)本地DNS服務器將www.的IP地址返回給客戶端,客戶端通過這個IP地址與WEB站點建立連接

安裝DNS服務器軟件

[root@CentOS7 ~]# yum install bind

配置相關配置文件

/etc/named.conf ,/etc/named.rfc1912.zones 為DNS主配置文件
/var/named/目錄為DNS數據庫文件存放目錄,每一個域文件都放在這里。
/etc/rc.d/init.d/named 為DNS服務的服務腳本。

一 DNS正向解析

這里以linuxidc.com域為例
www.linuxidc.com 對應IP 為192.168.29.100;
ftp.linuxidc.com 對應IP為1.1.1.1 。

1 首先編輯/etc/named.conf文件

        listen-on port 53 { any; };allow-query     { any; };dnssec-enable no;dnssec-validation no;

2 編輯區域配置文件/etc/named.rfc1912.zones

zone "linuxidc.com" IN {type master;file "linuxidc.com"; };

其中zone的格式為:

    zone “ZONE_NAME  IN {type  master;file “ZONE_NAME.zone”
}

3 新建解析庫文件/var/named/linuxidc.com.zone

[root@CentOS7 ~]# vim /var/named/linuxidc.com.zone
$TTL 1D
$ORIGIN linuxidc.com.
@   IN SOA linuxidc.com. admin.linuxidc.com. ( 20170526; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum linuxidc.com. IN NS ns1.linuxidc.com. ns1 IN A 192.168.29.100 www IN A 172.16.254.13 ftp IN A 1.1.1.1

4 修改解析庫文件權限

[root@CentOS7 ~]# chgrp named /var/named/linuxidc.com.zone 

5檢查 配置語法

(1)檢查配置文件語法

[root@CentOS7 ~]# named-checkconf

(2)檢查域配置文件語法

[root@CentOS7 ~]# named-checkzone linuxidc.com  /var/named/linuxidc.com.zone
zone linuxidc.com/IN: loaded serial 20170526
OK

6 啟動named服務

[root@CentOS7 ~]# systemctl start   named

7 測試

注意:要配置DNS服務器為本DNS服務器IP地址
或者使用dig命令則不需要修改DNS服務器

[root@CentOS7 ~]# nslookup  www.linuxidc.com Server: 127.0.0.1 Address: 127.0.0.1#53 Name: www.linuxidc.com Address: 172.16.254.13 [root@CentOS7 ~]# nslookup ftp.linuxidc.com Server: 127.0.0.1 Address: 127.0.0.1#53 Name: ftp.linuxidc.com Address: 1.1.1.1

測試成功,正向解析成功!!

二 DNS反向解析

這里以linuxidc.com域為例
IP地址192.168.29.100/24對應域名為www.linuxidc.com;
192.168.29.200/24對應域名為ftp.linuxidc.com;

1 首先編輯/etc/named.conf文件

        listen-on port 53 { any; };allow-query     { any; };dnssec-enable no;dnssec-validation no;

2 編輯區域配置文件/etc/named.rfc1912.zones

zone "29.168.192.in-addr.arpa" IN {type master;file "name.29.168.192"; };

格式為:

zone "NET_IP.in-addr.arpa" IN { #NET_IP 為反向解析的IP 網段type master;file "NAME_ZONE";       #NAME_ZONE為反向解析庫配置文件名稱 };

3 新建解析庫文件

$TTL 1D
$ORIGIN 29.168.192.in-addr.arpa. @ IN SOA linuxidc.com. admin.linuxidc.com. ( 20170526; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS linuxidc.com. 100 IN PTR www.linuxidc.com. 200 IN PTR ftp.linuxidc.com.

4 修改解析庫文件所屬組

[root@CentOS7 ~]# chgrp named name.29.168.192

5 語法檢查

(1)檢查配置文件語法

[root@CentOS7 ~]# named-checkconf

(2)檢查域配置文件語法

 [root@CentOS7 ~]# named-checkzone 29.168.192.in-addr.arpa /var/named/name.29.168.192 zone 29.168.192.in-addr.arpa/IN: loaded serial 20170526 OK

6 啟動named服務

[root@CentOS7 ~]# systemctl start   named

7 測試

 [root@CentOS7 ~]# dig -x 192.168.29.200 @192.168.29.100 ; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -x 192.168.29.200 @192.168.29.100 [……] 200.29.168.192.in-addr.arpa. 86400 IN PTR ftp.linuxidc.com. [root@CentOS7 ~]# dig -x 192.168.29.100 @192.168.29.100 [……] ;; ANSWER SECTION: 100.29.168.192.in-addr.arpa. 86400 IN PTR www.linuxidc.com. ;; AUTHORITY SECTION: 29.168.192.in-addr.arpa. 86400 IN NS linuxidc.com.

測試成功!!!

三 主從DNS

這里主DNS服務器IP地址為192.168.29.100/24
從DNS服務器IP地址為192.168.29.3/24
www.linuxidc.com 對應IP 為192.168.29.100;
ftp.linuxidc.com 對應IP為1.1.1.1

1首先編輯主服務器/etc/named.conf文件

    listen-on port 53 { any; };allow-query     { any; };recursion yes;dnssec-enable no;dnssec-validation no;

2 編輯主服務器的區域配置文件/etc/named.rfc1912.zones

zone "linuxidc.com" IN {type master;file "linuxidc.com.zone";allow-transfer {192.168.29.3; }; ##192.168.29.3位從服務器的ip地址。 };

3 新建主服務器解析庫文件vim /var/named/linuxidc.com.zone

$TTL 1D
$ORIGIN linuxidc.com.
@   IN SOA  linuxidc.com. admin.linuxidc.com. (20170526; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum linuxidc.com. IN NS ns1.linuxidc.com. mytest.com. IN NS slave.linuxidc.com. ###添加從服務器的NS解析記錄。 ns1 IN A 192.168.29.100 slave IN A 192.168.29.3 ###指定從服務器的IP地址。 www IN A 172.16.254.13 ftp IN A 1.1.1.1

4 編輯從服務器/etc/named.conf文件

    listen-on port 53 { any; };allow-query     { any; };recursion yes;dnssec-enable no;dnssec-validation no;

5 配置從服務器的區域配置文件/etc/named.rfc1912.zones

zone "linuxidc.com" IN {type slave; ##表明本機是從服務器file "slaves/linuxidc.com";   ##將同步后的文件放置在哪里,這里是相對路徑,實際路徑為/var/named/slaves/linuxidc.com masters {192.168.29.100; }; ##指定主服務器的ip地址 };

6 語法檢查

在主從兩個服務器上都進行語法檢查

[root@CentOS7 ~]# named-checkconf

7 在主從兩個服務器上開啟服務

[root@CentOS7 ~]# systemctl start named

8 測試

(1)查看從服務器已經取得解析數據庫文件

[root@centos7 ~]# ll  /var/named/slaves/
total 4
-rw-r--r--. 1 named named 348 May 26 15:22 linuxidc.com

(2)用從服務器解析www.linuxidc.com

[root@centos7 ~]# dig -t A www.linuxidc.com @192.168.29.3 [……] ;; ANSWER SECTION: www.linuxidc.com. 86400 IN A 172.16.254.13 ;; AUTHORITY SECTION: linuxidc.com. 86400 IN NS slave.linuxidc.com. mytest.com. 86400 IN NS ns1.linuxidc.com. ;; ADDITIONAL SECTION: ns1.linuxidc.com. 86400 IN A 192.168.29.100 slave.linuxidc.com. 86400 IN A 192.168.29.3 ;; Query time: 2 msec ;; SERVER: 192.168.29.3#53(192.168.29.3) ;; WHEN: Fri May 26 15:37:13 CST 2017 ;; MSG SIZE rcvd: 129

可以看到解析成功。說明從服務器已生效。

四 子域授權

這里子域服務器為192.168.29.110

1 在linuxidc.com.域的服務器上修改區域數據庫文件

[root@CentOS7 ~]# cat /var/named/linuxidc.com.zone 
$TTL 1D
$ORIGIN linuxidc.com.
@   IN SOA linuxidc.com. admin.linuxidc.com. ( 20170526; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum linuxidc.com. IN NS ns1.linuxidc.com. mytest.com. IN NS slave.linuxidc.com. haha.linuxidc.com. IN NS ns2.haha.linuxidc.com. ###新添加的行 ns1 IN A 192.168.29.100 slave IN A 192.168.29.3 www IN A 172.16.254.13 ftp IN A 1.1.1.1 ns2.haha.linuxidc.com. IN A 192.168.29.110 ###新添加行,指明子域服務器IP地址。

2 修改子域服務器的主配置文件/etc/named.conf

[root@CentOS7 ~]# vim  /etc/named.conflisten-on port 53 { any; };allow-query     { any; };recursion yes;dnssec-enable no; dnssec-validation no;

3 編輯子域服務器的區域配置文件/etc/named.rfc1912.zones

[root@CentOS7 ~]# vim  /etc/named.rfc1912.zones
zone "haha.linuxidc.com" IN {type master;file "haha.zone"; allow-transfer {192.168.29.0/24; }; };

4 新建主服務器解析庫文件/var/named/haha.zone

域名www.haha.linuxidc.com 對應IP 172.16.11.11
域名ftp. haha.linuxidc.com 對應IP 2.2.2.2

[root@CentOS7 ~]# vim /var/named/haha.zone
$TTL 1D
$ORIGIN haha.linuxidc.com.
@       IN SOA haha.linuxidc.com. admin.haha.linuxidc.com. ( 20170528; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum haha.linuxidc.com. IN NS ns2.haha.linuxidc.com. ns2 IN A 192.168.29.110 www IN A 172.16.11.11 ftp IN A 2.2.2.2

5 語法檢查

在兩個服務器上都進行語法檢查

[root@CentOS7 ~]# named-checkconf

6 在兩個服務器上開啟服務

[root@CentOS7 ~]# systemctl start named

7測試

[root@centos7 ~]# dig -t A  www.haha.linuxidc.com @192.168.29.100 ; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -t A www.haha.linuxidc.com @192.168.29.100 […….] ;www.haha.linuxidc.com. IN A ;; ANSWER SECTION: www.haha.linuxidc.com. 86400 IN A 172.16.11.11 ;; AUTHORITY SECTION: haha.linuxidc.com. 86400 IN NS ns2.haha.linuxidc.com. ;; ADDITIONAL SECTION: ns2.haha.linuxidc.com. 86400 IN A 192.168.29.110

可以看到,已經可以成功解析

轉載于:https://www.cnblogs.com/key-l731/p/9557520.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/397050.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/397050.shtml
英文地址,請注明出處:http://en.pswp.cn/news/397050.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

lisp中怎樣調取圖形_CAD的lisp程序已加載,怎樣繪圖?

回答&#xff1a;1.計算所有線段總長度(加載后只需框選所有線段便可得出這些線段的總長度)(defun c:LL ()(setvar "cmdecho" 1)(setq en (ssget(list (0 . "spline,arc,line,ellipse,LWPOLYLINE"))))(setq i 0)(setq ll 0)(repeat (sslength en)(setq ss (…

Java Web的web.xml文件作用及基本配置(轉)

其實web.xml就是asp.net的web.config一個道理。 說明&#xff1a; 一個web中完全可以沒有web.xml文件&#xff0c;也就是說&#xff0c;web.xml文件并不是web工程必須的。 web.xml文件是用來配置&#xff1a;歡迎頁、servlet、filter等的。當你的web工程沒用到這些時&#xff0…

stand up meeting 12/21/2015

part組員 工作 工作耗時/h明日計劃工作耗時/h UI馮曉云 完成PDF UI主頁面的頁面切換功能&#xff0c;待完善 4 完善頁面切換&#xff0c;修補彈窗bug 4foxit PDF Reader朱玉影 修改了對pdf中文本進行搜索的代碼&#xff0c;使其更加robust 4 pdf…

python快速檢測視頻跳過幀_使用Python實現跳幀截取視頻幀

本文實例為大家分享了Python跳幀截取視頻幀的具體代碼&#xff0c;供大家參考&#xff0c;具體內容如下 可以自由設定時長來截取視頻&#xff0c;經實測效果理想。期間遇到的一個麻煩是我的視頻文件在D:盤&#xff0c;在原視頻D盤目錄上不能保存截取的圖片文件&#xff0c;后改…

BZOJ3999: [TJOI2015]旅游

BZOJ3999: [TJOI2015]旅游 Description 為了提高智商&#xff0c;ZJY準備去往一個新世界去旅游。這個世界的城市布局像一棵樹。每兩座城市之間只有一條路徑可以互達。每座城市都有一種寶石&#xff0c;有一定的價格。ZJY為了賺取最高利益&#xff0c;她會選擇從A城市買入再轉手…

一張圖看懂單機/集群/熱備/磁盤陣列(RAID)

單機部署(Standalone) 只有一個飲水機提供服務器&#xff0c;服務只部署一份 集群部署(Cluster) 多個飲水機同時提供服務&#xff0c;服務冗余部署&#xff0c;每個冗余的服務都對外提供服務&#xff0c;一個服務掛掉時依然可用 熱備部署(Hot-swap) 只有一個桶提供服務&#xf…

typescript vuex_Vue3+TypeScript完整項目上手教程

作者&#xff1a;TinssonTaihttps://juejin.im/post/6875713523968802829一個完整的Vue3Ts項目,支持.vue和.tsx寫法 項目地址&#xff1a;https://github.com/vincentzyc/vue3-demo.gitTypeScript 是JS的一個超集&#xff0c;主要提供了類型系統和對ES6的支持&#xff0c;使用 …

JS中window.showModalDialog()詳解

window.showModalDialog()方法用來創建一個顯示HTML內容的模態對話框。 window.showModelessDialog()方法用來創建一個顯示HTML內容的非模態對話框。 使用方法&#xff1a; vReturnValue window.showModalDialog(sURL [, vArguments] [,sFeatures]) vReturnValue window.show…

一個簡單的javascript節流器實現

節流器 javascript的節流器主要用于延緩某些動作的執行&#xff0c;比如ajax請求&#xff0c;如果input框注冊了input事件&#xff0c;那么當用戶輸入時就會持續的觸發這個事件&#xff0c;如果回調函數中持續的通過ajax調用后臺的接口&#xff0c;就會對服務器產生一定壓力。這…

一些會用到的知識

為什么80%的碼農都做不了架構師&#xff1f;>>> HtmlAgilityPack 用來解析HTML代碼 microsoft.mshtml CsQuery 解析HTML代碼 轉載于:https://my.oschina.net/uwith/blog/813725

eclipse怎么升級到java ee,如何為Java EE開發人員升級Eclipse?

Is there any non-painful way to upgrade an Eclipse installation? I have tried browsing the eclipse site but I cannot find an useful description.解決方案Add the update URL to your available sites:Window > Preferences > Install/Update > Available S…

LeetCode 7 Reverse Integer(反轉數字)

題目來源&#xff1a;https://leetcode.com/problems/reverse-integer/ Reverse digits of an integer. Example1: x 123, return 321Example2: x -123, return -321 解題思路&#xff1a; 其實這道題看起來非常簡單&#xff0c;要實現也是幾行代碼的事。但是有個小問題容易被…

各種蘊含算法思想的DP - 3

內容中包含 base64string 圖片造成字符過多&#xff0c;拒絕顯示轉載于:https://www.cnblogs.com/cmyg/p/9566723.html

python圖像對比_用python實現對比兩張圖片的不同

from PIL import Image from PIL import ImageChops def compare_images(path_one, path_two, diff_save_location): """ 比較圖片&#xff0c;如果有不同則生成展示不同的圖片 參數一: path_one: 第一張圖片的路徑 參數二: path_two: 第二張圖片的路徑 參數三:…

Kafka 分布式環境搭建

這篇文章將介紹如何搭建kafka環境&#xff0c;我們會從單機版開始&#xff0c;然后逐漸往分布式擴展。單機版的搭建官網上就有&#xff0c;比較容易實現&#xff0c;這里我就簡單介紹下即可&#xff0c;而分布式的搭建官網卻沒有描述&#xff0c;我們最終的目的還是用分布式來解…

Docker Machine搭建并加入節點

對于集群服務器來講&#xff0c;要在每臺機器上手動安裝Docker是一件及其痛苦的事情&#xff0c;還好有Docker Machine這一工具&#xff0c;Docker三劍客中的一角. 一、Docker Machine介紹 這個工具已經出了比較久了&#xff0c;Docker Machine官方介紹&#xff1a;https://doc…

ASPNET5的依賴注入

ASP.NET5設計的時候就是以DI為基礎的&#xff0c;它可以利用內建的框架在Startup類的方法中&#xff0c;把依賴注入進去。應用服務也可以被配置的注入。默認的服務容器提供一些基本的功能&#xff0c;它并不打算代替現代主流的DI框架。 1. 什么是Dependency Injection? DI的概…

java 權限控制 demo_Java-訪問控制權限

Java面向對象-訪問控制權限Java中&#xff0c;可以通過一些Java關鍵字&#xff0c;來設置訪問控制權限&#xff1b;主要有 private(私有)&#xff0c; package(包訪問權限)&#xff0c;protected(子類訪問權限)&#xff0c;public(公共訪問權限)privatepackageprotectedpublic同…

《未來世界的幸存者》筆記

https://ruanyf.github.io/survivor/ 這兩天一直在上下班途中&#xff0c;讀阮一峰的這本書 《未來世界的幸存者》。還是有不少感慨的。做一下記錄。 未來人類社會的形態&#xff0c;將發生顛覆性的變化。舊的社會結構已經在崩潰了&#xff0c;但社會底層的機會變得更少了&…

python類中沒有屬性_如何在python語言中在類中刪除屬性和添加屬性

在python語言中的類&#xff0c;可以使用class定義類&#xff0c;調用__init__方法進行初始化&#xff1b;默認傳入self&#xff0c;可以在后面在添加幾個屬性。可以使用setattr()添加屬性&#xff0c;也可以使用delattr()刪除屬性。下面利用幾個實例說明這兩個方法的用法&…