• 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)
    
    
  • 相关阅读:
    单机千万级MQTT连接服务器测试报告
    Esptouch移植xamarin记要
    ubuntu16.04之mongodb自动备份
    Mongodb4.0副本集构建
    golang项目git-subtree完美解决差异包管理
    linux系统优化配置
    IE外挂
    aliyun install Discourse log
    打包前端WebSite到Go程序
    golang channel string 信号乱码
  • 原文地址:https://www.cnblogs.com/pansn/p/11432469.html
Copyright © 2020-2023  润新知