посмотреть записи ns dns-сервера через dig [ DoH сервер ]

Ответить
ya
^-^
Сообщения: 3251
Зарегистрирован: 16 дек 2021, 19:56

посмотреть записи ns dns-сервера через dig [ DoH сервер ]

Сообщение ya »

для debian

Код: Выделить всё

sudo apt install dnsutils
для alpine

Код: Выделить всё

sudo apk add bind-tools
Искользовать:

Код: Выделить всё

dig @ns-server -p port хост
или

Код: Выделить всё

host хост
Узнать сведения whois. Она покажет данные о регистрации блока IP-адресов или о регистрации доменного имени

Установка

Код: Выделить всё

sudo apt install whois
Использование

Код: Выделить всё

whois 2a0c:480:a4::1
ya
^-^
Сообщения: 3251
Зарегистрирован: 16 дек 2021, 19:56

Re: посмотреть записи ns dns-сервера через dig

Сообщение ya »

https://documentation.ubuntu.com/server/how-to/networking/install-dns/

Служба доменных имен (DNS)
Служба доменных имен (DNS) — это интернет-служба, которая сопоставляет IP-адреса и полные доменные имена (FQDN). Таким образом, DNS избавляет от необходимости запоминать IP-адреса. Компьютеры, на которых работает DNS, называются серверами имен. Ubuntu поставляется с Berkley Internet Naming Daemon (BIND), наиболее распространенной программой, используемой для обслуживания сервера имен в Linux.
ya
^-^
Сообщения: 3251
Зарегистрирован: 16 дек 2021, 19:56

Re: посмотреть записи ns dns-сервера через dig

Сообщение ya »

Set Up DNS over HTTPS (DoH) Resolver on Debian with DNSdist
https://www.linuxbabe.com/debian/set-up-dns-over-https-doh-resolver-debian-dnsdist

Set Up Your Own DNS Resolver on Debian with BIND9
https://www.linuxbabe.com/debian/dns-resolver-debian-10-buster-bind9

DoH против DoT
Существует еще один протокол, который также предназначен для шифрования DNS-запросов. Он называется DNS over TLS (DoT). Каковы преимущества использования DNS over HTTPS?

DoH работает на TCP-порте 443, который является стандартным портом для HTTPS-сайтов

/etc/dnsdist/dnsdist.conf

Код: Выделить всё

-- allow query from all IP addresses
addACL('0.0.0.0/0')

-- add a DoH resolver listening on port 443 of all interfaces
addDOHLocal("0.0.0.0:443", "/etc/letsencrypt/live/doh.example.com/fullchain.pem", "/etc/letsencrypt/live/doh.example.com/privkey.pem", { "/" }, { doTCP=true, reusePort=true, tcpFastOpenSize=0 })

-- downstream resolver
newServer({address="127.0.0.1:53",qps=5, name="resolver1"})

Код: Выделить всё

sudo apt install acl

sudo setfacl -R -m u:_dnsdist:rx /etc/letsencrypt/

Код: Выделить всё

sudo dnsdist --check-config

Код: Выделить всё

sudo systemctl restart dnsdist
sudo crontab -e

Код: Выделить всё

@daily certbot renew --quiet; setfacl -R -m u:_dnsdist:rx /etc/letsencrypt/
ya
^-^
Сообщения: 3251
Зарегистрирован: 16 дек 2021, 19:56

Re: посмотреть записи ns dns-сервера через dig

Сообщение ya »

bind9

Код: Выделить всё

sudo apt update
sudo apt install bind9 bind9utils bind9-doc bind9-host dnsutils
/etc/bind/named.conf.options
options {
listen-on {any;};
allow-query-cache {any;};
dnssec-validation auto;
auth-nxdomain no;

Код: Выделить всё

 // hide version number from clients for security reasons.
 version "not currently available";

 // optional - BIND default behavior is recursion
 recursion yes;

  // enable the query log
 querylog yes;
};


проверить:

named -v версию
netstat -lnptu | grep named порты, которые слушает bind9
sudo rndc status текущий статус днс-сервера
sudo named-checkconf правильность конфигурации
sudo systemctl status bind9 статус
ya
^-^
Сообщения: 3251
Зарегистрирован: 16 дек 2021, 19:56

Re: посмотреть записи ns dns-сервера через dig

Сообщение ya »

Генерация ключей dnssec

Код: Выделить всё

  
#!/bin/bash

  if /usr/sbin/rndc-confgen -a -A hmac-sha256 > /dev/null 2>&1
   then
   	:
   fi
  
/etc/bind/named.conf.options

Код: Выделить всё

...
bindkeys-file "/etc/bind/rndc.key";
...
ya
^-^
Сообщения: 3251
Зарегистрирован: 16 дек 2021, 19:56

Re: посмотреть записи ns dns-сервера через dig

Сообщение ya »

Код: Выделить всё

journalctl -u cloudflared

