diff --git a/DNS/BIND_install.md b/DNS/BIND_install.md index 94fbdc0..9ab7c4a 100644 --- a/DNS/BIND_install.md +++ b/DNS/BIND_install.md @@ -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 ```sh sudo apt-get update && @@ -35,8 +40,14 @@ Opening the configuration file На этом базовая настройка закончена. Наш сервер готов принимать и отдавать запросы и работать, как кэширующий dns. - - +Смотрим какие зоны поддерживает bind: +```sh + mcedit /etc/bind/named.conf.local +``` +смотрим подробнее что записано в зоне: +```sh + sudo cat /var/cache/bind/dirt.kz +``` Далее создаём клиента согласно: https://help.ubuntu.ru/wiki/динамический_днс_своими_руками diff --git a/DNS/PowerDNS_install.md b/DNS/PowerDNS_install.md index 259c4be..e4704d4 100644 --- a/DNS/PowerDNS_install.md +++ b/DNS/PowerDNS_install.md @@ -2,7 +2,7 @@ **************************************************************************************************** ## 2. Подключаемся к нужному серверу ```sh -ssh igor@192.168.200.85 -p 22 +ssh root@bigfoottrade.kz -p 2222 ``` Connect to CCALM Georgia infrastructure: ```sh @@ -15,31 +15,32 @@ DNS на Ubuntu 24.04 согласно инстркции https://phoenixnap.com Можно было-бы использовать не 53 порт, но провайдер не даёт указывать порт при настройке DNS серверов (не знаю какие локальные проблемы могут возникнуть если задать не 53 порт) Устанавливаем сам 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 sudo apt-get update && sudo apt-get upgrade -y ``` + Install PowerDNS server ```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 смотри: [Установка PowerDNS с MariaDB](./PowerDNS_install_MarinaDB.md) ---------------------------------------------------------------------------------------------------- Как настроить SQLite3 базу для использования в PowerDNS смотри: -[Установка PowerDNS с MariaDB](./PowerDNS_install_SQIite3.md) +[Установка PowerDNS с SQIite3](./PowerDNS_install_SQIite3.md) ---------------------------------------------------------------------------------------------------- Как настроить 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й табуляции): @@ -48,6 +49,12 @@ sudo cp pdns.conf pdns.conf.bak 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 ```sh cd /etc/powerdns/ && @@ -57,9 +64,10 @@ allow-axfr-ips=127.0.0.1 also-notify=127.0.0.1 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 log-dns-details=on @@ -68,9 +76,9 @@ log-timestamp=yes loglevel=4 webserver=yes -webserver-address=127.0.0.1 +webserver-address=0.0.0.0 webserver-allow-from=::/0, 0.0.0.0/0 -webserver-port=8091 +webserver-port=8070 master=yes slave=no @@ -80,14 +88,28 @@ api=yes api-key=40c89f2a-e2f3-4ff8-a245-3547111f6677 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: ```sh sudo systemctl stop pdns && sudo pdns_server --daemon=no --guardian=no --loglevel=9 ``` + + + Пытаемся открыть WEB интерфейс ```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 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 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 add-record geovizor.top ns1 A 88.218.94.134 && -sudo pdnsutil add-record geovizor.top ns2 A 88.218.94.134 && -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 @ A 5.251.150.30 && +sudo pdnsutil add-record geovizor.top "*" A 5.251.150.30 && 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 mail A 3600 88.218.94.134 && -sudo pdnsutil add-record geovizor.top powerdns 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 @ 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 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 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 @ 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 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 ns2.geovizor.top ``` @@ -159,12 +223,15 @@ Minimum = 3600 (1 час) Проверим список зон ```sh sudo pdnsutil list-all-zones && -sudo pdnsutil list-zone geovizor.top +sudo pdnsutil list-zone locust.kz ``` Проверяем отвечалет ли: ```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 dig @127.0.0.1 -p 53 geovizor.top A ``` @@ -204,8 +271,6 @@ curl -X PATCH \ }' ``` - - ## ********** Настройка рекурсивного DNS от PowerDNS Recursor 4.9.3 порту 53 будет обрабатывать запросы с локальной машины ********** Документация: https://doc.powerdns.com/recursor/index.html Документация: https://docs.powerdns.com/recursor/indexTOC.html