Page_c76a3fcf https://linux-notes.org Unix/ Linux блог, на котором можно найти полезную информацию по настройке ОС и ПО. Tue, 19 Jan 2016 23:50:20 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.7.2 Page_c76a3fcf https://linux-notes.org/dobavit-otredaktirovat-i-udalyat-dns-zonu-v-powerdns/ https://linux-notes.org/dobavit-otredaktirovat-i-udalyat-dns-zonu-v-powerdns/#respond Tue, 19 Jan 2016 23:37:04 +0000 http://linux-notes.org/?p=9819 Добавить, отредактировать и удалять DNS зону в PowerDNS Я недавно описывал установку PowerDNS в своей теме, если не знаете как это сделать, можете использовать: Установка PowerDNS с MySQL/MariaDB и Poweradmin в CentOS/Fedora/RHEL Я не буду заострять внимание на установке, а сразу перейду к работе над зонами. Добавить, отредактировать и удалять DNS зону в PowerDNS Для […]

The post Добавить, отредактировать и удалять DNS зону в PowerDNS first appeared on linux-notes.org.]]>

Добавить, отредактировать и удалять DNS зону в PowerDNS

Я недавно описывал установку PowerDNS в своей теме, если не знаете как это сделать, можете использовать:

Установка PowerDNS с MySQL/MariaDB и Poweradmin в CentOS/Fedora/RHEL

Я не буду заострять внимание на установке, а сразу перейду к работе над зонами.

Добавить, отредактировать и удалять DNS зону в PowerDNS

Для начала, подключаемся (логинимся) в PowerDNS.

Добавить DNS зону в PowerDNS.

Чтобы добавить новую DNS зону, просто нажмите на «Add master zone»:

Добавить DNS зону в PowerDNS

Добавить DNS зону в PowerDNS

На следующей странице есть несколько вещей, которые вы должны заполнить:

  • Domain – Домен, для которого вы будете добавлять зону.
  • Owner – Устанавить владельца зоны DNS.
  • Template – Шаблон DNS— оставьте пустым.
  • DNSSEC – Расширения безопасности системы доменных имен (Donany Name System Security Extensions) — по желанию используйте, если вам это нужно.

У меня это выглядит так:

Добавление зоны PowerDNS

Нажмите по «Add zone» для того чтобы добавить зону DNS.

Теперь вы можете вернуться к странице индекса Poweradmin, нажав кнопку «Index». Для просмотра всех существующих зон DNS просто нажмите на «List zones»:

Просмотр всех зон в PowerDNS

Для того чтобы отредактировать DNS зону, нажмите на «карандаш»:

Редактирование DNS зон в PowerDNS

PS: Для удаления, используйте «Урну».

На следующей странице вы увидите записи для DNS зоны, которую вы выбрали:

Добавление записей в DNS зону в PowerDNS

Тут, чтобы добавить новую зону DNS вам нужно будет прописать следующую информацию:

  • Name – Имя для записи. Только добавьте первую часть домена/поддомена, остальные будут добавлены в Poweradmin.
  • Type – Выберите тип записи.
  • Priority – Назначьте приоритет для записи.
  • TTL – «Time To Live» в секундах.

Я думаю что тут все понятно и не нужно описывать каждый шаг. После того, как добавили записи (создали зону), нужно добавить обратную зону (reverse zone). Чтобы сделать это, нажмите на ссылку «Add master zone» снова. Введите обратное имя файла зоны. Например: 103.168.192.in-addr.arpa

PS: Не забываем прописать для обратной зоны NS-ы  и для нужды MX.

После чего, можно протестировать созданные зоны. А на этом, у меня все, моя статья «Добавить, отредактировать и удалять DNS зону в PowerDNS» завершена.

The post Добавить, отредактировать и удалять DNS зону в PowerDNS first appeared on linux-notes.org.]]>
https://linux-notes.org/dobavit-otredaktirovat-i-udalyat-dns-zonu-v-powerdns/feed/ 0
Page_c76a3fcf https://linux-notes.org/ustanovka-powerdns-s-mysql-mariadb-i-poweradmin-v-centos-fedora-rhel/ https://linux-notes.org/ustanovka-powerdns-s-mysql-mariadb-i-poweradmin-v-centos-fedora-rhel/#respond Tue, 19 Jan 2016 17:11:36 +0000 http://linux-notes.org/?p=9261 Установка PowerDNS с MySQL/MariaDB и Poweradmin в CentOS/Fedora/RHEL PowerDNS был создан в конце 1990-х и является ведущим поставщиком программного обеспечения с открытым исходным кодом для работы с DNS. Я хотел бы рассказать в своей статье «Установка PowerDNS с MySQL/MariaDB и Poweradmin в CentOS/Fedora/RHEL» как установить PowerDNS с MySQL или MariaDB и Poweradmin в CentOS/Fedora/RHEL на примере […]

