Linux mint 14下的powerDNS+mysql+powerAdmin搭建个性DNS域名解析服务器

最近小编我在自己的pc上安装了linux mint 14桌面版操作系统,就像试试这个桌面版的操作系统能不能实现服务器系统的性能,整好我最近在尝试使用一种新的搭建dns服务器的方法(不使用bind),香港服务器租用,powerDns+mysql+powerAdmin,这种dns服务器易于管理,因为有web页面可一直接添加、修改、更新和删除域或者记录,于是小编我就开始动手做了。

setp 1:准备工作,你需要下载相应的软件包啦,PowerDNS,Mysql,PowerAdmin,但是很是庆幸啊,这个桌面版的mint是基于ubuntu开发而来的,安装软件的方式和ubuntu是一致的,ubuntu的软件仓库可是各种的软件都有啊,小编我是着实体验了一把傻瓜似的安装享受,但是要提醒的是你的现更新以下本地的软件列表库,不然你要搜索安装的软件可能不存在的

#apt-get update

step 2:安装mysql,因为powerDns的域和记录等信息都是记录在mysql数据库中的,所有mysql是必不可少的

# apt-get -y install mysql-server mysql-client

又因为mysql默认是绑定自己环回地址的,这样我们在外界管理是管理不到的,我们可以修改一下mysql的配置文件以取消地址绑定,这里我们可以使用sed编辑器来修改,当然也可以直接用vi编辑器

# sed -i -e ‘s/bind-address/#bind-address/’ /etc/mysql/my.cnf

启动mysql

# service mysql start

之后可以查看一下mysql的启动状态,如果发现3306端口启动了就说明mysql启动没问题了

# netstat -tupln |grep mysql

step 3:安装powerDns

# apt-get -y install pdns-server pdns-backend-mysql

安装完成之后要进行相应的配置来让powerDns支持mysql,powerDns官方提供了一个安装说明文档

下载打开之后找到如下页面

可以看到相关mysql配置修改 etc/powerdns/pdns.conf文件内容,将原有”#launch=gmysql“的”#“去掉,并且添加以下内容

gmysql-host=127.0.0.1

gmysql-user=powerdns //这里的user是安装powerDns时系统生成的 gmysql-password=123456

gmysql-dbname=dnsdb //powerDns的数据库名在后面要使用mysql创建

step 4:新建powerDns数据库dnsdb(名字可以任意取,但是要和上面提到的pdns.conf配置文件的内容一致)

打开mysql

cmq-ThinkPad-R400 cmq # mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 51

Server version: 5.5.29-0ubuntu0.12.10.1 (Ubuntu)

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

#建立一个名为dnsdb的数据库用于存储PowerDNS的数据。

mysql> create database dnsdb;

#给用户pdnsuser(这个用户要使用useradd创建)授予操作dnsdb数据库的全部权限。

mysql> GRANT ALL ON dnsdb.* TO ‘pdnsuser’@’localhost’ IDENTIFIED BY ‘123456’;

mysql> GRANT ALL ON dnsdb.* TO ‘pdnsuser’@’localhost.localdomain’ IDENTIFIED BY ‘123456’;

mysql> FLUSH PRIVILEGES;

#创建相应的表,用以存放域、记录等,读者可能会想,我哪知道数据字典的格式啊,别担心,官方文档是有地,网站空间,直接复制粘贴就是了

先切换到dnsdb

mysql > use dnsdb;

创建域表

mysql > CREATE TABLE domains (

id INT auto_increment,

name VARCHAR(255) NOT NULL,

master VARCHAR(128) DEFAULT NULL,

last_check INT DEFAULT NULL,

type VARCHAR(6) NOT NULL,

notified_serial INT DEFAULT NULL,

account VARCHAR(40) DEFAULT NULL,

primary key (id)

);

创建记录表

mysql > CREATE TABLE records (

id INT auto_increment,domain_id INT DEFAULT NULL,

name VARCHAR(255) DEFAULT NULL,

type VARCHAR(6) DEFAULT NULL,

content VARCHAR(255) DEFAULT NULL,

ttl INT DEFAULT NULL,

prio INT DEFAULT NULL,

change_date INT DEFAULT NULL,

primary key(id)

);

创建supermesters

mysql > CREATE TABLE supermasters (

ip VARCHAR(25) NOT NULL,

nameserver VARCHAR(255) NOT NULL,

account VARCHAR(40) DEFAULT NULL

);

当然官方操作文档还提供了相应的优化机制,就是创建一些索引

mysql > CREATE INDEX rec_name_index ON records(name);

mysql > CREATE INDEX nametype_index ON records(name,type);

mysql > CREATE INDEX domain_id ON records(domain_id);

插入几条测试记录

INSERT INTO domains (name, type) values ("test.com", "NATIVE");

INSERT INTO records (domain_id, name, content, type,ttl,prio)

VALUES (1,"test.com","localhost ahu@ds9a.nl 1","SOA",86400,NULL);

INSERT INTO records (domain_id, name, content, type,ttl,prio)

VALUES (1,"test.com","dns-us1.powerdns.net","NS",86400,NULL);

INSERT INTO records (domain_id, name, content, type,ttl,prio)

VALUES (1,"test.com","dns-eu1.powerdns.net","NS",86400,NULL);

INSERT INTO records (domain_id, name, content, type,ttl,prio)

VALUES (1,"","199.198.197.196","A",120,NULL);

INSERT INTO records (domain_id, name, content, type,ttl,prio)

VALUES (1,"mail.test.com","195.194.193.192","A",120,NULL);

INSERT INTO records (domain_id, name, content, type,ttl,prio)

VALUES (1,"localhost.test.com","127.0.0.1","A",120,NULL);

INSERT INTO records (domain_id, name, content, type,ttl,prio)

VALUES (1,"test.com","mail.test.com","MX",120,25);

step 5:重新启动powerDns

#service pdns retstart

step 6:测试,解析方式有很多host、nslookup、dig等等

cmq-ThinkPad-R400 cmq # host

is an alias for test.blockdos.com.

test.blockdos.com is an alias for test.3dnsgeo.com.

test.3dnsgeo.com has address 50.23.225.49

test.3dnsgeo.com has address 174.36.85.72

成功啦乡亲们!!!!

我喜欢旅游,喜欢离开自己过腻歪的城市,

Linux mint 14下的powerDNS+mysql+powerAdmin搭建个性DNS域名解析服务器

相关文章:

你感兴趣的文章:

标签云: