powerdns的安装与配置

  • A+
所属分类:运维工具

PowerDNS 是一个跨平台的开源DNS服务组件,PowerDNS同时有Win32和Linux/Unix的版本。 PowerDNS在Win32下使用 Access的mdb文件记录DNS信息,而在Linux/Unix下则使用MySQL来记录DNS信息。无论是mdb亦或MySQL,备份是非常方便的 事情

安装步骤:

1、安装mysql

yum -y install mysql mysql-server

2、开机启动

chkconfig --levels 235 mysqld on

/etc/init.d/mysqld start

 

3、修改mysql root密码:

mysqladmin -u root password

 

4、安装pdns

yum -y install pdns pdns-backend-mysql

 

5、创建powerdns数据库:

CREATE DATABASE powerdns;

6、 为PowerDNS创建powerdns数据库用户:

GRANT ALL ON powerdns.* TO 'power_admin'@'localhost' IDENTIFIED BY '************';

FLUSH PRIVILEGES;

7、现在创建数据表:

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

);

8、  现在配置PowerDNS以使用mysql后端

vi /etc/pdns/pdns.conf

######添加#######

 

launch=gmysql

gmysql-host=127.0.0.1

gmysql-user=power_admin

gmysql-password=************

gmysql-dbname=powerdns

 

9、安装Poweradmin的所需要的包

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

 

10、设置apache自启动,并启动apache。

 

chkconfig --levels 235 httpd on

/etc/init.d/httpd start

11、Poweradmin还需要安装两个PEAR软件包。

 

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

 

12、下载powerdnsadmin   poweradmin-2.1.6.tgz

https://www.poweradmin.org/trac/wiki/News/Poweradmin2.1.6Released

 

13、安装在/var/www/html/poweradmin目录。

 

tar xvfz poweradmin-2.1.5.tgz

mv poweradmin-2.1.5 /var/www/html/poweradmin

touch /var/www/html/poweradmin/inc/config.inc.php

chown -R apache:apache /var/www/html/poweradmin/

 

14、开始配置

http://192.168.1.100/poweradmin/install/

web DNS mysql

第二步默认继续

web DNS mysql

 

web DNS mysql

不过如果不执行的话会报错误,嘿嘿,可以尝试下。。。

 

安装完成。

web DNS mysql

After you have removed the directory, you can login to Poweradmin with username "admin" and password "*****l". You are highly encouraged to change these as soon as you are logged in.

 

15、为了安全效果,不过也必须删除,否者产生错误Error: The install/ directory exists, you must remove it first before proceeding.

rm -fr /var/www/html/poweradmin/install/

 

删除之后,刷新页面

 

登录http://192.168.1.100/poweradmin/index.php

 

使用文档后期会逐步推出。。

参考http://www.centos.bz/2011/10/centos-5-install-powerdns-server/

 

 

  • 编辑powerdns 配置文件 /etc/powerdns/pdns.conf ,使其使用mysql 数据库,找到如下字段,修改如下, recursor 表示如果查询的域名不在本机上,则向上级域名服务器查询,查询的地址为8.8.8.8

[...]

# 注释如下行
#################################
# allow-recursion       List of netmasks that are allowed to recurse
allow-recursion
#allow-recursion

#################################
# launch        Which backends to launch and order to query them in
#
# launch=
launch=gmysql
[...]

#################################
# recursor      If recursion is desired, IP address of a recursing nameserver
#
recursor=8.8.8.8

创建普通用户,创建A记录是否可用

1、http://192.168.1.100/poweradmin/ 登录

2、添加用户

web DNS mysql

web DNS mysql

 

3、尝试登录

4、添加A记录

web DNS mysql

5、查看是否已经解析了

web DNS mysql

使用体验

前提条件,将DNS调整为192.168.1.100

Windows条件下:

web DNS mysql

 

Linux条件下:

修改/etc/resolv.conf  文件,改DNS为192.168.1.100

 

添加zone记录

web DNS mysql

web DNS mysql

说明添加成功

 

添加A记录

http://192.168.1.100/poweradmin/index.php?logout

登录powerdns

web DNS mysql

web DNS mysql

说明已经添加上了

 

 

 

 

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: