bind rpz常见的用法

bind 从9.10开始,将RPZ(Response Policy Zones)的性能做了进一步优化,解决了之前RPZ引起的性能下降问题,目前是可以大规模做部署。
简单整理常见的RPZ规则用法

  1. 劫持某个域名(劫持www.google.com)
    ./client add www.google.com.rpz.zone. A 8.8.8.8

  2. 丢弃某个域名的解析请求(丢弃对www.google.com的解析请求)
    ./client add blog.gnuers.org.rpz.zone. CNAME rpz-drop.

  3. 将某个域名解析到NXDOMAIN(www.google.com指向NXDOMAIN)
    ./client add www.google.com.rpz.zone. CNAME .

  4. 禁用掉某个IP的DNS请求(丢弃8.8.8.8/32的DNS 请求)
    ./client add 32.8.8.8.8.rpz-client-ip.rpz.zone. CNAME rpz-drop.

  5. 封禁某个NS上的域名解析 (将ns1.google.com.返回的DNS查询置NXDOMAIN或者指向127.0.0.1)
    ./client add ns1.google.com.rpz-nsdname.rpz.zone. CNAME .
    ./client add ns1.google.com.rpz-nsdname.rpz.zone. A 127.0.0.1

  6. 封禁某个NSIP的域名解析(将NS IP 匹配8.8.8.8/32的DNS响应置位NXDOMAI或者劫持到127.0.0.1)
    ./client add 32.8.8.8.8.rpz-nsip.rpz.zone. CNAME .

    ./client add 32.8.8.8.8.rpz-nsip.rpz.zone. A 127.0.0.1

  7. 封禁指向某个IP的域名解析
    ./client add 32.8.8.8.8.rpz-ip.rpz.zone. CNAME .

    ./client add 32.8.8.8.8.rpz-ip.rpz.zone. A 127.0.0.8