视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
利用bind9架设智能DNSPostgreSQL数据库篇
2020-11-09 11:57:14 责编:小采
文档


利用bind9架设智能DNSmdash;mdash;PostgreSQL数据库篇

智能DNS工作原理:

在用户解析一个域名的时候,判断一下用户的IP,然后跟DNS服务器内部的IP表匹配一下,看看用户是电信还是网通用户,然后给用户返回对应的IP地址。目前的域名服务运营商不提供智能DNS服务,所以必须自行架设DNS服务或者使用网上免费的智能DNS服务,,如DNSPOD

本实例中我架设的是一个简单的内外解析模式,如果需要增加其他类别(电信、网通)只需添加对于的 view 即可。

bind 在很早以前就已经集成了bind-dlz 数据库模块,可支持sqllit、bdb Mysql PostgreSQL ODBC LDAP等数据源,详见:

本次架设采用PostgreSQL作为数据源实现,数据库已经准备完毕(可使用已有的数据库系统,创建一个新库即可)。

1、配置说明
两个view
local 内部网络
any 其他(公网)


2、创建数据库、表并添加基本记录记录

# zone sample.com

其他域名的添加方式类似,将zone项替换为对于的域名即可

3、bind 编译安装及配置

rpm包默认不支持dlz模式,需要使用源码编译

  • 以下安装路径为系统默认路径

    配置文件 /etc/named.conf

    其他配置文件路径 /etc/named/

    4、创建相关配置文件

    查看是否存在 /etc/rndc.key 文件,如果没有就生成一个
    rndc-confgen -a -c rndc.key

    默认的rndc.key 文件中的key名称 好像是 rndckey

    手动生成的key名称是 rndc-key

    key的名称一定要一致,否则会出现不能使用 rndc 刷新、不能同步的问题。

    使用 dnssec-keygen 生成view TSIG key

  • dnssec-keygen -a hmac-md5 -b 128 -n HOST local
  • dnssec-keygen -a hmac-md5 -b 128 -n HOST any
  • 将生成的key 填入named.conf 对应的位置

    如:

    详细见下面的完整配置文件,该配置文件包含文件存储和数据库两种方式(数据库存储已经注视掉),文件存储方式已经包含master slave 之间的TSIG 方式同步。

    及在不同的view中使用各自key进行同步。

    完整 named.conf 内容

    下载本文
    显示全文
    专题