PowerDNS安裝和簡單使用


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頁面訪問
titletitle

5、提供先前配置的數據庫詳情,同時為Poweradmin設置管理員密碼
title

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
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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM