最近小编我在自己的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
成功啦乡亲们!!!!
我喜欢旅游,喜欢离开自己过腻歪的城市,