歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

正向解析區域、反向解析區域;主/從;子域;基本安全控制

正向解析區域、反向解析區域;主/從;子域;基本安全控制一、背景:

DNS服務器所提供的服務是完成將主機名和轉換為IP地址的工作。為什麼需要將主機名轉換為IP地址的工作呢?這是因為,當網絡上的一台客戶機訪問某一服務器上的資源時,用戶在浏覽器地址欄中輸入的是人類便於識記的主機名和域名。而網絡上的計算機之間實現連接卻是通過每台計算機在網絡中擁有的惟一的IP地址來完成的,這樣就需要在用戶容易記憶的地址和計算機能夠識別的地址之間有一個解析,DNS服務器便充當了地址解析的重要角色。

正向解析就是通過域名解析到IP地址而反向解析就是通過IP能解析到域名。

二、正向解析區域、反向解析區域1、配置解析域

配置解析一個正向區域:

以magedu.com域為例:

(1) 定義區域

在主配置文件中或主配置文件輔助配置文件中實現;

zone "ZONE_NAME" IN {

type {master|slave|hint|forward};

file "ZONE_NAME.zone";

};

注意:區域名字即為域名;

(2) 建立區域數據文件(主要記錄為A或AAAA記錄)

在/var/named目錄下建立區域數據文件;

文件為:/var/named/magedu.com.zone

$TTL 3600

$ORIGIN magedu.com.

@ IN SOA ns1.magedu.com. dnsadmin.magedu.com. (

2017010801

1H

10M

3D

1D )

IN NS ns1

IN MX 10 mx1

IN MX 20 mx2

ns1 IN A 172.16.100.67

mx1 IN A 172.16.100.68

mx2 IN A 172.16.100.69

www IN A 172.16.100.67

web IN CNAME www

bbs IN A 172.16.100.70

bbs IN A 172.16.100.71

權限及屬組修改:

# chgrp named /var/named/magedu.com.zone

# chmod o= /var/named/magedu.com.zone

檢查語法錯誤:

# named-checkzone ZONE_NAME ZONE_FILE

# named-checkconf

(3) 讓服務器重載配置文件和區域數據文件

# rndc reload 或

# systemctl reload named.service

配置解析一個反向區域

(1) 定義區域

在主配置文件中或主配置文件輔助配置文件中實現;

zone "ZONE_NAME" IN {

type {master|slave|hint|forward};

file "ZONE_NAME.zone";

};

注意:反向區域的名字

反寫的網段地址.in-addr.arpa

100.16.172.in-addr.arpa

(2) 定義區域解析庫文件(主要記錄為PTR)

示例,區域名稱為100.16.172.in-addr.arpa;

$TTL 3600

$ORIGIN 100.16.172.in-addr.arpa.

@ IN SOA ns1.magedu.com. nsadmin.magedu.com. (

2017010801(序列號)

1H (刷新時間間隔)

10M (重試時間間隔)

3D (否定答案的生存時長)

12H (過期時長))

IN NS ns1.magedu.com.

67 IN PTR ns1.magedu.com.

68 IN PTR mx1.magedu.com.

69 IN PTR mx2.magedu.com.

70 IN PTR bbs.magedu.com.

71 IN PTR bbs.magedu.com.

67 IN PTR www.magedu.com.

權限及屬組修改:

# chgrp named /var/named/172.16.100.zone

# chmod o= /var/named/172.16.100.zone

檢查語法錯誤:

# named-checkzone ZONE_NAME ZONE_FILE

# named-checkconf

(3) 讓服務器重載配置文件和區域數據文件

# rndc reload 或

# systemctl reload named.service

三、主,從DNS服務器配置假設我們以上配置的主機為主DNS服務器,在另一台主機配置從服務器。

從服務器是區域級別的概念;所以是在zone定義的type為slave;所以可以互為主從,例如一個正向解析的DNS服務器A的從服務器是DNS服務器B。DNS服務器B是反向解析的主服務器,DNS服務器A是反向解析的從服務器;

(1)配置從DNS服務器方式

在從DNS服務器上

1)定義區域:

zone "ZONE_NAME" IN {

type slave;

file "slaves/ZONE_NAME.zone"; ----> slaves目錄的屬主是named,確保數據可以寫入;

masters {MASTER_IP;};

};

2) 重載配置

rndc reload

systemctl reload named.service

[root@COS6 ~]# rndc reload

server reload successful

在主DNS服務器上

