1. 程式人生 > >安裝配置DNS伺服器、DDNS的配置

安裝配置DNS伺服器、DDNS的配置

DNS和DDNS的安裝和配置

一、DNS簡介

1、DNS伺服器的工作原理

域名服務(DNS)是一種分散式資料庫,它提供從機器名到數字IP地址的對映。
DNS服務最常用的軟體是BIND(Berkeley Internet Name Domain),BIND提供瞭解析器和名字伺服器軟體,解析器作實際的查詢工作,名字伺服器負責響應。BIND將名字伺服器分成三個部分:
1. 主伺服器包含了一個域的全部資料
2. 次伺服器則有效地從主伺服器複製DNS資料庫
3. 緩衝伺服器通過緩衝查詢來建立例外的DNS資料庫

域名體系層次結構圖如下
這裡寫圖片描述

2、DNS的分類

1)唯快取記憶體域名伺服器(Cache-only Server)

不包含域名資料庫,它每次從某臺遠端伺服器取得域名伺服器查詢的資訊。一旦取得一個回答,就將它放入快取記憶體中,下次查詢相同的資訊就用此回答。

2)主域名伺服器(primary Name Server)

主域名伺服器是特定域所有資訊的權威來源,從域管理員構造的本地檔案中載入域資訊,該檔案包含伺服器具有的部分域結構的最精確資訊。主域名伺服器需要配置一組完整的檔案。

3)輔助域名伺服器(Second Name Server)

輔助域名伺服器用來從主域名伺服器中轉移一整套域資訊,它是可選的配置選項。區檔案從主域名伺服器轉移出來,作為磁碟檔案儲存在輔助域名伺服器中。輔助域名伺服器不需要配置本地區檔案,只需要配置主配置檔案(named.conf),快取記憶體初始化檔案(named.ca)和回送檔案(named.local)。

3、本次實驗各檔案之間的關係示意圖

這裡寫圖片描述

二、安裝DNS(Domain Name System)

yum install bind -y
systemctl start named #此時開啟需要讀取一個檔案/etc/rndc.key檔案,但這個檔案預設不存在,所以需要在主機上敲鍵盤生成該檔案,然後就可以開啟服務
若是想檢視某一個服務的埠,可以檢視檔案cat /etc/services | grep domain,以domain服務為例

主配置檔案: /etc/name.conf
子配置檔案: /etc/named.rfc1912.zones
資料目錄: /var/named

三、配置

1、簡單配置,非權威DNS

這裡進行測試必須瞭解dig命令,dig命令是常用的域名查詢工具,可以用來測試域名系統是否正常

當使用客戶端dig www.baidu.com命令時,出現報錯說連線超時,則需要檢視服務端的埠,是否是迴環埠,若是,則需要改變。  
當出現dig狀態是status: SERVFAIL,則表示地址解析的dns伺服器也不知道該如何訪問,則可新增下面配置的18行來進行修改,寫入一個知道的ip地址
[root@server ~]# vim /etc/named.conf
  -->  11         listen-on port 53 { any; }; #表示向所有客戶主機開啟這個53埠
       17         allow-query     { any; };   #表示允許所有主機連線該dns伺服器
       18         forwarders { 172.25.254.250; }; #表示當客戶端主機沒有服務端dig訪問的內容時,則訪問這個主機來進行訪問
[root@server ~]# systemctl restart named  #重啟服務

客戶端,進行地址解析
[root@localhost ~]# vim /etc/resolv.conf
  --> nameserver 172.25.254.170   #dns服務端主機ip

測試

[[email protected] images]# dig www.qq.com

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13418
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 11

...

;; Query time: 0 msec   #第一次時間會較長,後面時間較短
;; SERVER: 172.25.254.250#53(172.25.254.250)
;; WHEN: Sat Nov 25 09:53:52 EST 2017
;; MSG SIZE  rcvd: 302

2、權威DNS的正向解析

通過域名得到相對應的ip地址

