PowerDNS modif

This commit is contained in:
2025-05-16 22:34:24 +05:00
parent 19407be225
commit cab906cff1
2 changed files with 109 additions and 33 deletions

View File

@ -1,4 +1,9 @@
**************************************************************************************************** ****************************************************************************************************
## 1. Подключаемся к нужному серверу
```sh
ssh root@bigfoottrade.kz -p 2222
```
****************************************************************************************************
Собственный DynDNS на Linux для observer.kz для начала устанавливаем BIND 9.13 and later по этому мануалу https://www.dmosk.ru/miniinstruktions.php?mini=bind-ubuntu и по этому для новой версии https://www.netss.by/?p=26 Собственный DynDNS на Linux для observer.kz для начала устанавливаем BIND 9.13 and later по этому мануалу https://www.dmosk.ru/miniinstruktions.php?mini=bind-ubuntu и по этому для новой версии https://www.netss.by/?p=26
```sh ```sh
sudo apt-get update && sudo apt-get update &&
@ -35,8 +40,14 @@ Opening the configuration file
На этом базовая настройка закончена. Наш сервер готов принимать и отдавать запросы и работать, как кэширующий dns. На этом базовая настройка закончена. Наш сервер готов принимать и отдавать запросы и работать, как кэширующий dns.
Смотрим какие зоны поддерживает bind:
```sh
mcedit /etc/bind/named.conf.local
```
смотрим подробнее что записано в зоне:
```sh
sudo cat /var/cache/bind/dirt.kz
```
Далее создаём клиента согласно: https://help.ubuntu.ru/wiki/динамический_днс_своими_руками Далее создаём клиента согласно: https://help.ubuntu.ru/wiki/динамический_днс_своими_руками

View File