The post Установка PowerDNS с MySQL/MariaDB и Poweradmin в CentOS/Fedora/RHEL first appeared on linux-notes.org.]]>

Установка PowerDNS с MySQL/MariaDB и Poweradmin в CentOS/Fedora/RHEL

PowerDNS был создан в конце 1990-х и является ведущим поставщиком программного обеспечения с открытым исходным кодом для работы с DNS.

Я хотел бы рассказать в своей статье «Установка PowerDNS с MySQL/MariaDB и Poweradmin в CentOS/Fedora/RHEL» как установить PowerDNS с MySQL или MariaDB и Poweradmin в CentOS/Fedora/RHEL на примере CentOS 6/7.

Установка PowerDNS с MySQL/MariaDB и Poweradmin в CentOS/Fedora/RHEL

Первое что нужно сделать, так это добавить репозитории:

Как включить EPEL репозиторий на CentOS

Как добавить Remi репозиторий на CentOS / RHEL

Далее, обновим систему:

# yum update

После чего, установим MySQL с помощью следующей команды:

# yum install mysql-server mysql -y

или можно выполнить установку и установить mariaDB:

# yum install MariaDB-client MariaDB-common MariaDB-compat MariaDB-devel MariaDB-server MariaDB-shared -y

Запускаем службу MySQL и добавляем ее в автозапуск ОС (чтобы загружалась при каждой перезагрузке ОС):

# service mysqld start chkconfig mysqld on

Проверяем, работает ли MySQL на нужном порту:

# netstat -tap | grep mysql

Для улучшенной безопасности, запускаем скрипт который настроит mysql:

# mysql_secure_installation

Я завершил установку.

Можно добавить в автозагрузку ОС:

 Для CentOS 5/6:

# service mysqld start
# chkconfig mysqld on

 Для CentOS 7 ( на примере mariaDB, mysql на CentOS 7 не вижу смысла ставить):

# systemctl enable mariadb.service
# systemctl start mariadb.service

Далее, я буду устанавливать PowerDNS.

Установка PowerDNS

Выполните следующую команду, чтобы установить PowerDNS:

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

После установки PowerDNS, запустим и включить службу PowerDNS автоматический запуск ОС:

 Для CentOS 5/6:

# service pdns start
# chkconfig pdns on

 Для CentOS 7:

# systemctl enable pdns.service
# systemctl start pdns.service

PowerDNS установлен.

Проверяем, запустился ли он:

# netstat -tap | grep pdns

Создание базы данных и пользователя в MySQL для PowerDNS.

Следующим шагом необходимо создать базу данных и учетную запись пользователя для PowerDNS.

Войдите в MySQL с помощью команды:

# mysql -u root -p

Создать базу данных, а именно «powerdns. Вы можете использовать любое другое имя:

# CREATE DATABASE powerdns;

Создать пользователя базы данных, а именно ‘poweruser’:

# GRANT ALL ON powerdns.* TO 'poweruser '@'localhost' IDENTIFIED BY 'centos';

Где,

  • powerdns – это база данных;
  • poweruser – это пользователь;
  • centos – это пароль от пользователя ‘poweruser’.

Я рекомендую вам использовать любой надежный пароль для улучшения безопасности.

Введите следующую команду, чтобы обновить пользовательские настройки:

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

Создать уникальный индекс для областей таблице:

# 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(6) DEFAULT NULL,
content VARCHAR(255) DEFAULT NULL,
ttl INT DEFAULT NULL,
prio INT DEFAULT NULL,
change_date INT DEFAULT NULL,
primary key(id)
);

Создайте следующие индексы для записей таблицы:

> CREATE INDEX rec_name_index ON records(name);
> CREATE INDEX nametype_index ON records(name,type);
> CREATE INDEX domain_id ON records(domain_id);

Создайте таблицу supermasters:

> CREATE TABLE supermasters (
ip VARCHAR(25) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) DEFAULT NULL
);

Наконец, выйдите из MySQL с помощью команды:

> quit;

Настройка PowerDNS

Теперь, необходимо настроить PowerDNS используя MySQL для хранения файлов зоны и записей.

Переименую файл конфигурации:

# mv /etc/pdns/pdns.conf /etc/pdns/pdns.conf.bak

После чего, открываем файл и вносим изменения:

# vim /etc/pdns/pdns.conf

