mydns安装测试

来源:互联网 发布:python 多线程实例 编辑:程序博客网 时间:2024/05/31 05:29
 
mydns安装测试
mydns安装测试

公司域名系统几年来一直通过文本文件进行管理,效率低,出错率高。为了改善这种情况,准备通过数据库对域名进行管理和解析。经过一周多的软件选型,决定采用mydns(估计几大虚拟主机服务商均采用此软件)。

一、简介:
MyDNS是一个UNIX平台下的免费DNS服务器端软件。它被设计成直接从数据库中读取DNS记录软件,并且修改记录后也可时时生效。

二、安装环境:
OS:   Redhat As3.0
Kernel: 2.4.21-4.ELsmp

三、所需软件:
1.MySQL4.0.20        http://www.mysql.com
2.mydns-0.11.0        http://mydns.bboy.net

四、安装步骤:

1. 前提:
mysql已安装完成(参考mysql安装).

2. 编译安装
  ./configure
  make
  make install(root)

默认情况下Mydns将被安装到‘/usr/local/sbin/mydns’


3. 创建数据库

CREATE DATABASE mydns; 

4. 创建数据表

CREATE TABLE soa (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
origin CHAR(255) NOT NULL,
ns CHAR(255) NOT NULL,
mbox CHAR(255) NOT NULL,
serial INT UNSIGNED NOT NULL DEFAULT '1',
refresh INT UNSIGNED NOT NULL DEFAULT '36000',
retry INT UNSIGNED NOT NULL DEFAULT '7200',
expire INT UNSIGNED NOT NULL DEFAULT '5184000',
minimum INT UNSIGNED NOT NULL DEFAULT '36000',
ttl INT UNSIGNED NOT NULL DEFAULT '36000'
) TYPE=MyISAM;

CREATE TABLE rr (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
zone INT UNSIGNED NOT NULL,
name CHAR(64) NOT NULL,
type ENUM('A','AAAA','CNAME','HINFO','MX','NS','PTR','RP','SRV','TXT') NOT NULL,
data CHAR(128) NOT NULL,
aux INT UNSIGNED NOT NULL,
ttl INT UNSIGNED NOT NULL DEFAULT '36000'
) TYPE=MyISAM;

5. 创建授权帐号

INSERT INTO user VALUES(...);

6. 创建并修改配置文件

/usr/local/sbin/mydns --dump-config > /etc/mydns.conf(注意配置文件的权限)

修改DATABASE INFORMATION部分
db-host = localhost # SQL server hostname
db-user = mydns # SQL server username
db-password = 123456 # SQL server password
database = mydns # MyDNS database name

7. 插入测试数据

INSERT INTO soa VALUES (1,'raidcheng.net.','ns.east.net.','root.ns.east.net.',2004091301,36000,7200,5184000,36000,36000);

INSERT INTO rr VALUES (1,1,'','MX','1.2.3.4.',50,36000);
INSERT INTO rr VALUES (2,1,'','MX','1.2.3.5.',50,36000);
INSERT INTO rr VALUES (3,1,'','A','1.2.3.4',0,36000);
INSERT INTO rr VALUES (4,1,'www','A','1.2.3.4',0,36000);
INSERT INTO rr VALUES (5,1,'ftp','CNAME','www.raidcheng.net.',50,36000);
INSERT INTO rr VALUES (6,1,'sub','NS','1.2.3.4.',50,36000);

8. 创建系统帐号
groupadd -g 600 mydns
useradd -u 600 -g 600 mydns

9. 启动mydns
/usr/local/sbin/mydns &

测试后一切正常,加入新记录后无须重起即可生效。

10. 几点注意:

(1)、ns类型仅对子域名生效。
(2)、类型为'A',DATA为'IP'则记录结尾不以.结束(1.1.1.1)。其它情况全以.结束
  (a.com.,1.1.1.1.)。
(3)、类型为'CNAME'只能允许一条记录,其它可允许多条记录。

五、参考文档

mydns手册