What is the Response Rate Limiting Feature in BIND?
RRL, or Response Rate Limiting, is an enhancement to the DNS protocol which serves as a mitigation tool for the problem of DNS amplification attacks. At this time, RRL implementation is only recommended for authoritative servers.
DNS reply packets are usually larger than query packets and (depending on the question asked) can be much larger. By sending a question that is known to have a large reply packet, an attacker can multiply the effectiveness of attacking target machines by sending them garbage data. The attacker sends out a large number of DNS queries that are forged to look like they were sent by the victim, so that the large response packets get sent to that victim. This is the classic DNS DDoS; for more information on these attacks, please see: What is a DNS Amplification Attack?.
Excessive nearly-identical UDP responses can be controlled by configuring a rate-limit clause in an options or view statement. This mechanism keeps authoritative BIND 9 from being used as part of a DNS amplification attack. If a response to a legitimate client is blocked, it will retry with UDP or TCP. The RRL mechanism is intended for authoritative name servers. While it will work on recursive servers, it is more likely to generate false positives there. Limiting access to a recursive server is a better means of preventing their abuse.
Once you have built an executable binary of BIND 9.9 that includes the Response Rate Limiter feature, the instructions for using it are the same as for BIND 9.10, and are documented in Using the Response Rate Limiting Feature.