Привет. Я знаю, тут есть опытных сисадминов... Собственно, поводом для исследования оказалось то, что Куклин заметил, что мой named, похоже, участвует в DNS amplification attack и попросил быстро отключить рекурсию. Отключить-то я отключил, потом полез на slave, типа починить и там, и...
Цитирую /usr/share/doc/bind9-doc/arm/Bv9ARM.ch06.html из bind9-doc 1:9.8.1.dfsg (ну и вообще интернет нам рассказывает то же самое): allow-query Specifies which hosts are allowed to ask ordinary DNS questions. allow-query may also be specified in the zone statement, in which case it overrides the options allow-query statement. If not specified, the default is to allow queries from all hosts. Note allow-query-cache is now used to specify access to the cache. Обратите внимание на "If not specified". Теперь результаты экспериментов на slave. Там версия бинда несколько более старая, 1:9.6.ESV.R4+dfsg-0+lenny2, может, разница и есть, но похоже, процитированное описание параметра достаточно давнее. Итак. Все запросы выполняются с внешнего по отношению к серверу хоста, имитирующего абстрактный хост в интернете. Изменения параметров проводятся в глобальном блоке options, для простоты. В отсутствие allow-query в named.conf.options: zsh% host minas.lasgalen.net nest.lasgalen.net; host www.ru nest.lasgalen.net Using domain server: Name: nest.lasgalen.net Address: 31.28.5.91#53 Aliases: minas.lasgalen.net has address 178.63.209.8 Using domain server: Name: nest.lasgalen.net Address: 31.28.5.91#53 Aliases: Host www.ru not found: 5(REFUSED) То есть по умолчанию имеем то поведение, которого хотелось бы (за свою зону отвечаем, с чужой посылаем). Локально при этом тоже все хорошо, т.е. локально оно на рекурсивные запросы отвечает. Эквивалентное, согласно процитированнной документации, allow-query { any; }; дает, сюрприз, нифига не эквивалентный результат, как раз позволяющий amplification (на мастере стояло именно оно): zsh% host minas.lasgalen.net nest.lasgalen.net; host www.ru nest.lasgalen.net Using domain server: Name: nest.lasgalen.net Address: 31.28.5.91#53 Aliases: minas.lasgalen.net has address 178.63.209.8 Using domain server: Name: nest.lasgalen.net Address: 31.28.5.91#53 Aliases: www.ru has address 194.87.0.50 www.ru mail is handled by 5 hq.demos.ru. Если же поставить allow-query { localhost; };, то сервер перестает отвечать наружу и за свои зоны: zsh% host minas.lasgalen.net nest.lasgalen.net; host www.ru nest.lasgalen.net Using domain server: Name: nest.lasgalen.net Address: 31.28.5.91#53 Aliases: Host minas.lasgalen.net not found: 5(REFUSED) [1] 23421 exit 1 host minas.lasgalen.net nest.lasgalen.net Using domain server: Name: nest.lasgalen.net Address: 31.28.5.91#53 Aliases: Host www.ru not found: 5(REFUSED) Как же так, дорогая редакция? Такое, гм, недокументированное поведение вообще где-то документировано, или как? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87ob9x8v3r....@wizzle.ran.pp.ru