Ser Posted January 19, 2023 · Report post Всем привет. Помогите правильно настроить BIND9 для роли обычного кеша для клиентов. 8.8.8.8 отвечает за 38 мсек. А мой сервер отвечает с паузой 10 сек. Как сделать, чтобы BIND9 отвечал быстро. # time dig @8.8.8.8 www.tvzavr.ru ; <<>> DiG 9.11.5-P4-5.1+deb10u8-Debian <<>> @8.8.8.8 www.tvzavr.ru ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 29158 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;www.tvzavr.ru. IN A ;; Query time: 38 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Чт янв 19 08:20:00 MSK 2023 ;; MSG SIZE rcvd: 42 real 0m0,063s user 0m0,013s sys 0m0,009s # time dig @127.0.0.1 www.tvzavr.ru ; <<>> DiG 9.11.5-P4-5.1+deb10u8-Debian <<>> @127.0.0.1 www.tvzavr.ru ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 22486 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: d1b8e141441660401d2ed20263c8d310cb15e3794309441e (good) ;; QUESTION SECTION: ;www.tvzavr.ru. IN A ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Чт янв 19 08:20:16 MSK 2023 ;; MSG SIZE rcvd: 70 real 0m10,022s user 0m0,008s sys 0m0,012s Лог 08:19:18.136 info: REFUSED unexpected RCODE resolving 'www.tvzavr.ru/A/IN': 89.104.93.34#53 08:19:18.163 info: REFUSED unexpected RCODE resolving 'www.tvzavr.ru/A/IN': 89.104.95.31#53 08:19:18.187 info: REFUSED unexpected RCODE resolving 'www.tvzavr.ru/A/IN': 89.104.93.33#53 08:19:18.217 info: REFUSED unexpected RCODE resolving 'www.tvzavr.ru/A/IN': 89.104.93.36#53 08:19:18.240 info: REFUSED unexpected RCODE resolving 'www.tvzavr.ru/A/IN': 89.104.95.33#53 08:19:18.272 info: REFUSED unexpected RCODE resolving 'www.tvzavr.ru/A/IN': 89.104.95.36#53 08:19:18.303 info: REFUSED unexpected RCODE resolving 'www.tvzavr.ru/A/IN': 89.104.95.34#53 08:19:18.344 info: REFUSED unexpected RCODE resolving 'www.tvzavr.ru/A/IN': 89.104.93.31#53 08:19:18.375 info: REFUSED unexpected RCODE resolving 'www.tvzavr.ru/A/IN': 89.104.95.30#53 08:19:18.414 info: REFUSED unexpected RCODE resolving 'www.tvzavr.ru/A/IN': 89.104.95.35#53 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ipaddr.ru Posted January 19, 2023 · Report post Конкретно этот tvzavr - никак, он и не должен работать. Просто негативные и lame-ответы нужно кэшировать. Иногда. https://dnsviz.net/d/www.tvzavr.ru/Y8jV6A/dnssec/ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ser Posted January 19, 2023 · Report post Помогите BIND9 настроить. чтобы он отвечал быстро на подобные запросы. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ipaddr.ru Posted January 19, 2023 · Report post В любом случае диагностика lame в первый раз будет занимать какое-то время. Сколько времени у вас второй-третий такие запросы занимают? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ser Posted January 19, 2023 · Report post Первый и последующие запросы ведут себя одинаково - 10 сек вот конфиг options { directory "/etc/bind/zones"; listen-on port 53 { х.х.х.х; 127.0.0.1; }; notify yes; check-names master ignore; check-names slave ignore; check-names response ignore; max-ncache-ttl 600; recursive-clients 20000; allow-recursion { none; }; listen-on-v6 { none; }; }; Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ipaddr.ru Posted January 19, 2023 · Report post Поиграйте с lame-ttl и servfail-ttl. Только помните: Quote The maximum value is 30 seconds; any higher value is silently reduced. The default is 1 second. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ser Posted January 19, 2023 · Report post Спасибо. Поставил servfail-ttl 10; теперь 1 раз в 10 сек у клиента долгий ответ в 10 сек. Может другие dns сервера умеют в фоне делать рекурсию, а клиенту отвечают ВСЕГДА быстро? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
korsakik Posted January 19, 2023 (edited) · Report post Для клиентов отдавайте unbound в роли кеширующего, а bind как корневой для своих зон используйте. Если никаких NS серверов для сайтов и своих доменов не держите, то вообще лучше обойтись только unbound. Несколько лет полет более чем нормальный. Мы отдаём первичный - свой unbound, а вторичный от НСДИ. И резерв на всякий случай получается и тупняков не замечалось за все время работы. Edited January 19, 2023 by korsakik Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ser Posted January 19, 2023 · Report post А можно конфиг боевой unbound увидеть? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
taf_321 Posted January 19, 2023 · Report post 46 минут назад, Ser сказал: А можно конфиг боевой unbound увидеть? server: verbosity: 1 statistics-interval: 3600 statistics-cumulative: yes num-threads: 4 interface: IP_ADDR_V4 interface: IP_ADDR_V6 outgoing-interface: IP_ADDR_V4 outgoing-interface: IP_ADDR_V6 outgoing-range: 8192 so-rcvbuf: 4m so-sndbuf: 4m so-reuseport: yes edns-buffer-size: 1232 max-udp-size: 1400 msg-cache-size: 50m num-queries-per-thread: 1024 rrset-cache-size: 100m rrset-cache-slabs: 4 cache-min-ttl: 3600 infra-cache-slabs: 4 do-ip4: yes do-ip6: yes do-udp: yes do-tcp: yes access-control: 0.0.0.0/0 refuse access-control: 127.0.0.0/8 allow access-control: NET/LEN allow access-control: ::0/0 refuse access-control: ::1 allow access-control: ::ffff:127.0.0.1 allow access-control: NET6/LEN allow root-hints: "/root-cheburnet.hints" hide-identity: yes hide-version: yes qname-minimisation: yes qname-minimisation-strict: no prefetch: yes rrset-roundrobin: yes minimal-responses: no auto-trust-anchor-file: "/var/lib/unbound/root.key" key-cache-slabs: 4 unblock-lan-zones: yes ratelimit-slabs: 4 ip-ratelimit-size: 4m ip-ratelimit-slabs: 4 remote-control: control-enable: yes control-interface: 127.0.0.1 control-interface: ::1 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ser Posted January 19, 2023 · Report post Спасибо. /var/lib/unbound/root.key идет в комплекте при установке пакета? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
taf_321 Posted January 19, 2023 · Report post Файл генерится при старте. По-идее в дистрибутиве, да и в исходниках, есть обвязка по работе с этими ключами. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ipaddr.ru Posted January 19, 2023 · Report post 7 hours ago, taf_321 said: Файл генерится при старте. Что за ерунда? Это public RSA key, сгенерировать его невозможно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted January 19, 2023 · Report post Это открытый ключ, он тянется из инета он публично доступен unbound-anchor это получает в приницпе там результат dig DNSKEY .| fgrep '257 ' . 172749 IN DNSKEY 257 3 8 AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3 +/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kv ArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF 0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+e oZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfd RUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwN R1AkUTV74bU= Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
taf_321 Posted January 20, 2023 · Report post 9 часов назад, ipaddr.ru сказал: Что за ерунда? Это public RSA key, сгенерировать его невозможно. Файл != ключ. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ipaddr.ru Posted January 20, 2023 · Report post 6 minutes ago, taf_321 said: Файл != ключ. Ну да, конечно. Quote The root key is stored in a file, /usr/local/etc/unbound/root.key Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...