欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

DNS的子域授权和转发机制,view设置

发布时间:2025/3/21 编程问答 74 豆豆
生活随笔 收集整理的这篇文章主要介绍了 DNS的子域授权和转发机制,view设置 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

   在现实生活中我们世界互联网中的每个主机并不是在同一个域内,而是通过不同的依据将将其划分到不同的“小域”中,犹如一个倒立的树状结构,由一点出发,一层层的向下分成了多个分支,而这些分支就是其上级域的子域,其上级域就是相对的父域,子域是从父域中划出来的一个域,子域中的主DNS服务器负责这个子域中的地址解析,从而减轻了父域中DNS服务器的压力,这不仅提高了解析服务的效率,同样也提高了解析服务的稳定性,此文,我们就来学习怎样给一个域划分出一个子域,并让这个子域中的DNS服务器能够进行子域中的域名解析服务,这个过程也叫做子域授权。

    本次实验我们依然在上次实验的基础上进行,声明一个名为cwlinux.com的域,从cwlinux.com这个域中划分出一个子域test.cwlinux.com,


一、子域授权

(本处只讲解子域在主DNS的划分,从DNS与主DNS相同)

1.在父域cwlinux.com中声明子域test.cwlinux .com

编辑cwlinux.com的文件cwlinux.com.zone 在最后一行加入如下内容


2.创建子域的主配置文件

编辑 /etc/named.rfc1912.zones

// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt // (c)2007 R W Franks // // See /usr/share/doc/bind*/sample/ for example named configuration files. // zone "localhost.localdomain" IN {type master;file "named.localhost";allow-update { none; }; }; zone "localhost" IN {type master;file "named.localhost";allow-update { none; }; }; zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {type master;file "named.loopback";allow-update { none; }; }; zone "1.0.0.127.in-addr.arpa" IN {type master;file "named.loopback";allow-update { none; }; }; zone "0.in-addr.arpa" IN {type master;file "named.empty";allow-update { none; }; }; zone "cwlinux.com" IN {type master;file "cwlinux.com.zone";allow-transfer { 192.168.1.11; };allow-update { none; }; }; zone "1.168.192.in-addr.arpa" IN {type master;file "192.168.1.zone";allow-transfer { 192.168.1.11; };allow-update { none; }; }; 添加下面一条记录 zone "test.cwlinux.com" IN {type master;file "test.cwlinux.com.zone";allow-update { none; }; };



3、创建子域的区域文件(这里只介绍正向解析,反向解析基本相同)

创建正向区域文件test.cwlinux.com.zone

      vim /var/named/test.cwlinux.com.zone,内容如下:


4、重启服务,进行测试

将主机DNS服务器指向自己  

      修改/etc/resolv.conf

      设置nameserver 192.168.1.10

      service named restart

      正向解析测试,出现如下图所示则为正确;



二、DNS转发功能

   我们的DNS在本地指定的DNS找不到解析后,会直接向跟发起请求,为了使根的负载变小,我们可以设置请求转发。

   1.  在/etc/named.conf中可以在options段中使用forwarders和forward指令设置DNS转发:

转发格式

forwarders {
   DNS_IP_1;
   DNS_IP_2;
   };

forwarders指令用于设置将DNS请求转发到哪个服务器,可以指定多个服务器的IP地址


forward

forward first | only;
forward指令用于设置DNS转发的工作方式:
forward first设置优先使用forwarders DNS服务器做域名解析,如果查询不到再使用本地DNS服务器做域名解析。
forward only设置只使用forwarders DNS服务器做域名解析,如果查询不到则返回DNS客户端查询失败


测试www.163.com



转发某特定区域:

编辑 /etc/named.rfc1912.zones

zone "特定区域" IN {

type forward;

forwarders { IP; }

forward only|first;

}

上面如果设置 forwaed only,那就会解析失败,因为192.168.1.11DNS中没这个域名,返回失败信息,如下图


四、智能DNS(DNS View):

   我们知道网通和电信之间进行访问速度比较慢,现在架设服务器一般都是双线的,我们经过DNS的设置,让DNS自动识别客户端IP是网通的还是电信的,网通就访问网通的服务器电信就访问电信的服务器。这里我们假设网通属于192.168.1.0/24这个网段,电信属于172.16.0.0/16这个网段的


4.1 首先定义访问控制

访问控制列表只有定义后才能使用,通常acl要定义在named.conf的最上方

vim /etc/named.conf


4.2 针对不同的IP范围定义DNS视图

vim /etc/named.conf

acl telecom { 172.16.0.0/16; }; // 电信网段用户 acl unicom { 192.168.1.0/24; }; //联通网段用户 options { // listen-on port 53 { any; }; // listen-on-v6 port 53 { ::1; };directory "/var/named";dump-file "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt"; // allow-query { any; };recursion yes;forwarders {192.168.1.1;192.168.1.5;};forward first; // dnssec-enable yes; // dnssec-validation yes; // dnssec-lookaside auto;/* Path to ISC DLV key */ // bindkeys-file "/etc/named.iscdlv.key"; // managed-keys-directory "/var/named/dynamic"; }; view telecom { match-clients { telecom; }; //声明只允许电信用户查询recursion yes; //允许递归查询include "/etc/named.rfc1912.zones";//调用的区域文件zone }; view unicom {match-clients { unicom; }; //声明只允许联通用户查询recursion yes; //允许递归查询include "/etc/named.unicom.zones"; //调用的区域文件zone }; view default { match-clients { any; }; //默认其他网段的用户recursion yes; //允许递归查询include "/etc/named.rfc1912.zones"; //调用的区域文件zone }; logging {channel default_debug {file "data/named.run";


4.3 配置区域文件

vim /etc/named.rfc1912.zones

  添加cwview.com 测试域


创建联通网段的区域文件 /etc/named.unicom.zones

[root@localhostcw ~]# cp -p /etc/named.rfc1912.zones /etc/named.unicom.zones

修改其属组 为named


编辑/etc/named.unicom.zones中的cwview.com域的正向解析文件地址


4.4 创建telecom.cwview.com.zone 和unicom.cwview.com.zone

/var/named/目录下创建联通,电信的正向解析文件


电信:telecom.cwview.com.zone内容如下

$TTL 600 @ IN SOA dns.cwview.com. dnsadmin.cwview.com. (20140314016H30M15D3D )IN NS dnsIN MX 10 mail dns IN A 172.16.2.130 mail IN A 172.16.2.131 www IN A 172.16.2.132


联通:unicom.cwview.com.zone 内容如下

$TTL 600 @ IN SOA dns.cwview.com. dnsadmin.cwview.com. (20140314016H30M15D3D )IN NS dnsIN MX 10 mail dns IN A 192.168.2.130 mail IN A 192.168.2.131 www IN A 192.168.2.132 ~

这2个权限都改成640,属组为named

做完之后进行语法检查named-checkconf,named-checkzone


4.5 重启DNS,测试

dig -t A www.cwview.com @192.168.1.10使用192.168.1.10作为DNS服务器来解析

dig -t A www.cwview.com @172.16.1.2使用172.16.1.2作为DNS服务器来解析

由此可知我们的试验成功,来自不同网络段的IP通过智能DNS(view)解析同一个主机的时候会被解析到不同的Ip上……因此我们的简化版智能DNS配置成功!


转载于:https://blog.51cto.com/584014981/1376537

总结

以上是生活随笔为你收集整理的DNS的子域授权和转发机制,view设置的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。