在一個沒有連線外網的主機上進行dns伺服器配置如下:
[root@server ~]# vim /etc/named.conf
  -->  11         listen-on port 53 { any; }; #表示向所有客戶主機開啟這個53埠
       17         allow-query     { any; };   #表示允許所有主機連線該dns伺服器
[root@server ~]# systemctl restart named

此時,用客戶端進行測試:
[root@localhost ~]# dig www.westos.com
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 53264

修改服務端
可以直接在/etc/named.conf主配置檔案裡面修改,但會造成排錯不好找,而且如果新增的很多之後,會使得檔案太長。所以可以在該檔案包含的檔案/etc/named.rfc1912.zones檔案中修改。
[root@server ~]# vim /etc/named.rfc1912.zones
  -->  25 zone "westos.com" IN {  #""中的內容表示客戶端請求的域名地址
       26         type master;  #配置為主DNS伺服器
       27         file "named.westos.zone"; #去訪問這個檔案,這個檔案本身並沒有,需要自己建立
       28         allow-update { none; };
       29 };
[root@server ~]# cd /var/named/
[root@server named]# cp -p named.localhost named.westos.zone
[root@server named]# vim named.westos.zone
  --> $TTL 1D
      ##表示快取可以儲存一天
      @       IN SOA  dns.westos.com. root.westos.com. (
      ##@表示/etc/named.rfc1912.zones/檔案裡面zone "westos.com" IN引號裡面的內容,沒有以'.'結尾的會預設新增@所表示的資訊
      ##dns.westos.com. 預設複製過來的檔案是一個@符
      ##root.westos.com. 管理員
                                        0       ; serial
                                        1D      ; refresh
                                        ##表示一天後重新重新整理
                                        1H      ; retry
                                        ##若沒有得到答案,1小時後再次詢問
                                        1W      ; expire
                                        3H )    ; minimum
                                        ##3小時內若答案沒有修改,則回答原來的答案,可以防止DOS攻擊
               NS      dns.westos.com.  ##nameserver
       dns     A       172.25.254.170
       www     A       172.25.254.50  ##所提供該域名服務的ip地址
[root@server named]# systemctl restart named

客戶端重新進行測試:

[[email protected] ~]# dig www.westos.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.westos.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9458
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
...

;; QUESTION SECTION:
;www.westos.com.            IN  A

;; ANSWER SECTION:
www.westos.com.     86400   IN  A   172.25.254.50

;; AUTHORITY SECTION:
westos.com.     86400   IN  NS  dns.westos.com.

;; ADDITIONAL SECTION:
dns.westos.com.     86400   IN  A   172.25.254.170

;; Query time: 0 msec
;; SERVER: 172.25.254.170#53(172.25.254.170)
;; WHEN: Sat Nov 25 10:39:08 EST 2017
;; MSG SIZE  rcvd: 93

3、權威DNS的反向解析

客戶端輸入dig -x ip,顯示出想要的域名

[[email protected] ~]# dig -x 172.25.254.55
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 48122

[[email protected] named]# vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN {     ##反響解析應該注意地址應該反方向寫
        type master;
        file "westos.loopback";
        allow-update { none; };
};
[[email protected] named]# cp -p named.loopback westos.loopback
[[email protected] named]# vim westos.loopback  ##內容解釋和2中一樣
$TTL 1D
@       IN SOA  dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com.
dns     A       172.25.254.55
55      PTR     www.westos.com. ##測試輸入的需要反響解析的ip所對應的域名內容
[[email protected] named]# systemctl restart named

此時再次進行測試:

[[email protected] ~]# dig -x 172.25.254.55
...
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25237
;; QUESTION SECTION:
;55.254.25.172.in-addr.arpa.    IN  PTR

;; ANSWER SECTION:
55.254.25.172.in-addr.arpa. 86400 IN    PTR www.westos.com.

;; AUTHORITY SECTION:
254.25.172.in-addr.arpa. 86400  IN  NS  dns.westos.com.

;; ADDITIONAL SECTION:
dns.westos.com.     86400   IN  A   172.25.254.170
...

4、dns的雙向解析

使內網和外網不同的人解析到不同的ip地址

