利用PowerDNS搭建免费DNS服务器 附PowerDNS安装配置全过程

出于各种原因,我们很多用户可能需要自己搭建DNS服务器,搭建的方法有各种,国外主机优惠有幸接触到免费开源的PowerDNS系统,可以帮助我们在Windows和Linux上搭建免费DNS服务器。公众对于PowerDNS介绍是这样的,国外主机优惠就复制原话\”PowerDNS是一个跨平台的开源DNS服务组件,PowerDNS同时有Windows和Linux/Unix的版本。PowerDNS在Windows下可以使用Access的mdb文件记录DNS信息,然后在Linux/Unix下则可以使用MySQL来记录DNS信息。\”

本来是在国外的博客中有看到介绍以及安装方法的,但由于信息可能过时,或者是国外主机优惠技不如人琢磨了2天时间才完整的搭建成功,然后再重新安装一遍VPS,已完成这篇文章的撰写。至少我可以保证这篇PowerDNS搭建过程是自己成功演练下进行的,这篇文章是基于centos 6 32位完成的,记录如下。

第一、安装MYSQL服务组件

因为PowerDNS是需要用到MYSQL数据库存储数据的,所以需要搭建MYSQL数据库环境。

yum -y install mysql mysql-server #安装MYSQL
chkconfig –levels 235 mysqld on #设置开机启动
/etc/init.d/mysqld start

修改root用户mysql密码

mysqladmin -u root passwordmyrootpassword

第二、安装PowerDNS

yum install wget
wget https://soft.laozuo.org/powerdns/epel-release-6-8.noarch.rpm
rpm -Uvh ./epel-release-6-8.noarch.rpm

yum install pdns pdns-backend-mysql

连接MYSQL,创建数据库

mysql -u root -p

连接之后,输入我们上面设置的密码登录MYSQL,之后开始创建数据库和用户

create database powerdns; #创建数据库

#创建数据库用户power_user ,并且设置www.laozuo.org为密码,我们设置的时候修改成自己的密码

grant all onpowerdns.* to\’power_user\’@\’localhost\’ identified by\’www.laozuo.org\’;
flush privileges;

#创建数据表

use powerdns;
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));

create unique index name_index on domains(name);
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));

create index rec_name_index on records(name);
create index nametype_index on records(name,type);
create index domain_id on records(domain_id);

create table supermasters (
ip varchar(25) not null,
nameserver varchar(255) not null,
account varchar(40) default null);

#退出当前MYSQL管理

quit;

第三、编辑vi /etc/pdns/pdns.conf配置文件

launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=power_user
gmysql-password=www.laozuo.org
gmysql-dbname=powerdns

添加上述至pdns.conf最后,注意修改上面的数据库用户名以及密码对照上面设置的。

设置开机自动启动PowerDNS

chkconfig –levels 235 pdns on
/etc/init.d/pdns start

到目前为止,我们POWERDNS已经安装完毕,我们后面需要安装WEB管理界面。

第四、安装PowerAdmin管理平台

A – 安装PHP环境

yum -y install httpd php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mhash gettext

设置开机启动apache

chkconfig –levels 235 httpd on
/etc/init.d/httpd start

B – 安装环境需要的2个支持组件

yum install php-pear-DB php-pear-MDB2-Driver-mysql

C – 安装PowerAdmin

以上A,B都完成PowerAdmin 需要支持的环境,这里我们安装最新poweradmin-2.1.7版本包

cd /tmp
wgethttps://soft.laozuo.org/powerdns/poweradmin-2.1.7.tgz

tar zxvfpoweradmin-2.1.7
mv poweradmin-2.1.7 /var/www/html/poweradmin
touch /var/www/html/poweradmin/inc/config.inc.php
chown -R apache:apache /var/www/html/poweradmin/

我们先导临时文件夹tmp中下载和解压最新版本poweradmin-2.1.7,然后移动到VAR/WWW/HTML目录下。

这样完毕之后,我们可以用自己VPS的IP地址/poweradmin/install/打开POWERDNS安装向导。

第五、安装PowerAdmin向导

这里我们看上图,选择第一个英文语言,后面我们在设置账户登录时候可以选择CHINESE。

这里输入的是设置的数据库信息,以及设置Poweradmin面板密码。

设置数据库用户信息,以及DNS的域名服务器信息。

然后一直确定到最后,需要删除install/目录文件,然后在ip地址/poweradmin/登录POWERDNS面板。

面板管理用户名admin,密码为我们之前设置的,可以选择CHINESE中文面板。

到目前为止,我们已经看到PowerDNS全部安装完毕,而且可以登录管理界面。因为是演示操作,所以数据库我这里用的root信息,如果我们真实搭建时候需要单独一个用户信息,确保账户的安全。对于如何使用,如果以后有时间写一篇补充应用方法,一般会用的朋友应该自己能琢磨。