前面两篇DNS文件讲解了基本的安装配置和主从复制:

本文将深入讲解DNS服务器bind98的高级用法,主要包括:

DNS转发配置

ACL应用与配置

使用bind实现智能DNS

BIND日志系统介绍

一、DNS转发:

在DNS服务器的配置中,如果采用默认的配置,其实效率是较低的,因为默认情况下,我们所有的非权威解析都会被发送到根服务器进行迭代查询。如果采用转发,如将我们的DNS解析请求转发到一些公共DNS服务器上,由于公共DNS服务器上缓存了大量的解析,因此能较原始的迭代查询快。

全局转发:

作用:实现对非权威解析(已缓存的除外)都转发到特定DNS服务器

配置办法:

options {

……其他配置省略……

forwarders { 202.96.134.133;8.8.8.8; };

};

如果仅设置“forwarders”,则在无法联系转发器时,就会尝试自己解析,即转发到根服务器迭代查询实现解析(如果配置有根zone)。

如果想服务器在联系不到转发器时不进行多余操作,则可以加上“forward only; ”(如下:);这样如果联系不上转发器是,服务器将只查询权威解析和本地缓存的解析。

options {

……其他配置省略……

forwarders { 202.96.134.133;8.8.8.8; };

forward only;

};

区域转发:

从BIND9.1开始,引入一个新特新:转发区(forward zone ),及允许查询特定区域时,将其转发到指定DNS服务器上。

配置方法:

zone "com" {

type master;

file "named.com";

forwarders { 192.35.51.30;192.5.6.30; };

};

如上,我们可以将某个域的解析直接转发到其权威服务器上,可以实现快速解析。

二、ACL应用与配置:

在named.conf的全局配置中,有如下这样的一行定义允许为那些客户端进行递归查询:

options {

……其他配置省略……

allow-query { 192.168.8.0/24; };

};

我在测试时只允许了这一个IP段,如果是大型企业或者公网,我们需要允许的客户端有数十个IP段时,这里会写很长,而且如果在多个地方需要用到,则需写多次,配置相当麻烦,且影响查看。因此引入ACL,可以实现集中定义,所有位置均可引用。ACL类似程序开发中的函数。

配置方法:

acl ACL_NAME {

;  //每个网络范围一行,可以包含多行

};

如:

acl trust {

172.16.100.0/24;

10.35.0.0/24;

192.168.0.0/24;

127.0.0.1;

};

options {

allow-query { trust; };   //引用上面定义的ACL

……其他配置省略……

};

在下面的自建智能DNS中,我们将会再次应用到ACL。

三、使用bind实现智能DNS:

要实现智能DNS解析,如联通客户端解析到联通IP,电信客户端解析到电信IP,实现起来并不难,具体如下:

获取各运营商(如电信、联通等)IP列表

为web服务器配置多个网络出口(IP)

配置智能解析DNS

要实现DNS服务器的智能解析,需要先理解一个概念:view

view就是将不同IP地址段发来的查询响应到不同的DNS解析。例如需要对2个不同IP地址段进行配置,就需要明确这些IP地址段,这样View功能才会有效。需要注意的是,一旦使用view,所有域都必须定义在view。

下面我们就以网段192.168.1.0/24来模拟电信网络;192.168.8.0/24模拟联通网络进行测试:

配置named.conf:

acl "telecom" {

192.168.1.0/24;

};

options {

listen-on port 53 { 192.168.8.101; };

allow-query { any; };

directory "/var/named";

notify yes;

};

view telecom {

match-clients { telecom; };   //引用前面定义的电信网络ACL,指定本view匹配

zone "." IN {

type hint;

file "named.ca";

};

zone "toxingwang.com" IN {

type master;

file "telecom.toxingwang.com";   //定义本view对应的数据文件

};

};

view unicom {

match-clients { any; };    //定义除了电信网络外的其他网络

zone "." IN {

type hint;

file "named.ca";

};

zone "toxingwang.com" IN {

type master;

file "unicom.toxingwang.com";   //指定本view对应的数据文件

};

};

配置数据文件:

电信view对应数据文件

[root@ns named]# vi /var/named/telecom.toxingwang.com   ##电信view对应数据文件

$TTL 1H

@ IN SOA ns.toxingwang.com. admin.toxingwang.com. (

2013081703 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

IN NS ns.toxingwang.com.

IN NS ns2.toxingwang.com.

IN MX 10 mail.toxingwang.com.

ns IN A 192.168.8.101

ns2 IN A 192.168.8.100

www IN A 192.168.1.2

mail IN A 192.168.1.3

www2 IN CNAME www.toxingwang.com.

blog IN A 192.168.1.4

其他view对应数据文件:

[root@ns named]# vi /var/named/unicom.toxingwang.com

$TTL 1H

@ IN SOA ns.toxingwang.com. admin.toxingwang.com. (

2013081703 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

IN NS ns.toxingwang.com.

IN NS ns2.toxingwang.com.

IN MX 10 mail.toxingwang.com.

ns IN A 192.168.8.101

ns2 IN A 192.168.8.100

www IN A 192.168.8.2

mail IN A 192.168.8.3

www2 IN CNAME www.toxingwang.com.

blog IN A 192.168.8.4

重启服务器生效。

客户端测试:

192.168.1.0/24段客户端测试:

192.168.8.0/24段客户端测试:

因此,如果将公网上的电信IP列表写入ACL中,且本DNS服务器放置在公网上为toxingwang.com提供解析,则不同网络的客户端DNS请求会得到不同的结果。一个智能DNS就实现了。

四、BIND日志系统:

……更新中……

linux+dns的acl,DNS服务器之三:DNS高级用法(DNS转发、ACL、智能DNS及日志系统) | 旺旺知识库...相关推荐

  1. 实现DNS主从复制、子域、转发、智能DNS

    主从复制 #前提准备:关闭SElinux 关闭防火墙 时间同步 #环境说明:Centos7 #ip地址:dns-master:10.0.0.100  dns-slave:10.0.0.103  web ...

  2. Linux工作笔记029---Centos7.3 服务器下查看tomcat服务是否启动,重启,查看错误日志等基本操作

    JAVA技术交流QQ群:170933152 启动:一般是执行sh tomcat/bin/startup.sh  停止:一般是执行sh tomcat/bin/shutdown.sh脚本命令  查看:执行 ...

  3. Linux随笔16-主从DNS服务搭建以及智能DNS服务搭建、基于CentOS7.6编译安装MySQL-5.7.32

    Contents 1. DNS主从服务器搭建 1.1. DNS简介 1.2. DNS主从服务搭建 1.2.1. 主DNS服务器配置 1.2.2. 从DNS服务器配置 1.2.3. Web服务器准备 1 ...

  4. 实易智能DNS单台设备QPS高达28万

    在国内某电子商务旗舰企业11月智能DNS采购入围测试中,通过专业测试仪,实易智能DNS单台设备QPS峰值高达28w,稳定在24W,遥遥领先国内在测同类产品.测试数据达到国际领先水平,得到了用户的认可. ...

  5. 双线机房双网卡双ip DNSpod智能DNS解析和路由设置

    为了能够让北方网通和南方电信用户都可以快速的访问网站,解决办法就是托管 到双线机房. 双线机房有两类: 一类是通过BGP技术实现互联互通,服务器只需要一个网卡一个IP地址就可以了,由机房进行路由的智能 ...

  6. ACL访问控制列表 基础、创建ACL访问控制列表的两种方式、配置ACL访问控制列表规则、修改ACL规则的默认步长。子网掩码、反掩码、通配符掩码的区别和作用。

    目录 ACL的组成: 创建ACL访问控制列表的两种的方式: 1.数字命名: 2.字符串命名方式: ACL创建步骤: 1.先创建ACL列表: 进入acl列表: 2.配置ACL的一条条规则: 3.进入需要 ...

  7. dns日志级别 linux,linux下DNS服务器视图view及日志系统详解

    linux下DNS服务器视图view及日志系统详解DNS服务器ACL:在named.conf文件中定义ACL功能如同bash当中定义变量,便于后续引用 ACL格式: acl ACL名称 { IP地址1 ...

  8. Linux的DNS配置2-主从服务器

    1.实验背景 之前写了Linux的DNS配置1-DNS入门,其中只用了一台DNS服务器,但一般在大型网络中,都要通过配置辅助DNS服务器可以提高DNS服务的可靠性,本次实验即配置DNS主从服务器 2. ...

  9. Linux系统下智能DNS服务器BIND9.7.2安装配置

    以下安装配置是在192.168.100.87服务器上实施的操作记录. 1.从http://www.isc.org/products/BIND/bind9.html下载bind9的源文件.目前版本为9. ...

最新文章

  1. SpringBoot 中 @RestController 和 @Controller 的区别
  2. 如何手动完成一次APK打包?----APK编译全过程
  3. JAVA中System.out.println和System.out.print有什么区别
  4. 危!我用python克隆了女朋友的声音!
  5. vue预加载动态生成runtime.js_预渲染 prerender-spa-plugin 避坑指南
  6. FastStoneCapture屏幕截图软件
  7. 小米公布Q1手机出货量:驳斥暴跌谣言
  8. Trie(字典)树详解
  9. oracle 存储过程 发送WebServie 请求
  10. 在SQLServer软件导入文件与数据查询
  11. 抖音:运营与商业模式分析
  12. 王道中数据结构的排序算法
  13. 高性能服务器设计——常用网络服务器设计模型
  14. java如何实现动态时钟_Java实现动态数字时钟
  15. skylake服务器处理器M系列,配i系列Skylake处理器!华硕U305评测
  16. python常遇错误-IndexError: list index out of range
  17. PAT (Advanced Level) Practice 题解代码 - II (1051-1100)
  18. Spring Boot 使用AES前后端传递参数加解密
  19. 残缺棋盘问题 C语言 算法
  20. c++ 三只小猪称体重(二)

热门文章

  1. 天秀!GitHub 硬核项目:动漫生成器让照片秒变手绘日漫风!!!
  2. 在汽车控制器应用最广最多的芯片之一-英飞凌-AURIX架构
  3. React + Springboot + Quartz,从0实现Excel报表自动化
  4. 解决win10外接高分辨率显示器,软件界面字体模糊问题
  5. python统计元音字母个数_统计字符串中各元音字母(即A,E,I,O,U)的个数。
  6. 译:Convolutional Two-Stream Network Fusion for Video Action Recognition
  7. 《恋恋笔记本》观后感
  8. kubernetes安装脚本-非高可用版。一键安装含Master和Node。
  9. H5游戏定制开发要点全解析
  10. 保研/面试复习-数据结构与算法-万字总结(近三万字)