Добавьте следующие строки. Установите правильное имя базы данных и пользователя базы данных, которые создали ранее:

# MySQL Configuration
#
# Launch gmysql backend
launch=gmysql
# gmysql parameters
gmysql-host=localhost
gmysql-dbname=powerdns
gmysql-user=poweruser
gmysql-password=centos

Далее вам нужно иметь recursor, который будет открыт на другом порту, PowerDNS будет уже использовать 53-й UDP-порт. Но для начала, установим его:

# yum install pdns-recursor -y

Открываем конфиг и вносим изменения:

# vim /etc/pdns/pdns.conf

Раскомментируйте следующую строку (если ее нет, то пропишите):

[...]
recursor=127.0.0.1:5300
[...]

Эта строка говорит PowerDNS направлять рекурсивные запросы к PowerDNS-recursor сервера, который будет слушать на порту 5300.

И редактируем конфиг с recursor:

# vim /etc/pdns-recursor/recursor.conf

И устанавливаем на каком порту будет он висеть:

[...]
local-port=5300
[...]

Так же, определяем сеть:

#allow-from=127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10
allow-from=127.0.0.0/8

И добавляем pdns-recursor в автозагрузку ОС и запускаем его:

# chkconfig pdns-recursor on
# service pdns-recursor start

PS: Я его не ставил, но если есть нужда — используйте его!

Наконец, перезагрузите PowerDNS:

# service pdns restart

Установка PowerAdmin для работы с PowerDNS

Я для примера, буду использовать apache (вы можете использовать любой другой веб сервер, например nginx):

# 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 -y

Добавляем апаче в автозапуск ОС:

# chkconfig --levels 235 httpd on

Для CentOS 7 :

# systemctl enable httpd.service
# systemctl start httpd.service

Запускаем службу apache:

# service httpd start

Установите следующие пакеты PEAR:

# yum -y install php-pear-DB php-pear-MDB2-Driver-mysql -y

Загружаем PowerAdmin:

# cd /usr/local/src && wget http://skylink.dl.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz && tar zxvf poweradmin-*.tgz -C /var/www/html/

Для удобства, переименовуем папку:

# mv /var/www/html/poweradmin* /var/www/html/poweradmin

Выставляем права:

# chown -R apache:apache /var/www/html/poweradmin/

Копируем конфиг:

# cp /var/www/html/poweradmin/inc/config-me.inc.php /var/www/html/poweradmin/inc/config.inc.php

Отредактируйте конфигурационный файл:

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

Приведите записи к такому виду (замените все на свои значения):

$db_host = 'localhost';
$db_port = '3306';
$db_user = 'poweruser';
$db_pass = 'centos';
$db_name = 'powerdns';
$db_type = 'mysql';
[...]
$session_key = 'session_key';

После чего, перезапускаем службу httpd:

# service httpd restart

Перезапустите демон PowerDNS:

# service pdns restart

После чего, необходимо создать учетную запись для PowerAdmin, для этого, откройте свой IP (домен), например:

http://192.168.103.130/poweradmin/install/

И приступаем к настройке:

Настройка PowerAdmin в CentOS

Настройка PowerAdmin в CentOS

Выбираем нужный вам язык и нажимаем «Go to step 2». Я выбрал английский язык. На 2-м шаге, не нужно ничего выбирать, по этому, нажимаем на «Go to step 3». На 3-м шаге, создаем имя пользователя и пароль для входа в PowerAdmin:

Насстройка PowerAdmin

Настройка PowerAdmin

После вода данных, нажимаем на «Go to step 4». На 4-м шаге, необходимо прописать нового пользователя для входа в

PowerAdmin, пароль для этого пользователя, а так же, Hostmaster и Primary nameserver/Secondary nameserver:

PowerAdmin

Далее, нажимаем на «Go to step 5» -> «Go to step 6». На 6-м шаге, показывают как будут выглядеть настройки:

<?php

$db_host = 'localhost';
$db_user = 'poweruser';
$db_pass = 'centos';
$db_name = 'powerdns';
$db_type = 'mysql';
$db_layer = 'PDO';

$session_key = 'LuP(iBPk#E32F70pzqqJm3+b#x(yrxV{+b_DUENyuJ}Csd';

$iface_lang = 'en_EN';

$dns_hostmaster = 'home.dnsserver';
$dns_ns1 = 'ns1.home.dnsserver';
$dns_ns2 = 'ns2.home.dnsserver';

Нажимаем «Go to step 7». На этом, настройка PowerAdmin завершена.

Так же, вы можете включить использование URLs (URL-адресов) другими динамическими DNS, выполнив:

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