確保區域數據文件中為每個從服務配置NS記錄,並且在正向區域文件需要為每個從服務器的主機名配置一個A記錄,且此後A後面的地址為真正的從服務器的IP。

注意:時間要同步;ntpdate命令

主服務器的序列號每次修改都要更新!

[root@COS7 ~]# vim /var/named/flyalways.com.zone

[root@COS7 ~]# cat /var/named/flyalways.com.zone

$TTL 3600

$ORIGIN flyalways.com.

@ IN SOA dns.flyalways.com. dnsadmin.flyalways.com. (

2016011002 -----> 修改序列號

1H

10M

3D

1D )

IN NS dns

IN NS dns2 -----> 添加從服務器的NS記錄

IN MX 10 mx1

IN MX 20 mx2

dns IN A 172.16.25.71

dns2 IN A 172.16.25.67 -----> 指明從服務器的地址

mx1 IN A 172.16.25.72

mx2 IN A 172.16.25.73

www IN A 172.16.25.74

web IN A 172.16.25.75

[root@COS7 ~]# named-checkconf

[root@COS7 ~]# named-checkzone flyalways.com /var/named/flyalways.com.zone

zone flyalways.com/IN: loaded serial 2016011002 ----> 序列號已變

OK

[root@COS7 ~]# rndc reload

server reload successful

從服務器一般而言是為了和主DNS服務器一起做負載均衡的。一旦主DNS服務器失效,從DNS服務器也會停止提供服務。

四、子域授權1、 子域授權就相當於是劃片管理,是由上至下的授權。由根開始"."。

例如:.com .net 就是由根授權名稱空間,其實就是由.決定要劃分什麼的名稱空間,由它委派子名稱空間。

DNS中最重要的就是NS記錄,其中每個NS裡面的負責人就是SOA,在父域上定義一條NS記錄和一條A記錄就可以完成子域授權了

.com IN NS wd.com.

wd.com IN A 10.10.10.1

(這就表示在.com這個片裡面有一台主機叫叫wd。以後這個.com這一片就歸這個wd這台主機來管理了,哪誰是這台主機呢?下面的A記錄就給予很明確的答案,10.10.10.1就是管理.com這個片的這台主機)

注意:子域和父域沒有必要在同一個網段,只要能夠通信就可以了。

正向解析區域授權子域的方法:

ops.magedu.com. IN NS ns1.ops.magedu.com.

ops.magedu.com. IN NS ns2.ops.magedu.com.

ns1.ops.magedu.com. IN A IP.AD.DR.ESS

ns2.ops.magedu.com. IN A IP.AD.DR.ESS

2、定義轉發:

注意:被轉發的服務器必須允許為當前服務做遞歸;

(1) 區域轉發:僅轉發對某特定區域的解析請求;

zone "ZONE_NAME" IN {

type forward;

forward {first|only};

forwarders { SERVER_IP; };

};

first:首先轉發;轉發器不響應時,自行去迭代查詢;

only:只轉發;

(2) 全局轉發:針對凡本地沒有通過zone定義的區域查詢請求,通通轉給某轉發器;

options {

... ...

forward {only|first};

forwarders { SERVER_IP; };

.. ...

};

五、基本安全控制bind中的安全相關的配置

1、BIND配置文件語法介紹

(1)acl語句

acl 語句的定義和使用

acl 語句給一個地址匹配表賦予了一個象征名稱。它的名字來自於地址匹配列表的最基本功能:訪問控制表列(ACLs)。

acl:訪問控制列表;把一個或多個地址歸並一個命名的集合,隨後通過此名稱即可對此集全內的所有主機實現統一調用;

acl acl_name {

ip;

net/prelen;

};

示例:

acl mynet {

172.16.0.0/16;

127.0.0.0/8;

};

注意:一個地址表名必須首先在acl中定義了,然後才能在別處使用;提前調用是不允許的。

acl acl-name { address_match_list };

bind有四個內置的acl:

any 匹配所有主機

none 不匹配任何主機

ocalhost 匹配主機上所有IPV4的網絡接口

localnets 匹配所有IPV4本地網絡的主機

2、訪問控制指令:

allow-query {}; 允許查詢的主機;白名單;

allow-transfer {};

允許向哪些主機做區域傳送;默認為向所有主機;應該配置僅允許從服務器;

allow-recursion {}; 允許哪此主機向當前DNS服務器發起遞歸查詢請求;

allow-update {}; DDNS,允許動態更新區域數據庫文件中內容;

Copyright © Linux教程網 All Rights Reserved