GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer PowerDNS sur CentOS 7

Dans ce didacticiel, nous allons vous montrer comment installer et configurer PowerDNS sur le serveur CentOS 7. Pour ceux d'entre vous qui ne le savaient pas, PowerDNS est un serveur DNS basé sur MySQL, écrit en C++ et sous licence GPL. PowerDNS peut être géré via une interface Web (PowerAdmin). Contrairement à Bind, PowerDNS peut être configuré à l'aide d'une multitude de backends tels que Bind Zone Files ou diverses bases de données.

Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo ‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer l'installation étape par étape de PowerDNS sur un serveur CentOS 7.

Prérequis

  • Un serveur exécutant l'un des systèmes d'exploitation suivants :CentOS 7.
  • Il est recommandé d'utiliser une nouvelle installation du système d'exploitation pour éviter tout problème potentiel.
  • Accès SSH au serveur (ou ouvrez simplement Terminal si vous êtes sur un ordinateur).
  • Un non-root sudo user ou l'accès à l'root user . Nous vous recommandons d'agir en tant qu'non-root sudo user , cependant, car vous pouvez endommager votre système si vous ne faites pas attention lorsque vous agissez en tant que root.

Installer PowerDNS sur CentOS 7

Étape 1. Tout d'abord, commençons par nous assurer que votre système est à jour.

yum clean all
yum -y update

Étape 2. Installation de PowerDNS et du backend.

Tout d'abord, vous devez activer le référentiel EPEL et tous les packages requis sur votre système :

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

Activez PowerDNS au démarrage et démarrez le serveur PowerDNS :

systemctl enable mariadb 
systemctl enable pdns
systemctl enable pdns-recursor

Étape 3. Configuration de MariaDB.

Par défaut, MariaDB n'est pas renforcée. Vous pouvez sécuriser MariaDB à l'aide de mysql_secure_installation scénario. vous devez lire attentivement et ci-dessous chaque étape qui définira un mot de passe root, supprimera les utilisateurs anonymes, interdira la connexion root à distance et supprimera la base de données de test et l'accès à MariaDB sécurisé.

mysql_secure_installation

Étape 4. Créez une base de données PowerDNS et un utilisateur dans MariaDB.

Connectez-vous en tant que racine MariaDB et créez une nouvelle base de données et de nouvelles tables :

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

Étape 5. Configurez PowerDNS.

Ouvrez le `/etc/pdns/pdns.conf ` fichier et ajoutez les lignes suivantes :

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

Enfin, redémarrez le service Power DNS :

systemctl restart pdns.service
systemctl enable pdns.service

Étape 6. Configurer le récurseur.

Ouvrez le `/etc/pdns-recursor/recursor.conf ` fichier et ajoutez les lignes suivantes :

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

Démarrez le service Recursor :

systemctl restart pdns-recursor

Tester le récurseur :

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

Félicitations ! Vous avez installé avec succès PowerDNS. Merci d'avoir utilisé ce didacticiel pour installer PowerDNS sur le système CentOS 7. Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le site Web officiel de PowerDNS.


Cent OS
  1. Comment installer PHP 7, 7.2 et 7.3 sur CentOS 7

  2. Comment installer Java 11 et 12 sur CentOS 7

  3. Comment installer Wine 4.0 sur CentOS 7

  4. Comment installer Vim 8.2 sur CentOS 7

  5. Comment installer VirtualBox sur CentOS 7

Comment installer R sur CentOS 8

Comment installer PowerDNS et Poweradmin sur CentOS 7

Comment installer PowerDNS sur CentOS 6

Comment installer PowerDNS sur CentOS 7

Comment installer PowerDNS sur Ubuntu 14.04

Comment installer PowerDNS et PowerAdmin sur CentOS 8