Maison > base de données > tutoriel mysql > 利用bind9架设智能DNSPostgreSQL数据库篇

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

WBOY
Libérer: 2016-06-07 17:04:23
original
1689 Les gens l'ont consulté

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

    Étiquettes associées:
    source:php.cn
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal