GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat PowerDNS a Poweradmin na CentOS 7

PowerDNS (pdns) je open source DNS server napsaný v C++ a vydaný pod licencí GPL. Stal se dobrou alternativou pro tradiční DNS server Bind, navržený s lepším výkonem a nízkými požadavky na paměť. PowerDNS poskytuje dva produkty, autoritativní server a rekurzor. Autoritativní server PowerDNS lze konfigurovat prostřednictvím různých backendů, včetně souborů prosté zóny Bind, RDBMS, jako je MySQL, PostgreSQL, SQLite3 nebo LDAP.

V tomto tutoriálu vám ukážu, jak nainstalovat a nakonfigurovat autoritativní server PowerDNS s databázovým serverem MariaDB jako backend a pomocí Poweradmin pro snadnou správu DNS.

Předpoklady

  • Server CentOS 7
  • Oprávnění uživatele root

Co uděláme:

  1. Nainstalujte úložiště EPEL a Remi
  2. Nainstalujte a nakonfigurujte MariaDB
  3. Nainstalujte PowerDNS
  4. Nainstalujte Poweradmin
  5. Po instalaci Poweradmin
  6. Vytvořit ukázkovou zónu

Krok 1 – Instalace EPEL a Remi Repositories

Nejprve musíme nainstalovat závislosti pro instalaci PowerDNS. Chystáme se nainstalovat úložiště EPEL a instalaci REMI pro PHP 7.2.

Nainstalujte úložiště EPEL a PHP Remi pomocí následujících příkazů.

yum -y install epel-release
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Jakmile budou tato úložiště přidána do systému, nainstalujte balíček 'yum-utils'.

yum -y nainstalovat yum-utils

A povolte úložiště PHP 7.2 Remi pomocí následujícího příkazu.

yum-config-manager --enable remi-php72

Krok 2 – Instalace a konfigurace MariaDB

Autoritativní server PowerDNS má podporu pro jiný backend, včetně databázového serveru MySQL/MariaDB. Termín 'backend' je datové úložiště, které bude server konzultovat a které obsahuje záznamy DNS (a některá metadata). A pro tuto příručku použijeme MariaDB jako backend.

Nainstalujte MariaDB pomocí následujícího příkazu yum.

yum -y nainstalujte mariadb mariadb-server

Po dokončení instalace spusťte službu MariaDB a přidejte ji do doby spouštění při spuštění.

systemctl spustit mariadb
systemctl povolit mariadb

Dále nakonfigurujeme heslo uživatele root pro MariaDB pomocí interaktivního nástroje s názvem 'mysql_secure_installation'.

Spusťte níže uvedený příkaz.

mysql_secure_installation

A budete vyzváni ke konfiguraci hesla root databázového serveru. Zadejte „Y“ pro nastavení hesla uživatele root a zadejte silné heslo.

Nastavit heslo root? [A/n] A
Nové heslo:
Znovu zadejte nové heslo:

Pro ostatní stačí napsat „Y“ na yes.

Odebrat anonymní uživatele? [A/n] A
Zakázat vzdálené přihlášení root? [A/N] A
Odebrat testovací databázi a získat k ní přístup? [A/n] A
Načíst nyní tabulky oprávnění? [A/n] A

V důsledku toho jste nainstalovali databázový server MariaDB a nastavili heslo root pro ověřování.

Dále vytvoříme novou databázi a uživatele pro instalaci PowerDNS. Přihlaste se do prostředí MySQL pomocí uživatelského rootu a hesla.

Níže spusťte příkaz MySQL.

mysql -u root -p
HESLO

Nyní vytvořte novou databázi s názvem 'powerdns' a udělte všechna databázová oprávnění novému uživateli s názvem 'pdns' s heslem 'pdnspassword2018'.

vytvoření databáze powerdns;
udělte všechna oprávnění na powerdns.* uživateli [email protected] identifikovanému pomocí 'pdnspassword2018';
flush oprávnění;

Poté vytvořte struktury tabulek pro databázi PowerDNS spuštěním následujících dotazů MySQL níže.

Použijte powerdns;

Vytvořit domény tabulky (
id int auto_increment,
Name Varchar (255) NOT NULL,
Master Varchar (128) výchozí null,
  last_check            INT VÝCHOZÍ NULL,
  typ                  VARCHAR(6) NOT NULL,
  notification_serial 4 0, INT DEFAULT NULL,
) Engine=InnoDB;

VYTVOŘTE UNIKÁTNÍ INDEX name_index NA doménách(název);


CREATE TABLE records (
  id                      BIGINT Auto_increment,
domain_id int default null,
name varchar (255) výchozí null,
typ varchar (10) výchozí null,
obsah varchar (64000) výchozí null,
  ttl                   INT DEFAULT NULL,
  před                    INT DEFAULT NULL,
  change_date            INT DEFAULT / NULL, dis   název objednávky             VARCHAR(255) BINARY DEFAULT NULL,
  auth                                                1.;

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,
  jmenný server      (0  )    VARCHAR(055) NULL  VARCHAR(255) CH   NOT >      AR          NULL 
  PRIMÁRNÍ KLÍČ (ip, nameserver)
) Engine=InnoDB;


komentáře CREATE TABLE (
  id                     INT AUTO_INCREMENT,
  INT  INT       NOT NULL,
  jméno                   VARCHAR(255) NOT NULL,
  typ                   VARCHAR(10) NOT NULL,  VAR,    <  upraveno_zavináč     AR />   co mment               VARCHAR(64000) NOT NULL,
  PRIMÁRNÍ KLÍČ (id)
) Engine=InnoDB;

VYTVOŘIT INDEX comments_domain_id_idx ON komentářů (id_domény);
název_id_domény CREAx;
ON komentáře (název, typ);
CREATE INDEX comments_order_idx ON comments (id_domény, upraveno_at);


CREATE TABLE doménová metadata (
  id                     INT AUTO_INCREMENT,
  domain_id             INT NOT NULL,
  druh                   VARCHAR(32),
  content                TEXT,
D ne B PRIMÁRNÍ KLÍČ
INDEX domainmetadata_idx ON domainmetadata (id_domény, druh);


kryptoklíče CREATE TABLE (
  id                     INT AUTO_INCREMENT,   INT AUTO_INCREMENT,   INT AUTO_INCREMENT,   INT AUTO_INCREMENT,    BR /> NULL,
  aktivní                 BOOL,
  content               TEXT,
  PRIMÁRNÍ KLÍČ(id)
) Engine=InnoDB;

CREATE INDEX domaini dindex ON cryptokeys (id_domény);


CREATE TABLE tsigkeys (
  id                     INT AUTO_INCREMENT,
  název            )  5 CH         0    CH          0                                 ,
  tajné                VARCHAR(255),
  PRIMÁRNÍ KLÍČ (id)
) Engine=InnoDB;

VYTVOŘIT UNIKÁTNÍ INDEX jmenný index NA tsigkeys(název, algoritmus);

ukončit;

V důsledku toho byla vytvořena databáze MySQL/MariaDB a uživatel pro instalaci PowerDNS.

Krok 3 – Instalace PowerDNS

Nainstalujte PowerDNS a všechny potřebné balíčky pomocí následujícího příkazu.

yum -y install pdns pdns-backend-mysql bind-utils

Po instalaci balíčků PowerDNS přejděte do adresáře '/etc/pdns/' a upravte konfigurační soubor 'pdns.conf' pomocí editoru vim.

cd /etc/pdns/
vim pdns.conf

Ve výchozím nastavení používá PowerDNS jako backend 'bind'. Napište tedy komentář '#' před konfiguraci 'launch=bind' a vložte konfiguraci backendu MySQL, jak je uvedeno níže.

#launch=bind

launch=gmysql
gmysql-host=localhost
gmysql-user=pdns
gmysql-password=pdnspassword2018
gmysql -dbname=powerdns

Uložit a zavřít.

Nyní spusťte službu pdns a přidejte ji do doby spouštění při spuštění.

systemctl start pdns
systemctl enable pdns

Poté přidejte službu DNS do brány firewall.

firewall-cmd --add-service=dns --permanent
firewall-cmd --reload

A služba PowerDNS je v provozu, zkontrolujte pomocí následujícího příkazu.

netstat -tap | grep pdns
netstat -tulpn | grep 53
dig @10.9.9.10

Výsledkem bude, že služba pdns bude spuštěna na portu 53 a získáte odpověď ze serveru PowerDNS.

Krok 4 – Instalace Poweradmin

V tomto kroku nainstalujeme správu DNS pro PowerDNS s názvem „Poweradmin“. Je to webová aplikace založená na PHP, takže ke spuštění aplikace potřebujeme nainstalovat PHP a webový server.

Nainstalujte webový server httpd a balíčky PHP pomocí následujícího příkazu.

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

Po instalaci musíme nainstalovat další balíčky PHP Pear. Spusťte následující příkaz.

yum -y install php-pear-DB php-pear-MDB2-Driver-mysqli

Jakmile je instalace httpd a PHP dokončena, spusťte službu httpd a přidejte ji do doby spouštění při spuštění.

systemctl spustit httpd
systemctl povolit httpd

Dále přejděte do adresáře '/var/www/html' a stáhněte si zdrojový kód poweradmin.

cd /var/www/html/
wget http://downloads.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz

Rozbalte komprimovaný soubor poweradmin a přejmenujte jej.

tar xvf poweradmin-2.1.7.tgz
mv poweradmin-2.1.7/ poweradmin/

Poté do firewallu přidejte protokoly HTTP a HTTPS.

firewall-cmd --add-service={http,https} --permanent
firewall-cmd --reload

A jsme připraveni na post-instalaci poweradmin.

Krok 5 – Poweradmin Post-Installation

