Home > Database > Mysql Tutorial > 利用bind9架设智能DNSPostgreSQL数据库篇

利用bind9架设智能DNSPostgreSQL数据库篇

WBOY
Release: 2016-06-07 17:04:23
Original
1689 people have browsed it

利用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 内容

    linux

    Related labels:
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template