[root@server named]# vim /etc/named.conf
view localnet  {
        match-clients { 172.25.254.70; };   ##表示內網解析到的
        zone "." IN {
                type hint;
                file "named.ca";
};
include "/etc/named.rfc1912.zones";   ##內王訪問的檔案
include "/etc/named.root.key";
};

view othernet  {    ##外網
        match-clients { any; }; ##除了172.25.254.70這個ip地址之外的ip
        zone "." IN {
                type hint;
                file "named.ca";
};
include "/etc/named.rfc1912.inter";   ##外網要訪問這個檔案,該檔案需要自己建立
include "/etc/named.root.key";
};
[root@server named]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter
[root@server named]# vim /etc/named.rfc1912.inter
zone "westos.com" IN {
        type master;
        file "named.westos.inter";    ##把需要區分內外網的域名外網訪問檔案重新建立修改
        allow-update { none; };
};
[root@server named]# cp -p named.westos.zone named.westos.inter
[root@server named]# vim named.westos.inter
$TTL 1D
@       IN SOA  dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com.
dns     A       1.1.1.170   
www     A       1.1.1.50    ##改為想要顯示的外網的地址

不同客戶端進行測試

內網ip測試172.25.254.70[[email protected] ~]# dig www.westos.com
...
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58908
;; QUESTION SECTION:
;www.westos.com.            IN  A

;; ANSWER SECTION:
www.westos.com.     86400   IN  A   172.25.254.50

;; AUTHORITY SECTION:
westos.com.     86400   IN  NS  dns.westos.com.

;; ADDITIONAL SECTION:
dns.westos.com.     86400   IN  A   172.25.254.170

;; Query time: 0 msec
;; SERVER: 172.25.254.170#53(172.25.254.170)
;; WHEN: Sat Nov 25 11:48:40 EST 2017
;; MSG SIZE  rcvd: 93


外網ip測試:
[[email protected] named]# dig www.westos.com
...
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50415
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.westos.com.            IN  A

;; ANSWER SECTION:
www.westos.com.     86400   IN  A   1.1.1.50

;; AUTHORITY SECTION:
westos.com.     86400   IN  NS  dns.westos.com.

;; ADDITIONAL SECTION:
dns.westos.com.     86400   IN  A   1.1.1.170

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Nov 25 11:48:03 EST 2017
;; MSG SIZE  rcvd: 93

可以看出不同ip所得到的ip地址是不同的

5、主從DNS伺服器的同步

為了緩解主機的壓力,可以建立一個輔助DNS的伺服器,和主的DNS進行同步,使有的客戶端可以通過輔助DNS得到結果

主DNS配置:
vim /etc/named.rfc1912.inter
  also-notify { 172.25.254.175; };
systemctl restart named

輔助DNS配置:
vim /etc/named.conf     any any
[[email protected] named]# vim /etc/named.rfc1912.zones
zone "westos.com" IN {
        type slave;
        masters { 172.25.254.170; };
        file "slaves/westos.com.inter";
        allow-update { none; };
};
[[email protected] named]# systemctl restart named

測試:用兩個外網主機,resolv.conf分別寫為主和輔助的DNS,進行dig測試

6、DNS的遠端更新

1)基於ip的更新

在主DNS上面更改
vim /etc/named.rfc1912.inter
allow-update { 172.25.254.175; };
systemctl restart named

測試:
在175主機上
輸入nsupdate命令,進行同步
server 172.25.254.170   ##主DNS
update add bbs.westos.com 86400 A 1.1.1.3   ##新增
send
server 172.25.254.170
update delete www.westos.com    ##刪除
send

2)基於金鑰的更新

cp -p /etc/rndc.key /etc/westos.key
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos

vim /etc/westos.key
將裡面的名稱改為westos,並將secret後面引號裡面的具體數值改為生成的金鑰
vim /etc/named.conf
新增
include "/etc/westos.key";
vim /etc/namde.rfc1912.inter
allow-update { key wesots; };

測試:
scp Kwestos.+157+07295.* root@172.25.254.175:/mnt
在175主機上執行命令
nsupdate -k Kwestos.+157+07295.key
進行和基於ip的一樣的測試

四、DDNS

修改dns

 vim /etc/named.conf
include "/etc/westos.key";
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view localnet  {      #內網
        match-clients { any; };
        zone "." IN {
                type hint;
                file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};

vim /etc/named.rfc1912.zones
zone "westos.com" IN {
        type master;
        file "named.westos.zone";
        allow-update { key westos; };     ##有westos key的客戶端主機可以訪問
};

vim named.westos.zone
$TTL 1D
@   IN SOA  dns.westos.com. root.westos.com. (
                    1   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  dns.westos.com.
dns A   172.25.254.170

修改dhcp

安裝dhcp,修改配置檔案
vim /etc/dhcp/dhcpd.conf
option domain-name "westos.com";
option domain-name-servers 172.25.254.170;

ddns-update-style interim;

subnet 172.25.254.0 netmask 255.255.255.0 {
  range 172.25.254.197 172.25.254.210;
  option routers 172.25.254.170;
}
key westos {
         algorithm hmac-md5;
         secret "GgUPXCeBC7rQOk2pw8XYmw==";
};
zone westos.com. {
         primary 127.0.0.1;
         key westos;
}

重啟兩項服務,然後配置客戶端
客戶端的ip設為dhcp模式,並且配置主機名為www.westos.com,在進行dig www.westos.com會顯示的是得到dhcp的ip的ip地址

相關推薦

安裝配置DNS伺服器DDNS配置

DNS和DDNS的安裝和配置 一、DNS簡介 1、DNS伺服器的工作原理 域名服務(DNS)是一種分散式資料庫,它提供從機器名到數字IP地址的對映。 DNS服務最常用的軟體是BIND(Berkeley Internet Name Domain),

linux 安裝配置DNS伺服器

VM虛擬的環境CENTOS 5.6 IP:192.168.1.170 本地XP系統 IP:192.168.1.108 一.。安裝DNS       LINUX安裝DNS主要要安裝2個程式:       yum install bind*                 

dns伺服器搭建及配置測試流程

1、使用 bind(Berkeley Internet Name Domain)搭建 DNS(Domain Name System)伺服器 安裝。 yum -y install bind-chroot 可先查詢是否已經安裝: rpm -q bind rpm -q bind-ch

CentOS通過bind配置DNS伺服器

一、建立DNS主伺服器 1、安裝bind並配置主配置檔案 主伺服器為CentOS 7,主服務地址為172.16.11.55 安裝bind [[email protected] ~]# yum install bind 安裝完成後檢

AndroidStudio2.3.3安裝配置及NDKCmake配置遇到的問題彙總

##從入門到放棄系列## ###1、報錯 1.1 CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage    解決方法:在Module:app的build.gradle中新增: ndk{ a

DNS伺服器搭建與配置

DNS服務簡介: DNS(Domain Name System–域名系統),是因特網的一項服務。它作為將域名和IP地址相互對映的一個分散式資料庫,能夠使人更方便地訪問網際網路。是一個應用層的協議DNS使用TCP和UDP埠53。 DNS是一個分散式資料庫,命名系統

Ubuntu Linux 學習篇 配置DNS伺服器

BIND9 DNS(Domain Name Server,域名伺服器)是進行域名(domain name)和與之相對應的IP地址 (IP address)轉換的伺服器。DNS中儲存了一張域名(domain name)和與之相對應的IP地址 (IP address)的表,以解析訊息的域名。 域名是

Ubuntu採用bind9配置DNS伺服器

 Ubuntu採用bind9配置DNS伺服器 最近公司專案需要用到dns伺服器,就搭建了dns伺服器。   1. BIND9 的安裝與配置1.1 bind簡介BIND (Berkeley Inter

MySql 配置主從伺服器配置主主伺服器

1、準備工作: 阿里雲的centos 兩臺伺服器:(mysql版本儘量保持一致,主伺服器的版本不能高於從伺服器) 主伺服器:ip1; 從伺服器:ip2; 待同步的資料庫:slaveDB; 同步主從資料庫資料,保持主從資料一致! 需要注意的是!!!

為雲伺服器Windows Server2012 配置DNS伺服器

一、安裝DNS伺服器 1.開啟伺服器管理器,點選新增角色和功能 2.一直下一步,選擇基於角色或基於功能的安裝 3.選擇目標伺服器,只有一臺 4.新增DNS伺服器 5.一直下一步直到安裝成功 二、配置DNS伺服器 之前安裝好了DNS伺服器,但是還需要進一步的配置。

網路作業系統 第十章 DNS伺服器管理與配置

習題 1、什麼是域名系統?描述域名解析的過程。 1)域名系統:Domain Name System縮寫DNS,是因特網的一項核心服務域名系統作為可以將域名和IP地址相互對映的一個分散式資料庫,能夠使人更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的IP數串   2)  &nb

第十一章 DNS伺服器管理與配置

1.如何在WindowsServer 2008 系統中使用IIS進行多站點配置與管理? 1)執行“開始”–“程式”–“管理工具”–“伺服器管理器”開啟:   選擇“WEB伺服器(IIS)”,注意:首次安裝IIS的時候,當你點選“下一步”的時候會提示“是否新增WEB伺服器所需的功能”對話方塊。 提示在安裝

Linux如何配置ftp伺服器給ftp伺服器新增訪問使用者

先是安裝:emerge  vsftpd,然後按照下面的操作步驟即可配置ftp(主要就是修改/etc/vsftpd/vsftpd.conf)。在linux中新增ftp使用者,並設定相應的許可權,操作步驟如下面綠色字型所示(一個機器上只要裝了ftp服務,可以任意建立一個使用

[轉]Ubuntu配置DNS伺服器--bind(已測試)

每次重啟計算機之後這個檔案都會被自動改寫,所以每次重啟後需要手動設定此檔案f. 測試:使用nslookup 測試tonybox2:~# nslookup> set type=any> mydebian.orgServer: 192.168.102.47Address: 192.168.102.47

Hadoop 通過bind9配置DNS伺服器替代hosts的IP對映(ubuntu版)

最開始搭建hadoop叢集時,我是用hosts的ip對映實現的各個主機名與IP之間的對映關係。 但是,hosts的ip對映的缺點是,當我們在叢集裡面增加一個機器時,所有機器都要更新他們的hosts檔案,這樣就顯得很繁瑣。 通過查詢資料,可以使用bind9配置DNS來替代原先

Kali Linux橋接模式配置DNS伺服器

操作環境: 虛擬機器作業系統: Kali Linux 2017.2 虛擬化軟體: VMWare Workstation 14 pro 操作前的準備:

在Debian上用Bind 配置DNS伺服器

1 什麼是DNS 初學者可能不理解DNS到底是什麼,幹什麼用。我是在1998年大學畢業時才聽說這個詞的。那時我在聊天室碰到濰坊資訊港的一個網管,我恬不知恥地說我也是個網管,他說也維護DNS嗎?我說,DNS是什麼? ——DNS,DomainName Service,或者Dom

四條命令快速在Ubuntu16.04上配置DNS伺服器

1. apt install dnsmasq -y 2. vim /etc/dnsmasq.d/resolv.conf  address=/xxx.yyy.com/21.xx.xx.x 3. service dnsmasq start 4. iptables -I INPU

路由器虛擬伺服器DMZ配置,讓你的網站在外網能夠訪問

部落格資料(ASP.NET MVC3 馬倫) http://www.cnblogs.com/fly_dragon/ http://www.cnblogs.com/zhangziqiu/archive/2009/02/27/aspnet-mvc-1.html http:/

centos7 下部署Git以及git的使用(如需配置dns則需要提前配置好)

1.要生成新的SSH金鑰對,請使用以下命令: ssh-keygen -t rsa -C "[email protected]" -b 4096 查詢生產密匙 cat ~/.ssh/id_rsa.pub 複製密匙 貼上到gitlab的ssh密匙上,新增密