Otevřete webový prohlížeč a zadejte IP adresu serveru a /poweradmin/install/ cestu URL pro instalaci. Můj je:

http://10.9.9.10/poweradmin/install/

Vyberte preferovaný jazyk a klikněte na tlačítko „Přejít na krok 2“.

Nyní stačí kliknout na tlačítko „Přejít na krok 3“.

Zobrazí se vám konfigurace databáze. Zadejte podrobnosti o databázi PowerDNS, které jsme vytvořili, a heslo správce pro PowerDNS.

Klikněte na tlačítko „Přejít na krok 4“.

Poté budete muset vytvořit nového uživatele s omezenými právy. Zadejte podrobnosti následovně a změňte uživatele, heslo atd. za své.

Nyní klikněte na tlačítko „Přejít na krok 5“.

A zobrazí se vám stránka jako níže.

Otevřete znovu svůj terminálový server, přihlaste se pomocí uživatele root a hesla. Poté spusťte dotazy MySQL jako na stránce.

mysql -u root -p
HESLO

GRANT SELECT, INSERT, UPDATE, DELETE
ON powerdns.*
TO 'hakase'@'localhost'
IDENTIFIKUJE 'hakase-labs123';

Nyní se vraťte do webového prohlížeče a klikněte na tlačítko „Přejít na krok 6“.

A zobrazí se vám stránka jako níže.

Instalačnímu programu se nepodařilo vytvořit novou konfiguraci '../inc/config.inc.php'. Musíme jej tedy vytvořit ručně.

Vraťte se na terminálový server, přejděte do adresáře '/var/www/html/poweradmin' a vytvořte nový konfigurační soubor 'inc/config.inc.php'.

cd /var/www/html/poweradmin
vim inc/config.inc.php

Nyní do něj vložte PHP skript na stránce.

 

Uložte a zavřete, poté se vraťte do prohlížeče a klikněte na tlačítko.

A instalace je dokončena.

Volitelně:

Pokud chcete podporovat adresy URL používané jinými dynamickými poskytovateli, zkopírujte soubor htaccess.

cd /var/www/html/poweradmin
cp install/htaccess.dist .htaccess

Poté MUSÍTE odstranit adresář 'install'.

rm -rf /var/www/html/poweradmin/install

Vraťte se zpět do webového prohlížeče a přihlaste se k řídicímu panelu Poweradmin pomocí adresy URL, jak je uvedeno níže.

http://10.9.9.10/poweradmin/

Přihlaste se pomocí výchozího uživatele 'admin' a hesla a klikněte na tlačítko 'Go'.

V důsledku toho se vám zobrazí řídicí panel Poweradmin a instalace je dokončena.

Krok 6 – Vytvoření vzorové zóny a záznamů DNS

V této fázi otestujeme instalaci PowerDNS a Poweradmin vytvořením nové zóny DNS pro doménu s názvem 'emma.io'.

Na hlavním panelu Poweradmin klikněte na nabídku 'Přidat hlavní zónu'.

Nastavte název zóny s názvem domény 'emaa.io' a klikněte na tlačítko 'Přidat zónu'.

Kliknutím na nabídku „Seznam zón“ zobrazíte všechny dostupné zóny. A klikněte na tlačítko 'upravit' pro zónu 'emma.io'.

Kliknutím na nabídku „Seznam zón“ zobrazíte všechny dostupné zóny. A klikněte na tlačítko 'upravit' pro zónu 'emma.io'.

Nyní klikněte na tlačítko 'Přidat záznam' a úspěšně přidáme zónu DNS a záznam DNS pro doménu s názvem 'emma.io'.

Dále otestujeme doménu 'emma.io' pomocí příkazu nástroje DNS 'dig'.

Zkontrolujte jmenný server nebo záznam ns domény 'emma.io'.

dig NS emma.io @10.9.9.10

Zkontrolujte záznam DNS domény 'emma.io'.

dig A emma.io @10.9.9.10

Zobrazí se vám, že doména „emma.io“ má jmenný server z našeho serveru DNS „ns1.hakase-labs.io“ a „A“ tohoto názvu domény odpovídá naší konfiguraci nahoře s IP adresou serveru. '10.9.9.11'.

Nakonec byla instalace a konfigurace PowerDNS a Poweradmin na CentOS 7 úspěšně dokončena.


Cent OS
  1. Jak nainstalovat a nakonfigurovat Nginx na CentOS 7

  2. Jak nainstalovat Node.js a NPM na CentOS

  3. Nainstalujte PowerDNS a Poweradmin na CentOS 7 VPS

  1. Jak nainstalovat dig na CentOS 7 a 8

  2. Jak nainstalovat Node.js a NPM na CentOS 7

  3. Jak nainstalovat R na CentOS 7

  1. Jak nainstalovat a nakonfigurovat Redis na CentOS 7

  2. Jak nainstalovat a nakonfigurovat GitLab na CentOS 7

  3. Jak nainstalovat a nakonfigurovat Redmine na CentOS 7