对我来说,绑定更好。这是很容易配置的,您不需要重新启动绑定,除非您升级软件。对于BIND,您应该查看的是rndc命令。Rndc允许您重新加载单个区域,同时让BIND运行。如果您已经编辑了zonefile,rndc将立即发布更改。
绑定绝对有可能从数据库中运行。您需要在./配置步骤中指定一些步骤。
我有一些很好的说明,但都是俄文的。我试着写一份行动计划。
- 假设MySQL服务器已经安装和配置好了.
- 从off下载mysql-绑定项目。站点http://mysql-bind.sourceforge.net/ (在那里,我们需要两个文件: mysqldb.c和mysqldb.h)。
- 跳转到下载文件的文件夹解压缩: cd ~/ -xzf / tar mysql-bind.tar.gz
- 跳转到端口并下载源bind9 (您的mysql版本是为该服务设计的)。而不是编译!cd /usr/port/dns/bind9 9使提取提取
- 复制下载的文件mysql-绑定到绑定的源代码: cp ~/ /usr/ports/dns/bind9/work/bind-x.x.x/bin/named/ /mysqldb.c、cp ~/ /usr/ports/dns/bind9/work/bind-x.x.x/bin/named/include/named/ /mysqldb.h/usr/ports/dns/bind9/work/bind-x.x.x/bin/named/include/named/
- 跳转到源代码(work /bind)文件夹,并进行以下更改: a)文件bin/named/Makefile.in read: DBDRIVER_OBJS =mysqldb。@O@ DBDRIVER_SRCS = mysqldb.c运行命令
mysql_config -cflags并将输出写入变量DBDRIVER_INCLUDES (例如:DBDRIVER_INCLUDES = -I/usr/local/include/mysql -fno-strict-aliasing -pipe),运行命令mysql_config -libs,并将输出写入文件bin/named/main.c:中的变量DBDRIVER_LIBS (例如:DBDRIVER_LIBS = -L/usr/local/lib/mysql-lmysqlclient-lz-lcrypt-lm) b中。- 添加头文件#包括
<named/mysqldb.h> - 在函数
setup()中,在行ns_server_create()之前添加一个调用mysqldb_init()。 - 在函数
cleanup()中,在ns_server_destroy()之后添加mysqldb_clear();。
- 安装绑定: cd /usr/port/dns/bind
- 为每个区域创建其表mysql:创建表table_name (名称varchar(255)默认空,ttl int(11)默认空,rdtype varchar(255)默认空,rdata varchar(255)默认空) TYPE=MyISAM;
- 为区域创建必要的记录:插入到table_name值中( 'mydomain.com ',259200,'SOA',‘mydomain.com’。webmaster.mydomain.com。2008092901 28800 7200 86400 28800‘;插入table_name值('mydomain.com',259200,'NS','ns0.mydomain.com.');插入table_name值('mydomain.com',259200,'NS','ns1.mydomain.com.');插入table_name值('mydomain.com',259200,'MX','10 mail.mydomain.com.');插入table_name值('w0.mydomain.com',259200,'A','192.168.1.1');插入table_name值('w1.mydomain.com',259200,'A','192.168.1.2');
- 在named.conf文件中指定正确的区域:区域"smol.website.ru“{键入主机;通知否;数据库"mysqldb database_name table_name mysql_ip_address登录密码”;};
- 特别注意,在最后一行应该指定用户名和密码。信息以未加密的形式存储,这当然是危险的!因此有两种方法:将代码保存在编码代码中或在数据库中创建用户登录名-“bind”和pass-"bind“并将其置于特权选择中。
- 我为我的英语道歉。希望这能有所帮助。
- 该指令是为freebsd编写的,对于Linux应该类似。