溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何搭建智能DNS

發布時間:2021-11-24 13:56:42 來源:億速云 閱讀:277 作者:小新 欄目:網絡安全

這篇文章給大家分享的是有關如何搭建智能DNS的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

智能DNS搭建方案

智能DNS主要通過用戶源IP來判斷來源,然后根據不同的策略解析到不同的IP地址來實現。使得用戶可以就近訪問所需的資源,提高訪問速度,提升用戶感知。

智能DNS可通過bind的view功能來實現。

BIND的VIEW功能配置如下:

軟件版本:bind-9.9.5-P1.tar.gz

依賴:gcc

openssl-0.9.8zb.tar.gz(bind的DNSSEC需要)

1. 安裝openssl

tar xf openssl-0.9.8zb.tar.gz

cd openssl-0.9.8zb

./config --prefix=/usr/local --openssldir=/usr/local/openssl && make && make install

2. 安裝bind

tar  xf  bind-9.9.5-P1.tar.gz

cd bind-9.9.5-P1

./configure  --prefix=/home/bind  --enable-threads  --with-openssl=/usr/local/openssl

make && make install

3. 配置bind

由于要配置view,那么所有的zone文件都必須放在view里面,所以做如下配置:注釋掉named.conf中的named.conf.zone和named.rfc1912.zones

vi /home/bind/etc/named.conf

#named.conf file

include "/home/bind/etc/named.conf.options";

include "/home/bind/etc/named.conf.acl";

include "/home/bind/etc/named.conf.controls";

include "/home/bind/etc/named.conf.server";

include "/home/bind/etc/named.conf.key";

include "/home/bind/etc/named.conf.dlz";

include "/home/bind/etc/named.conf.trusted-keys";

include "/home/bind/etc/named.conf.view";

#include "/home/bind/etc/named.conf.zone";

#include "/home/bind/etc/named.rfc1912.zones";

配置view

vi /home/bind/etc/named.conf.view

view "ctc_view_zone" {

        match-clients { CTC; };

        include "/home/bind/var/named/view_zone/ctc_zone";

};

view "cuc_view_zone" {

        match-clients { CUC; };

        include "/home/bind/var/named/view_zone/cuc_zone";

};

view "cmc_view_zone" {

        match-clients { CMC; };

        include "/home/bind/var/named/view_zone/cmc_zone";

};

view "any_view_zone" {

        match-clients { any; };

        include "/home/bind/var/named/view_zone/any_zone";

};

分別為電信、聯通、移動配置view,match-clients對應各自的ACL,實現篩選,include對應各自的zone配置文件。最后一條view為默認的view,view的匹配順序是從上往下的,所以默認的view配置在最后。

配置zone文件

在/home/bind/var/named/view_zone下創建各自對應的zone文件

ls-l /home/bind/var/named/view_zone

total 16

-rw-r--r--. 1 root root 175 Aug 12 17:47 any_zone

-rw-r--r--. 1 root root 175 Aug 13 17:22 cmc_zone

-rw-r--r--. 1 root root 175 Aug 12 17:47 ctc_zone

-rw-r--r--. 1 root root 175 Aug 12 18:18 cuc_zone

vi /home/bind/var/named/view_zone/ctc_zone

zone "." IN {

        type hint;

        file "/home/bind/var/named/named.ca";

};

zone "test.com" IN {

        type master;

        file "/home/bind/var/named/ctc/test.com";

        allow-update { none; };

};

Vi /home/bind/var/named/view_zone/cuc_zone

zone "." IN {

        type hint;

        file "/home/bind/var/named/named.ca";

};

zone "test.com" IN {

        type master;

        file "/home/bind/var/named/cuc/test.com";

        allow-update { none; };

};

Vi /home/bind/var/named/view_zone/cmc_zone

zone "." IN {

        type hint;

        file "/home/bind/var/named/named.ca";

};

zone "test.com" IN {

        type master;

        file "/home/bind/var/named/cmc/test.com";

        allow-update { none; };

};

vi /home/bind/var/named/view_zone/any_zone

zone "." IN {

        type hint;

        file "/home/bind/var/named/named.ca";

};

zone "test.com" IN {

        type master;

        file "/home/bind/var/named/any/test.com";

        allow-update { none; };

};

在對應的目錄下配置zone數據文件,配置一條A記錄便于測試

vi /home/bind/var/named/ctc/test.com

$TTL    86400

@               IN SOA  test.com.      root.localhost. (

                                        42              ; serial (d. adams)

                                        3H              ; refresh

                                        15M             ; retry

                                        1W              ; expiry

                                        1D )            ; minimum

        IN      NS      ns

ns      IN      A       115.182.75.10

www     IN      A       1.1.1.1

vi /home/bind/var/named/cuc/test.com

$TTL    86400

@               IN SOA  test.com.      root.localhost. (

                                        42              ; serial (d. adams)

                                        3H              ; refresh

                                        15M             ; retry

                                        1W              ; expiry

                                        1D )            ; minimum

        IN      NS      ns

ns      IN      A       115.182.75.10

www     IN      A       2.2.2.2

vi /home/bind/var/named/cmc/test.com

$TTL    86400

@               IN SOA  test.com.      root.localhost. (

                                        42              ; serial (d. adams)

                                        3H              ; refresh

                                        15M             ; retry

                                        1W              ; expiry

                                        1D )            ; minimum

        IN      NS      ns

ns      IN      A       115.182.75.10

www     IN      A       3.3.3.3

vi /home/bind/var/named/any/test.com

$TTL    86400

@               IN SOA  test.com.      root.localhost. (

                                        42              ; serial (d. adams)

                                        3H              ; refresh

                                        15M             ; retry

                                        1W              ; expiry

                                        1D )            ; minimum

        IN      NS      ns

ns      IN      A       115.182.75.10

www     IN      A       4.4.4.4

配置ACL

由于IP條目數較多,所以另外創建ACL的文件方便管理

首先在named.conf中關聯相應的文件

vi /home/bind/etc/named.conf

#named.conf file

include "/home/bind/etc/named.conf.options";

include "/home/bind/etc/named.conf.acl";

include "/home/bind/etc/named.conf.controls";

include "/home/bind/etc/named.conf.server";

include "/home/bind/etc/named.conf.key";

include "/home/bind/etc/named.conf.dlz";

include "/home/bind/etc/named.conf.trusted-keys";

include "/home/bind/etc/named.conf.view";

#include "/home/bind/etc/named.conf.zone";

#include "/home/bind/etc/named.rfc1912.zones";

include "/home/bind/etc/named.conf.log";

include "/home/bind/etc/ACL/dianxinACL";

include "/home/bind/etc/ACL/yidongACL";

include "/home/bind/etc/ACL/liantongACL";

include "/home/bind/etc/ACL/changkuanACL";

include "/home/bind/etc/ACL/tietongACL";

include "/home/bind/etc/ACL/jiaoyukeyanACL";

每個文件對應相應的IP地址庫

格式為:acl “acl_name” { xx.xx.xx.xx; }; 如下所示:

vi /home/bind/etc/ACL/yidongACL

acl "CMC" {

36.128.0.0/10;

39.128.0.0/10;

111.0.0.0/10;

112.0.0.0/10;

……

221.176.0.0/13;

223.64.0.0/10;

};

至此bind的view已經配置完成

啟動bind

/home/bind/sbin/named -u root -c /home/bind/etc/named.conf

(最好創建一個bind賬號來啟動,chown -R bind:bind /home/bind)

ps –ef | grep named 查看服務是否啟動

使用/home/bind/sbin/named -u root -c /home/bind/etc/named.conf -g可以查看啟動過程,方便排錯

測試時,會根據源IP判斷來源,然后解析到指定的地址,如下:

域名            電信用戶解析IP        聯通用戶解析IP        移動用戶解析IP        其他用戶解析IP

www.test.com       1.1.1.1               2.2.2.2                3.3.3.3              4.4.4.4

解析命令

dig @115.182.75.10 www.test.com A

nslookup www.test.com 115.182.75.10

host -t A www.test.com 115.182.75.10

附上一個bind自帶的壓力測試工具queryperf

在解壓 bind-9.9.5-P1.tar.gz后,在解壓的文件中有個queryperf的目錄,具體路徑為:bind-9.9.5-P1/contrib/queryperf

在queryperf目錄下執行:sh configure && make

之后會生成一個queryperf執行文件

基本用法如下:

./queryperf -d domain-file -s 8.8.8.8 -l 60 -T100

-d 后接一個域名列表文件,一行一個域名,格式為:domain  type

www.163.com A

qq.com MX

www.baidu.com CNAME

www.test.com NS

-s 后接測試使用的DNS服務器IP

-l 測試時間,單位為秒

-T 每秒發送的請求數(qps)

命令執行完成后會輸出結果,如下:

Statistics:

  Parse input file:     multiple times

  Run time limit:       60 seconds

  Ran through file:     5999 times

  Queries sent:         6000 queries     #查詢總請求數

  Queries completed:    6000 queries     #查詢成功的請求數

  Queries lost:         0 queries         #查詢失敗的請求數

  Queries delayed(?):   0 queries

  RTT max:         0.000520 sec

  RTT min:              0.000109 sec

  RTT average:          0.000291 sec

  RTT std deviation:    0.000062 sec

  RTT out of range:     0 queries

  Percentage completed: 100.00%

  Percentage lost:        0.00%

  Started at:           Fri Aug 15 10:42:00 2014

  Finished at:          Fri Aug 15 10:43:00 2014

  Ran for:              60.000338 seconds

  Queries per second:   99.999437 qps         #每秒查詢的次數(qps)

      Total QPS/target:     99.999437/100 qps

感謝各位的閱讀!關于“如何搭建智能DNS”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

dns
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女