PowerDNS安装和简单使用

為{幸葍}努か 提交于 2019-11-28 23:00:36

PowerDNS是一个运行在许多Linux/Unix衍生版上的DNS服务器,它可以使用不同的后端进行配置,包括BIND类型的区域文件、关系型数据库,或者负载均衡/失效转移算法。它也可以被配置成一台DNS递归器,作为服务器上的一个独立进程运行

数据库端:192.168.7.105
web端:192.168.7.103

105端:
创建数据库和创建授权访问用户

MariaDB [powerdns]> create database powerdns;  MariaDB [powerdns]> grant all on powerdns.* to user@'%' identified by '123'; 

创建表
官方文档:https://doc.powerdns.com/md/authoritative/backend-generic-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) ) Engine=InnoDB;  CREATE UNIQUE INDEX name_index ON domains(name);   CREATE TABLE records (   id                    BIGINT AUTO_INCREMENT,   domain_id             INT DEFAULT NULL,   name                  VARCHAR(255) DEFAULT NULL,   type                  VARCHAR(10) DEFAULT NULL,   content               VARCHAR(64000) DEFAULT NULL,   ttl                   INT DEFAULT NULL,   prio                  INT DEFAULT NULL,   change_date           INT DEFAULT NULL,   disabled              TINYINT(1) DEFAULT 0,   ordername             VARCHAR(255) BINARY DEFAULT NULL,   auth                  TINYINT(1) DEFAULT 1,   PRIMARY KEY (id) ) Engine=InnoDB;  CREATE INDEX nametype_index ON records(name,type); CREATE INDEX domain_id ON records(domain_id); CREATE INDEX recordorder ON records (domain_id, ordername);   CREATE TABLE supermasters (   ip                    VARCHAR(64) NOT NULL,   nameserver            VARCHAR(255) NOT NULL,   account               VARCHAR(40) NOT NULL,   PRIMARY KEY (ip, nameserver) ) Engine=InnoDB;   CREATE TABLE comments (   id                    INT AUTO_INCREMENT,   domain_id             INT NOT NULL,   name                  VARCHAR(255) NOT NULL,   type                  VARCHAR(10) NOT NULL,   modified_at           INT NOT NULL,   account               VARCHAR(40) NOT NULL,   comment               VARCHAR(64000) NOT NULL,   PRIMARY KEY (id) ) Engine=InnoDB;  CREATE INDEX comments_domain_id_idx ON comments (domain_id); CREATE INDEX comments_name_type_idx ON comments (name, type); CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);   CREATE TABLE domainmetadata (   id                    INT AUTO_INCREMENT,   domain_id             INT NOT NULL,   kind                  VARCHAR(32),   content               TEXT,   PRIMARY KEY (id) ) Engine=InnoDB;  CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind);   CREATE TABLE cryptokeys (   id                    INT AUTO_INCREMENT,   domain_id             INT NOT NULL,   flags                 INT NOT NULL,   active                BOOL,   content               TEXT,   PRIMARY KEY(id) ) Engine=InnoDB;  CREATE INDEX domainidindex ON cryptokeys(domain_id);   CREATE TABLE tsigkeys (   id                    INT AUTO_INCREMENT,   name                  VARCHAR(255),   algorithm             VARCHAR(50),   secret                VARCHAR(255),   PRIMARY KEY (id) ) Engine=InnoDB;  CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);

103端
配置PowerDNS使用mariadb作为后台数据存储

# vim /etc/pdns/pdns.conf  launch=gmysql gmysql-host=localhost gmysql-port=3306 gmysql-dbname=powerdns gmysql-user=powerdns gmysql-password=powerdns123 

启动服务

systemctl start pdns systemctl enable pdns

1、安装httpd和php相关包

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

2、启动服务

systemctl start httpd systemctl enable httpd

3、下载poweradmin程序并解压到相应目录

# cd /usr/local/src/ # wget http://downloads.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz # tar -xvf poweradmin-2.1.7.tgz  # mv poweradmin-2.1.7/* /var/www/html/

4、启动powerAdmin页面访问

title

5、提供先前配置的数据库详情,同时为Poweradmin设置管理员密码
title

6、配置web管理
title
7、创建授权用户

title

105端

MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE     -> ON powerdns.*     -> TO 'poweradmin'@'192.168.7.%'   #105变成变成%,否则无法连接数据库     -> IDENTIFIED BY 'poweradmin123'; Query OK, 0 rows affected (0.001 sec) 

8、创建config.php文件内容(图忘了截图,使用网上的图片代替,直接复制途中命令下面文件中)
title

# vim /var/www/html/poweradmin/inc/config.inc.php   <?php  $db_host                = '192.168.7.105'; $db_user                = 'PowerAdmin'; $db_pass                = '123'; $db_name                = 'powerdns'; $db_type                = 'mysql'; $db_layer               = 'PDO';  $session_key            = 'J[%f(e4re@5=$LRh{MrXDFbH@Pbi6oB!yiCysYozvczJ$O';  $iface_lang             = 'en_EN';  $dns_hostmaster         = 'master'; $dns_ns1                = '192.168.7.103'; $dns_ns2                = '';  ?>  `` 9、安装完毕后,删除install目录 rm -rf /var/www/html/install/

10、登录

http://192.168.7.103/poweradmin

title

11、添加新的主区域,只需点击“添加主区域”
title


12、添加区域”按钮来添加DNS区域。
你需要填写一些东西:
  • 域(Domain) – 你要添加区域的域。
  • 所有者(Owner) – 设置DNS区域的所有者。
  • 模板(Template)– DNS模板 – 留空。
  • DNSSEC – 域名系统安全扩展(可选——看看你是否需要)。

title

13、编辑现存DNS区域或者添加新的记录

title
title

在此处添加新的DNS条目,你需要设置以下信息:

名称(Name) – 条目名称。只需添加域/子域的第一部分,PowerAdmin会添加剩下的。
类型(Type) – 选择记录类型。
优先级(Priority) – 记录优先级。
TTL – 存活时间,以秒计算。

测试客户端:
测试:
安装软件

yum install bind-utils

将dns修改解析dns192.168.7.103

测试:
dig mysql.magedu.net

[root@controller1 network-scripts]# dig openstack-vip.magedu.net  ; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> openstack-vip.magedu.net ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20527 ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 ;; WARNING: recursion requested but not available  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1680 ;; QUESTION SECTION: ;openstack-vip.magedu.net.  IN  A  ;; AUTHORITY SECTION: openstack-vip.magedu.net. 86400 IN  SOA 192.168.7.103. master. 2019082900 28800 7200 604800 86400  ;; Query time: 8 msec ;; SERVER: 192.168.7.103#53(192.168.7.103) 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!