Но для этого нужно включить mod_rewrite в конфигурации Apache.

По завершению шаг «Step 7», удалите папку с установщиком:

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

После удаления, нужно прописать session_key в конфигурационном файле:

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

Находим поле с «session_key» и прописываем свой ключ, который был определен на шаге 6. У меня это  -LuP(iBPk#E32F70pzqqJm3+b#x(yrxV{+b_DUENyuJ}Csd

Измините на свой и после чего выполните перезапуск powerdns.

Открываем доменное имя или IP, например:

http://powerdns.server/poweradmin/

или

http://192.168.103.130/poweradmin

Для входа мне говорят использовать пользователя «admin» с паролем «centos». Сейчас, можно создать тестовую DNS-запись, для этого открываем «Add master zone» и указать имя, владельца, тип и шаблон записи.

Добавить, отредактировать и удалять DNS зону в PowerDNS

PS: Не забываем изменить пароль для пользователя admin!

Я завершил установку и настройку. Теперь, нужно проверить, работает ли PowerDNS или нет. Но для начала, откроем 53-й порт для работы DNS в брандмауэре (iptables):

# iptables -A INPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT
# iptables -A INPUT -m tcp -p tcp --sport 80 -j ACCEPT

Сохраните и закройте файл. Затем перезагрузите Iptables:

# service iptables restart

Тестирование работы PowerDNS

Чтобы убедиться, что сервер PowerDNS работает должным образом, используйте команду dig:

# dig ns home.dnsserver @localhost

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.5 <<>> ns home.dnsserver @localhost
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21470
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;home.dnsserver. IN NS

;; ANSWER SECTION:
home.dnsserver. 86400 IN NS ns1.home.dnsserver.
home.dnsserver. 3 IN NS 8.8.8.8.

;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jan 19 23:49:58 2016
;; MSG SIZE rcvd: 71

Полезные статьи:

Установка и использование dig

Установка nslookup на CentOS

Я успешно установил и настроил PowerDNS. Моя статья «Установка PowerDNS с MySQL/MariaDB и Poweradmin в CentOS/Fedora/RHEL» завершена.

The post Установка PowerDNS с MySQL/MariaDB и Poweradmin в CentOS/Fedora/RHEL first appeared on linux-notes.org.]]>
https://linux-notes.org/ustanovka-powerdns-s-mysql-mariadb-i-poweradmin-v-centos-fedora-rhel/feed/ 0
Page_c76a3fcf https://linux-notes.org/ustanovka-dig-v-centos/ https://linux-notes.org/ustanovka-dig-v-centos/#respond Fri, 23 May 2014 18:15:41 +0000 http://linux-notes.org/?p=1961 Установка dig в CentOS dig (сокращено от «domain information groper») — прога DNS-клиента, дающая юзеру интерфейс командной строки для обращения к системе DNS. Позволяет прописывать различные типы запросов и запрашивать произвольно указываемые сервера. Это аналог проги nslookup и dig содержится  в комплекте DNS сервера BIND. Чтобы установить dig на CentOS нужно выполнить: # yum install bind-utils После установки можно пользоваться […]

The post Установка dig в CentOS first appeared on linux-notes.org.]]>

Установка dig в CentOS

dig (сокращено от «domain information groper») — прога DNS-клиента, дающая юзеру интерфейс командной строки для обращения к системе DNS. Позволяет прописывать различные типы запросов и запрашивать произвольно указываемые сервера. Это аналог проги nslookup и dig содержится  в комплекте DNS сервера BIND.

Чтобы установить dig на CentOS нужно выполнить:

# yum install bind-utils

После установки можно пользоваться этой утилиткой, например вот так:

# dig google.com
Установка dig в CentOS, пример использования

Установка dig в CentOS, пример использования

10 основных команд dig

1. Запрос домена.»A» записи 

# dig yahoo.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.2 <<>> yahoo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<

Команда dig выполняется для поиска «А» записи для домена yahoo.com. Dig команда считывает с /etc/resolv.conf  запросы к DNS-серверу, перечисленные в нем.

Давайте поймем вывод команды:
Строки, начинающиеся с «;»  — это комментарии.
Первая строка говорит нам версию dig (9.8.2).
Далее, dig показывает заголовок ответа который получил от DNS-сервера
В данном случае это запрос для «A» записи yahoo.com. «IN » означает, что это Интернет поиск (в классе Интернет).
Раздел говорит нам что yahoo.com имеет IP-адрес 72.30.38.140
Наконец есть некоторая статистика о запросе. Вы можете отключить эту статистику с помощью опции + nostats.

