GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar PowerDNS en CentOS 7

En este tutorial, le mostraremos cómo instalar y configurar PowerDNS en el servidor CentOS 7. Para aquellos de ustedes que no lo sabían, PowerDNS es un servidor DNS basado en MySQL, escrito en C++ y con licencia GPL. PowerDNS se puede administrar a través de una interfaz web (PowerAdmin). A diferencia de Bind, PowerDNS se puede configurar usando una multitud de backends como Bind Zone Files o varias bases de datos.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo ' a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso de PowerDNS en un servidor CentOS 7.

Requisitos previos

  • Un servidor que ejecute uno de los siguientes sistemas operativos:CentOS 7.
  • Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
  • Acceso SSH al servidor (o simplemente abra Terminal si está en una computadora de escritorio).
  • Un non-root sudo user o acceder al root user . Recomendamos actuar como un non-root sudo user , sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.

Instalar PowerDNS en CentOS 7

Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.

yum clean all
yum -y update

Paso 2. Instalación de PowerDNS y backend.

Primero, debe habilitar el repositorio EPEL y todos los paquetes necesarios en su sistema:

yum install epel-release
yum install bind-utils pdns pdns-recursor pdns-backend-mysql mariadb mariadb-server

Habilite PowerDNS en el arranque e inicie el servidor PowerDNS:

systemctl enable mariadb 
systemctl enable pdns
systemctl enable pdns-recursor

Paso 3. Configuración de MariaDB.

De forma predeterminada, MariaDB no está reforzado. Puede proteger MariaDB utilizando mysql_secure_installation texto. debe leer y debajo de cada paso cuidadosamente que establecerá una contraseña de root, eliminará usuarios anónimos, no permitirá el inicio de sesión de root remoto y eliminará la base de datos de prueba y accederá a MariaDB segura.

mysql_secure_installation

Paso 4. Cree una base de datos y un usuario de PowerDNS en MariaDB.

Inicie sesión como raíz de MariaDB y cree una nueva base de datos y tablas:

$ mysql -uroot -p

create user 'powerdns'@'localhost' identified by 'password';
grant all privileges on powerdns.* to 'powerdns'@'localhost';
flush privileges;
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)
) Engine=InnoDB;

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

Paso 5. Configurar PowerDNS.

Abra `/etc/pdns/pdns.conf ` archivo y agregue las siguientes líneas:

allow-axfr-ips=<IPs allowed axfr>
allow-recursion=<IPs allowed recursion>
launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=<yourdbuser>
gmysql-password=<yourdbpassword>
gmysql-dbname=powerdns
local-address=<yourserverIPs>
local-port=53
master=yes
recursor=127.0.0.1:5353
setgid=pdns
setuid=pdns
webserver=yes
webserver-address=<bindipaddress>
webserver-password=<yourpassword>
webserver-port=8081

Finalmente, reinicie el servicio Power DNS:

systemctl restart pdns.service
systemctl enable pdns.service

Paso 6. Configurar Recursor.

Abra `/etc/pdns-recursor/recursor.conf ` archivo y agregue las siguientes líneas:

setuid=pdns-recursor
setgid=pdns-recursor
allow-from=127.0.0.0/8
local-address=127.0.0.1
local-port=5353

Iniciar el servicio Recursor:

systemctl restart pdns-recursor

Recurso de prueba:

host ping.idroot.us 127.0.0.1

Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

ping.idroot.us has address 194.109.46.8
ping.idroot.us has IPv6 address 2001:888:0:25:169:109:21:66

¡Felicitaciones! Ha instalado PowerDNS con éxito. Gracias por usar este tutorial para instalar PowerDNS en el sistema CentOS 7. Para obtener ayuda adicional o información útil, le recomendamos que visite el sitio web oficial de PowerDNS.


Cent OS
  1. Cómo instalar PHP 7, 7.2 y 7.3 en CentOS 7

  2. Cómo instalar Java 11 y 12 en CentOS 7

  3. Cómo instalar Wine 4.0 en CentOS 7

  4. Cómo instalar Vim 8.2 en CentOS 7

  5. Cómo instalar VirtualBox en CentOS 7

Cómo instalar R en CentOS 8

Cómo instalar PowerDNS y Poweradmin en CentOS 7

Cómo instalar PowerDNS en CentOS 6

Cómo instalar PowerDNS en CentOS 7

Cómo instalar PowerDNS en Ubuntu 14.04

Cómo instalar PowerDNS y PowerAdmin en CentOS 8