Код: Выделить всё

curl -v https://1.0.0.2/dns-query

Код: Выделить всё

apt install knot-dnsutils

Код: Выделить всё

kdig +tls @1.0.0.2 example.com
ya
^-^
Сообщения: 3251
Зарегистрирован: 16 дек 2021, 19:56

Re: посмотреть записи ns dns-сервера через dig [ DoH сервер ]

Сообщение ya »

проверка обратной зоны (актуально для почтовых серверов, например mx.hardprivate.com)

Код: Выделить всё

dig -x  212.80.216.72
ya
^-^
Сообщения: 3251
Зарегистрирован: 16 дек 2021, 19:56

Re: посмотреть записи ns dns-сервера через dig [ DoH сервер ]

Сообщение ya »

Код: Выделить всё

dig +short AAAA $DOMAIN

Код: Выделить всё

dig +short A $DOMAIN
Скрипт резолвит домен, и если есть AAAA-адрес, добавляет IPv4-адрес этого домена в чс для iptables.

Код: Выделить всё

# Создаем список блокнутых IPv4
ipset create block_ipv4 hash:ip

# Правило в iptables: реджектнуть трафик на адреса из списка
iptables -A OUTPUT -m set --match-set block_ipv4 dst -j REJECT

Код: Выделить всё

#!/bin/bash
DOMAIN="example.com"

# Проверяем наличие AAAA записи
IPV6=$(dig +short AAAA $DOMAIN)

if [ ! -z "$IPV6" ]; then
    # Если IPv6 есть, находим все IPv4 и заносим в бан-лист
    IPV4_LIST=$(dig +short A $DOMAIN)
    for ip in $IPV4_LIST; do
        ipset add block_ipv4 $ip
    done
    echo "IPv6 detected for $DOMAIN. IPv4 addresses blocked."
else
    echo "No IPv6 for $DOMAIN. Directing via IPv4."
fi
В Linux за выбор между IPv4 и IPv6 отвечает файл /etc/gai.conf. По умолчанию IPv6 и так имеет приоритет, но вы можете это закрепить.

Чтобы система всегда предпочитала IPv6 при наличии выбора:

Откройте файл: nano /etc/gai.conf

Найдите или добавьте строку:
precedence ::ffff:0:0/96 10
(Это установит стандартный приоритет, где нативные IPv6 адреса выше IPv4-mapped адресов).
ya
^-^
Сообщения: 3251
Зарегистрирован: 16 дек 2021, 19:56

Re: посмотреть записи ns dns-сервера через dig [ DoH сервер ]

Сообщение ya »

Шаг 1. Проверьте системное время (Самая частая причина!)
DNSSEC жестко завязан на время. Подписи безопасности имеют ограниченный срок действия. Если на вашем сервере e25 сбились часы или часовой пояс, BIND будет считать все подписи просроченными или еще не наступившими.

Код: Выделить всё

timedatectl
Если время спешит или отстает, включите синхронизацию:

Код: Выделить всё

sudo systemctl enable --now systemd-timesyncd
Перезапустите BIND:

Код: Выделить всё

sudo systemctl restart bind9
Шаг 2. Обновите ключи DNSSEC (Или отключите их временно)
Если со временем всё в порядке, возможно, на сервере устарел файл с корневыми ключами (managed-keys / trust-anchors).
Если вам нужно, чтобы интернет заработал прямо сейчас, можно временно отключить проверку DNSSEC.

/etc/bind/named.conf.options

Код: Выделить всё

dnssec-validation no;
Вариант Б: Правильный (Обновить ключи)

Код: Выделить всё

sudo apt-get install --only-upgrade bind9-dnsutils dns-root-data
После этого очистите кэш BIND:

Код: Выделить всё

rndc flush
Шаг 3. Проверьте блокировку UDP/TCP на порту 53

Код: Выделить всё

dig +dnssec @199.7.91.13 . NS
ya
^-^
Сообщения: 3251
Зарегистрирован: 16 дек 2021, 19:56

Re: посмотреть записи ns dns-сервера через dig [ DoH сервер ]

Сообщение ya »

Проверить конфигурацию днс:

Код: Выделить всё

named-checkconf /etc/bind/named.conf
Если REFUSED прилетает не от внешних серверов, а ваш сервер сам отвечает клиентам отказом (хотя по логу видно, что это ответ для вашего сервера от внешних IP 89.35.125.31), на всякий случай проверьте, кому разрешено делать рекурсивные запросы.

В том же файле named.conf.options должны быть открыты разрешения для вашей локальной сети:

Код: Выделить всё

options {
    directory "/var/cache/bind";

    // Разрешить запросы ото всех, либо из доверенной подсети (acl)
    allow-query { any; }; 
    
    // Разрешить рекурсию только для локальной сети и самого сервера
    allow-recursion { localhost; localnets; }; 
    
    // ... ваши остальные настройки
};
Ответить