2. Запрос домена записи «А»  + (short ) короткий вывод
По умолчанию dig  довольно многословен (много выводит всего). Один из способов сократить вывод заключается в использовании варианта с «+short» который будет резко сокращать вывод, как показано ниже.

# dig yahoo.com +short

99.130.13.44
72.30.38.144
124.136.254.169

Примечание: По умолчанию dig  ищет «А» записи указанного домена но можно указать другие записи также. Запись MX или Mail Exchange говорит почтовым серверам как производить маршрут  для электронной почты домена. Аналогично TTL, SOA и др.

3. Запросы MX-записи для домена
Запросы разных типов ресурса DNS записи.

# dig yahoo.com MX

dig yahoo.com MX

4. Запросы SOA записи для домена

# dig yahoo.com SOA

 dig yahoo.com SOA

$ dig SOA inux-notes.org @lakas.ns.cloudflare.com.

5. Запросы TTL записей для домена 

# dig yahoo.com TTL

dig yahoo.com TTL

6. Только запрос и ответ

# dig yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats

dig yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats

7. Запросы ALL DNS-записей

# dig yahoo.com ANY +noall +answer

dig yahoo.com ANY +noall +answer

8. Посмотреть обратный DNS 

# dig -x 75.35.31.143 +short

ir1.fp.vip.sp2.yahoo.com.

9. Запросы к нескольким отчетам DNS
Конкретные запросы DNS а именно запросы для нескольких веб-сайта (для MX, NS и т.д. записей).

# dig yahoo.com mx +noall +answer redhat.com ns +noall +answer
dig yahoo.com mx +noall +answer redhat.com ns +noall +answer

dig yahoo.com mx +noall +answer redhat.com ns +noall +answer

10. Создать файл  .digrc
Создать файл  .digrc в $HOME/.digrc  и сохранить параметры dig по умолчанию.

dig yahoo.com

dig yahoo.com

11. Как определить серверы имен, связанных с доменом?

$ dig NS +short linux-notes.org

lakas.ns.cloudflare.com.
bella.ns.cloudflare.com.

12. Как выглядит делегация в моей зоне?

$ dig linux-notes.org +trace

 

dig linux-notes.org +trace

dig linux-notes.org +trace

 13. Какое значение в кэше отдает resolver?

$ dig google.com @8.8.8.8
dig google.com @8.8.8.8

dig google.com @8.8.8.8

14. Вывод синхронизированы ли зоны со всеми NS?

$ dig linux-notes.org  +nssearch

SOA bella.ns.cloudflare.com. dns.cloudflare.com. 2016847280 10000 2400 604800 3600 from server 173.245.58.74 in 33 ms.
SOA bella.ns.cloudflare.com. dns.cloudflare.com. 2016847280 10000 2400 604800 3600 from server 173.245.59.194 in 33 ms.

 Если вы заинтересованы только в сравнении с серийным номером, можно отфильтровать нежелательное и отсортировать результаты и так же удалить все дубликаты строк:

$ dig linux-notes.org  +nssearch | cut -d ' ' -f 4 | sort | uniq  -c

   2 2016847280

Итак, теперь вы знаете, около трех кодов ошибок DNS:  NXDOMAIN, REFUSED и NOERROR. Есть другие коды возврата DNS (коды состояния), которые объясняются следующим образом:

NOERROR (RCODE:0): DNS Query completed successfully — DNS запрос выполнен успешно.
FORMERR (RCODE:1): DNS Query Format Error — DNS ошибка формата на запрос.
SERVFAIL (RCODE:2): Server failed to complete the DNS request — Серверу не удалось завершить запрос DNS.
NXDOMAIN (RCODE:3): Domain name does not exist — Доменное имя не существует.
NOTIMP (RCODE:4): Function not implemented — Функция не реализована.
REFUSED (RCODE:5): The server refused to answer for the query — сервер отказался отвечать на запрос.
YXDOMAIN (RCODE:6): Name that should not exist, does exist — Имя, которое не должно существовать, существует.
XRRSET (RCODE:7): RRset that should not exist, does exist — RRset который не должен существовать, существует.
NOTAUTH (RCODE:9): Server not authoritative for the zone — Сервер не является авторитетным для зоны.
NOTZONE (RCODE:10): Name not in zone —  Имя не в зоне.

В этой статье «Установка dig в CentOS» постарался рассказать как установить и как пользоваться утилитой dig.

 

The post Установка dig в CentOS first appeared on linux-notes.org.]]>
https://linux-notes.org/ustanovka-dig-v-centos/feed/ 0