Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія |
debian:powerdns [2025/04/23 20:43] – [DNSDist SNMP] Method | debian:powerdns [2025/04/30 12:51] (поточний) – Method |
---|
| |
В цій статті опишу встановлення комплексу для обслуговування DNS, в неї входить: | В цій статті опишу встановлення комплексу для обслуговування DNS, в неї входить: |
* [[debian:powerdns#prepare|Підготовка]] - базове налаштування системи та встановлення необхідних компонентів | * [[#prepare|Підготовка]] - базове налаштування системи та встановлення необхідних компонентів |
* [[debian:powerdns#install_powerdns_recursor|PowerDNS-Recursor]] - для обслуговування DNS-запитів клієнтів. Відповідає за рекурсивне вирішення DNS-запитів | * [[#install_powerdns_recursor|PowerDNS-Recursor]] - для обслуговування DNS-запитів клієнтів. Відповідає за рекурсивне вирішення DNS-запитів |
* [[debian:powerdns#install_powerdns_server|PowerDNS-Authoritative]] - для обслуговування DNS-запитів регуляторів та тримання власних DNS-зон. Відповідає за авторитарне вирішення DNS-запитів | * [[#install_powerdns_server|PowerDNS-Authoritative]] - для обслуговування DNS-запитів регуляторів та тримання власних DNS-зон. Відповідає за авторитарне вирішення DNS-запитів |
* [[debian:powerdns#install_dnsdist|DNSDist]] - високопродуктивний балансувальник DNS-запитів (теж від команди PowerDNS). Забезпечує балансування навантаження та захист від DDoS-атак | * [[#install_dnsdist|DNSDist]] - високопродуктивний балансувальник DNS-запитів (теж від команди PowerDNS). Забезпечує балансування навантаження та захист від DDoS-атак |
* [[debian:powerdns#install_powerdns_admin|PowerDNS-Admin]] - веб-інтерфейс для керування PowerDNS-Authoritative | * [[#install_powerdns_admin|PowerDNS-Admin]] - веб-інтерфейс для керування PowerDNS-Authoritative |
* [[debian:powerdns#additional_features|Додаткові можливості]] - Додаткові можливості для покращення продуктивності та функціоналу | * [[#additional_features|Додаткові можливості]] - Додаткові можливості для покращення продуктивності та функціоналу |
* [[debian:powerdns#configure_dnsdist_snmp|DNSDist SNMP]] - для моніторингу станів серверів | * [[#configure_dnsdist_snmp|DNSDist SNMP]] - для моніторингу станів серверів |
* [[debian:powerdns#configure_dnsdist_black_list|Чорний список DNSDist]] - для блокування шкідливого трафіку | * [[#configure_dnsdist_black_list|Чорний список DNSDist]] - для блокування шкідливого трафіку |
* [[debian:powerdns#configure_dnsdist_logger|Логування запитів DNSDist]] - для відстеження на запити спецслужб | * [[#configure_dnsdist_logger|Логування запитів DNSDist]] - для відстеження на запити спецслужб |
* [[debian:powerdns#notes|Нотатки]] - додаткові посилання та інформація | * [[#notes|Нотатки]] - додаткові посилання та інформація |
| |
| |
</code> | </code> |
| |
===== PowerDNS Recursor ===== | {{anchor:install_powerdns_recursor}} ===== PowerDNS Recursor ===== |
{{anchor:install_powerdns_recursor}} | |
| |
<WRAP center round info 80%> | <WRAP center round info 80%> |
apt-get update | apt-get update |
apt-get install -y pdns-recursor | apt-get install -y pdns-recursor |
cp -r /etc/powerdns/ /etc/powerdns.orig/ | cp -r /etc/powerdns/* /etc/powerdns.orig/ |
</code> | </code> |
| |
apt-get update | apt-get update |
apt-get install -y pdns-server pdns-backend-mysql | apt-get install -y pdns-server pdns-backend-mysql |
cp -r /etc/powerdns/ /etc/powerdns.orig/ | cp -r /etc/powerdns/* /etc/powerdns.orig/ |
rm /etc/powerdns/pdns.d/* | rm /etc/powerdns/pdns.d/* |
</code> | </code> |
Встановимо необхідні пакети | Встановимо необхідні пакети |
<code bash> | <code bash> |
apt install python3-dev python3-venv apt install libpq-devgit default-libmysqlclient-dev libsasl2-dev libldap2-dev libssl-dev libxml2-dev libxslt1-dev libxmlsec1-dev libffi-dev pkg-config apt-transport-https virtualenv build-essential curl jq | apt install python3-dev python3-venv libpq-dev default-libmysqlclient-dev libsasl2-dev libldap2-dev libssl-dev libxml2-dev libxslt1-dev libxmlsec1-dev libffi-dev pkg-config apt-transport-https virtualenv build-essential curl jq |
</code> | </code> |
| |
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg > /dev/null | curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg > /dev/null |
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list | echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list |
apt-get update && apt-get install yarn | apt-get update && apt-get install yarn git |
</code> | </code> |
| |
sudo systemctl daemon-reexec | sudo systemctl daemon-reexec |
sudo systemctl daemon-reload | sudo systemctl daemon-reload |
sudo systemctl enable --now get-blacklist.timer | sudo systemctl enable get-blacklist.timer |
</code> | </code> |
| |
Коментуємо рядок "mibs :" для snmp-mibs-downloader | Коментуємо рядок "mibs :" для snmp-mibs-downloader |
<code bash> | <code bash> |
nano /etc/snmp/snmp.conf | sudo sed -i 's/^mibs\s*:/#mibs :/' /etc/snmp/snmp.conf |
</code> | </code> |
| |
Налаштовуємо snmpd agentx для dnsdist | Вмикаємо snmpd agentx |
<code bash> | <code bash> |
nano /etc/snmp/snmpd.conf | cat <<EOT > /etc/snmp/snmpd.conf.d/00_agent.conf |
| master agentx |
| EOT |
</code> | </code> |
| |
Правимо конфігурацію snmpd | Конфігурація snmpd agentx для dnsdist |
<code bash> | <code bash> |
master agentx | cat <<EOT > /etc/snmp/snmpd.conf.d/10_dnsdist.conf |
agentxperms 0700 0700 _dnsdist _dnsdist | agentxperms 0700 0700 _dnsdist _dnsdist |
rocommunity dnsdist42 | rocommunity dnsdist42 |
| EOT |
| </code> |
| |
| Вказуємо IP, на яких буде слухати snmp agentx. |
| <code bash> |
| cat <<EOT > /etc/snmp/snmpd.conf.d/99_bind_address.conf |
| agentaddress 127.0.0.1,[::1], 172.16.0.16 |
| EOT |
</code> | </code> |
| |
| |
| |
{{anchor:configure_dnsdist_logger}} ==== Логування запитів DNSDist ==== | {{anchor:configure_dnsdist_logger}} |
| ==== Логування запитів DNSDist ==== |
| |
<WRAP center round info> | <WRAP center round info> |
rec_control wipe-cache | rec_control wipe-cache |
/etc/init.d/pdns-recursor status | /etc/init.d/pdns-recursor status |
| |
| |
| |
| |