#---named.conf---#
// Define Global Variables
include "/fgn/services/mydns/etc/rndc.key";
options {
directory "/fgn/services/mydns/etc/";
recursion yes;
max-cache-size 3355443200;
auth-nxdomain yes;
transfer-format one-answer;
version "[secured]";
allow-query {any;};
files 102400;
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; };
};
logging {
channel query_log {
file "/var/log/named.log" versions 3 ;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
category queries {
query_log;
};
};
//Access Control Rules
include "/fgn/services/mydns/etc/rules.conf";
//Dynamic Load Zone
include "/fgn/services/mydns/etc/zones.conf";
#---rndc.key---#
./sbin/rndc-confgen -a
#---zones.conf---#
view "rg_anhui_cnc" {
match-clients { rg_anhui_cnc; };
dlz "Mysql zone" {
database "mysql
{host=localhost dbname=mydns port=3306 user=mydns pass=mydns}
{select zone from rg_anhui_cnc where zone = '%zone%' limit 1}
{select ttl, type, mx_priority, data, resp_person, serial, refresh,
retry, expire, minimum, flimit, ftype, fdata from rg_anhui_cnc where zone ='%zone%' and host = '%record%'}";
};
};
#---rg_any.sql---#
create database mydns
use mysql
grant all on mydns.* to mydns@localhost identified by'mydns';
grant all on mydns.* to mydns@127.0.0.1 identified by'mydns';
use mydns
#创建表
DROP TABLE IF EXISTS `rg_any`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `rg_any` (
`id` int(10) unsigned NOT NULL auto_increment,
`zone` varchar(255) NOT NULL,
`host` varchar(255) NOT NULL default '@',
`type` varchar(6) NOT NULL,
`data` varchar(255) NOT NULL,
`ttl` int(11) NOT NULL default '86400',
`mx_priority` varchar(6) default NULL,
`flimit` int(11) default NULL,
`ftype` varchar(6) default NULL,
`fdata` varchar(255) default NULL,
`refresh` int(11) default NULL,
`retry` int(11) default NULL,
`expire` int(11) default NULL,
`minimum` int(11) default NULL,
`serial` bigint(20) default NULL,
`resp_person` varchar(255) default NULL,
PRIMARY KEY (`id`),
KEY `host_index` (`host`),
KEY `zone_index` (`zone`),
KEY `type_index` (`type`)
) ENGINE=MyISAM AUTO_INCREMENT=216 DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;
#---检查配置文件是否正确---#
./sbin/named-checkconf
#---named---#
#---启动named---#
/usr/local/sbin/mydns/sbin/named -4 -n 1 -S 52428
-4 :指定用于ipv4
-n:指定线程数为 1
-S:指定连接数 5242
#---常见问题---#
/usr/local/mydns/sbin/named: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory
/etc/ld.so.conf添加一行
/usr/local/mysql/lib/mysql
ldconfig
ldconfig -p| grep 'libmysqlclient.so.15'
#---recursion---#
作为cache缓存一定要开递归
forwarders { 1.1.1.1; };
recursion yes;
forward only;