@ -2,7 +2,7 @@
**************************************************************************************************** ****************************************************************************************************
## 2. Подключаемся к нужному серверу ## 2. Подключаемся к нужному серверу
```sh ```sh
ssh igor@192.168.200.85 -p 22 ssh root@bigfoottrade.kz -p 2222
``` ```
Connect to CCALM Georgia infrastructure: Connect to CCALM Georgia infrastructure:
```sh ```sh
@ -15,31 +15,32 @@ DNS на Ubuntu 24.04 согласно инстркции https://phoenixnap.com
Можно было-бы использовать не 53 порт, но провайдер не даёт указывать порт при настройке DNS серверов (не знаю какие локальные проблемы могут возникнуть если задать не 53 порт) Можно было-бы использовать не 53 порт, но провайдер не даёт указывать порт при настройке DNS серверов (не знаю какие локальные проблемы могут возникнуть если задать не 53 порт)
Устанавливаем сам PowerDNS https://doc.powerdns.com/authoritative/installation.html Устанавливаем сам PowerDNS https://doc.powerdns.com/authoritative/installation.html
Для установки версии поновее PowerDNS 4.8.5:
```sh
sudo apt install curl gnupg lsb-release &&
curl https://repo.powerdns.com/FD380FBB-pub.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/pdns.gpg &&
echo "deb [signed-by=/etc/apt/trusted.gpg.d/pdns.gpg] http://repo.powerdns.com/ubuntu $(lsb_release -cs)-auth-48 main" | sudo tee /etc/apt/sources.list.d/pdns.list
```
```sh ```sh
sudo apt-get update && sudo apt-get update &&
sudo apt-get upgrade -y sudo apt-get upgrade -y
``` ```
Install PowerDNS server Install PowerDNS server
```sh ```sh
sudo apt-get install pdns-server -y sudo apt-get install pdns-server -y &&
sudo apt-get install pdns-backend-bind
``` ```
На всякий случай делаю резервные копии исходных файлов настрое:
```sh
cd /etc/powerdns &&
sudo cp named.conf named.conf.bak &&
sudo cp pdns.conf pdns.conf.bak
```
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
Как настроить MariaDB базу для использования в PowerDNS смотри: Как настроить MariaDB базу для использования в PowerDNS смотри:
[Установка PowerDNS с MariaDB](./PowerDNS_install_MarinaDB.md) [Установка PowerDNS с MariaDB](./PowerDNS_install_MarinaDB.md)
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
Как настроить SQLite3 базу для использования в PowerDNS смотри: Как настроить SQLite3 базу для использования в PowerDNS смотри:
[Установка PowerDNS с MariaDB](./PowerDNS_install_SQIite3.md) [Установка PowerDNS с SQIite3](./PowerDNS_install_SQIite3.md)
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
Как настроить PostgreSQL базу для использования в PowerDNS смотри: Как настроить PostgreSQL базу для использования в PowerDNS смотри:
[Установка PowerDNS с MariaDB](./PowerDNS_install_PostgreSQL.md) [Установка PowerDNS с PostgreSQL](./PowerDNS_install_PostgreSQL.md)
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
Наспройку файла pdns.conf авторитетный сервер, есть такой пример который следует изучить: https://raw.githubusercontent.com/trinv/PowerDNS/a56b9122f4a2de9c1f789009f09b9831f74d8bf1/pdns.template.master.conf (естественно без 1й табуляции): Наспройку файла pdns.conf авторитетный сервер, есть такой пример который следует изучить: https://raw.githubusercontent.com/trinv/PowerDNS/a56b9122f4a2de9c1f789009f09b9831f74d8bf1/pdns.template.master.conf (естественно без 1й табуляции):
@ -48,6 +49,12 @@ sudo cp pdns.conf pdns.conf.bak
sudo mcedit /etc/powerdns/pdns.conf sudo mcedit /etc/powerdns/pdns.conf
``` ```
```sh
sudo mkdir /var/run/pdns &&
sudo chown pdns:pdns /var/run/pdns &&
sudo chmod 750 /var/run/pdns
```
Write new settings rr Write new settings rr
```sh ```sh
cd /etc/powerdns/ && cd /etc/powerdns/ &&
@ -57,9 +64,10 @@ allow-axfr-ips=127.0.0.1
also-notify=127.0.0.1 also-notify=127.0.0.1
include-dir=/etc/powerdns/pdns.d include-dir=/etc/powerdns/pdns.d
launch= launch=bind
local-address=88.218.94.134,127.0.0.1
local-address=77.240.38.108,127.0.0.1
local-port=53 local-port=53
log-dns-details=on log-dns-details=on
@ -68,9 +76,9 @@ log-timestamp=yes
loglevel=4 loglevel=4
webserver=yes webserver=yes
webserver-address=127.0.0.1 webserver-address=0.0.0.0
webserver-allow-from=::/0, 0.0.0.0/0 webserver-allow-from=::/0, 0.0.0.0/0
webserver-port=8091 webserver-port=8070
master=yes master=yes
slave=no slave=no
@ -80,14 +88,28 @@ api=yes
api-key=40c89f2a-e2f3-4ff8-a245-3547111f6677 api-key=40c89f2a-e2f3-4ff8-a245-3547111f6677
EOF EOF
``` ```
```sh
sudo chown pdns:pdns /etc/powerdns/pdns.conf &&
sudo chmod 640 /etc/powerdns/pdns.conf
```
Также пробуем запустить под pdns:
```sh
sudo rm -f /var/run/pdns.controlsocket &&
sudo -u pdns /usr/sbin/pdns_server --config-dir=/etc/powerdns
```
Проверяю соединение к базе перезапустив PowerDNS: Проверяю соединение к базе перезапустив PowerDNS:
```sh ```sh
sudo systemctl stop pdns && sudo systemctl stop pdns &&
sudo pdns_server --daemon=no --guardian=no --loglevel=9 sudo pdns_server --daemon=no --guardian=no --loglevel=9
``` ```
Пытаемся открыть WEB интерфейс Пытаемся открыть WEB интерфейс
```sh ```sh
start http://88.218.94.134:8081 start http://77.240.38.108:8070
``` ```
Если всё норм выполняем: Если всё норм выполняем:
@ -111,31 +133,73 @@ start http://88.218.94.134:8081
sudo pdnsutil create-zone test ns1.test && sudo pdnsutil create-zone test ns1.test &&
sudo pdnsutil add-record test ccalm A 192.168.200.184 sudo pdnsutil add-record test ccalm A 192.168.200.184
``` ```
Добавляем зону и две записи Добавляем зону и записи
```sh
sudo pdnsutil create-zone mesh.kz &&
sudo pdnsutil replace-rrset mesh.kz @ SOA "ns1.mesh.kz admin.mesh.kz $(date +%Y%m%d)01 10800 3600 604800 3600" &&
sudo pdnsutil add-record mesh.kz @ A 5.251.150.30 &&
sudo pdnsutil add-record mesh.kz "*" A 5.251.150.30 &&
sudo pdnsutil add-record mesh.kz @ CAA 3600 "0 issue \"letsencrypt.org\"" &&
sudo pdnsutil add-record mesh.kz @ TXT 3600 "\"v=spf1 ip4:77.240.38.108 -all\"" &&
sudo pdnsutil add-record mesh.kz @ MX 3600 "10 mail.mesh.kz." &&
sudo pdnsutil add-record mesh.kz mail A 3600 77.240.38.108
sudo pdnsutil add-record mesh.kz @ NS 3600 ns1.mesh.kz
sudo pdnsutil add-record mesh.kz @ NS 3600 ns2.mesh.kz
```
```sh
sudo pdnsutil create-zone dirt.kz &&
sudo pdnsutil replace-rrset dirt.kz @ SOA "ns1.dirt.kz admin.dirt.kz $(date +%Y%m%d)01 10800 3600 604800 3600" &&
sudo pdnsutil add-record dirt.kz @ A 5.251.150.30 &&
sudo pdnsutil add-record dirt.kz "*" A 5.251.150.30 &&
sudo pdnsutil add-record dirt.kz @ CAA 3600 "0 issue \"letsencrypt.org\"" &&
sudo pdnsutil add-record dirt.kz @ TXT 3600 "\"v=spf1 ip4:77.240.38.108 -all\"" &&
sudo pdnsutil add-record dirt.kz @ MX 3600 "10 mail.dirt.kz." &&
sudo pdnsutil add-record dirt.kz mail A 3600 77.240.38.108 &&
sudo pdnsutil add-record dirt.kz @ NS 3600 ns1.dirt.kz &&
sudo pdnsutil add-record dirt.kz @ NS 3600 ns2.dirt.kz &&
sudo pdnsutil add-record dirt.kz ns1 A 77.240.38.108 &&
sudo pdnsutil add-record dirt.kz ns2 A 77.240.38.108
```
```sh ```sh
sudo pdnsutil create-zone geovizor.top && sudo pdnsutil create-zone geovizor.top &&
sudo pdnsutil replace-rrset geovizor.top @ SOA "ns1.geovizor.top admin.geovizor.top $(date +%Y%m%d)01 10800 3600 604800 3600" && sudo pdnsutil replace-rrset geovizor.top @ SOA "ns1.geovizor.top admin.geovizor.top $(date +%Y%m%d)01 10800 3600 604800 3600" &&
sudo pdnsutil add-record geovizor.top ns1 A 88.218.94.134 && sudo pdnsutil add-record geovizor.top @ A 5.251.150.30 &&
sudo pdnsutil add-record geovizor.top ns2 A 88.218.94.134 && sudo pdnsutil add-record geovizor.top "*" A 5.251.150.30 &&
sudo pdnsutil add-record geovizor.top @ A 88.218.94.134 &&
sudo pdnsutil add-record geovizor.top * A 88.218.94.134 &&
sudo pdnsutil add-record geovizor.top @ CAA 3600 "0 issue \"letsencrypt.org\"" && sudo pdnsutil add-record geovizor.top @ CAA 3600 "0 issue \"letsencrypt.org\"" &&
sudo pdnsutil add-record geovizor.top @ TXT 3600 "\"v=spf1 ip4:88.218.94.134 -all\"" && sudo pdnsutil add-record geovizor.top @ TXT 3600 "\"v=spf1 ip4:77.240.38.108 -all\"" &&
sudo pdnsutil add-record geovizor.top @ MX 3600 "10 mail.geovizor.top." && sudo pdnsutil add-record geovizor.top @ MX 3600 "10 mail.geovizor.top." &&
sudo pdnsutil add-record geovizor.top mail A 3600 88.218.94.134 && sudo pdnsutil add-record geovizor.top mail A 3600 77.240.38.108 &&
sudo pdnsutil add-record geovizor.top powerdns A 3600 88.218.94.134 sudo pdnsutil add-record geovizor.top @ NS 3600 ns1.geovizor.top &&
sudo pdnsutil add-record geovizor.top @ NS 3600 ns2.geovizor.top &&
sudo pdnsutil add-record geovizor.top ns1 A 77.240.38.108 &&
sudo pdnsutil add-record geovizor.top ns2 A 77.240.38.108
```
```sh
sudo pdnsutil create-zone locust.kz &&
sudo pdnsutil replace-rrset locust.kz @ SOA "ns1.locust.kz admin.locust.kz $(date +%Y%m%d)01 10800 3600 604800 3600" &&
sudo pdnsutil add-record locust.kz @ A 5.251.150.30 &&
sudo pdnsutil add-record locust.kz "*" A 5.251.150.30 &&
sudo pdnsutil add-record locust.kz @ CAA 3600 "0 issue \"letsencrypt.org\"" &&
sudo pdnsutil add-record locust.kz @ TXT 3600 "\"v=spf1 ip4:77.240.38.108 -all\"" &&
sudo pdnsutil add-record locust.kz @ MX 3600 "10 mail.locust.kz." &&
sudo pdnsutil add-record locust.kz mail A 3600 77.240.38.108
sudo pdnsutil add-record locust.kz @ NS 3600 ns1.locust.kz
sudo pdnsutil add-record locust.kz @ NS 3600 ns2.locust.kz
``` ```
```sh ```sh
sudo pdnsutil create-zone locust.ge && sudo pdnsutil create-zone locust.ge &&
sudo pdnsutil replace-rrset locust.ge @ SOA "ns1.geovizor.top admin.locust.ge $(date +%Y%m%d)01 10800 3600 604800 3600" && sudo pdnsutil replace-rrset locust.ge @ SOA "ns1.geovizor.top admin.locust.ge $(date +%Y%m%d)01 10800 3600 604800 3600" &&
sudo pdnsutil add-record locust.ge @ A 88.218.94.134 && sudo pdnsutil add-record locust.ge @ A 88.218.94.134 &&
sudo pdnsutil add-record locust.ge * A 88.218.94.134 && sudo pdnsutil add-record locust.ge "*" A 88.218.94.134 &&
sudo pdnsutil add-record locust.ge @ CAA 3600 "0 issue \"letsencrypt.org\"" && sudo pdnsutil add-record locust.ge @ CAA 3600 "0 issue \"letsencrypt.org\"" &&
sudo pdnsutil add-record locust.ge @ TXT 3600 "\"v=spf1 ip4:88.218.94.134 -all\"" && sudo pdnsutil add-record locust.ge @ TXT 3600 "\"v=spf1 ip4:88.218.94.134 -all\"" &&
sudo pdnsutil add-record locust.ge @ MX 3600 "10 mail.locust.ge." && sudo pdnsutil add-record locust.ge @ MX 3600 "10 mail.locust.ge." &&
sudo pdnsutil add-record locust.ge mail A 3600 88.218.94.134 sudo pdnsutil add-record locust.ge mail A 3600 88.218.94.134
sudo pdnsutil add-record locust.ge @ NS 3600 ns1.geovizor.top sudo pdnsutil add-record locust.ge @ NS 3600 ns1.geovizor.top
sudo pdnsutil add-record locust.ge @ NS 3600 ns2.geovizor.top sudo pdnsutil add-record locust.ge @ NS 3600 ns2.geovizor.top
``` ```
@ -159,12 +223,15 @@ Minimum = 3600 (1 час)
Проверим список зон Проверим список зон
```sh ```sh
sudo pdnsutil list-all-zones && sudo pdnsutil list-all-zones &&
sudo pdnsutil list-zone geovizor.top sudo pdnsutil list-zone locust.kz
``` ```
Проверяем отвечалет ли: Проверяем отвечалет ли:
```sh ```sh
dig @127.0.0.1 -p 5300 ccalm.test A dig @127.0.0.1 -p 53 mesh.kz A
``` ```
dig @77.240.38.108 -p 53 mesh.kz A
```sh ```sh
dig @127.0.0.1 -p 53 geovizor.top A dig @127.0.0.1 -p 53 geovizor.top A
``` ```
@ -204,8 +271,6 @@ curl -X PATCH \
}' }'
``` ```
## ********** Настройка рекурсивного DNS от PowerDNS Recursor 4.9.3 порту 53 будет обрабатывать запросы с локальной машины ********** ## ********** Настройка рекурсивного DNS от PowerDNS Recursor 4.9.3 порту 53 будет обрабатывать запросы с локальной машины **********
Документация: https://doc.powerdns.com/recursor/index.html Документация: https://doc.powerdns.com/recursor/index.html
Документация: https://docs.powerdns.com/recursor/indexTOC.html Документация: https://docs.powerdns.com/recursor/indexTOC.html