这篇文章上次修改于 2187 天前,可能其部分内容已经发生变化,如有疑问可询问作者。 内网为ipv4,ipv6双网络,默认情况下,支持ipv6的网站优先解析到AAAA而走了ipv6网络,而加速通道只有ipv4支持,不利于部分网站走加速通道。 好在bind提供了filter-aaaa。可以根据用户网络情况返回不同优先级的记录。 bind9内开始支持filter-aaaa-v4/v6,主要的作用其实只是对相应的报文里作删除AAAA记录(如有)。单独验证了一下 1. filter-aaaa-on-v4 ``` 1.1 默认为no 如果有AAAA记录会全量返回 AAAA记录 如果没AAAA记录返回NOERR+SOA 1.2 设置为yes(Client IP为IPV4) 如果有AAAA记录会被删除返回返回NOERR+SOA 如果没AAAA记录返回NOERR+SOA 1.3 设置为yes(Client IP为IPV6) 行为不受影响。 ``` 2. filter-aaaa-on-v6 ``` 2.1 默认为no 如果有AAAA记录会全量返回 AAAA记录 如果没AAAA记录返回NOERR+SOA 2.2 设置为yes(Client IP为IPV4) 行为不受影响。 2.3 设置为yes(Client IP为IPV6) 如果有AAAA记录会被删除返回返回NOERR+SOA 如果没AAAA记录返回NOERR+SOA ``` 贴上自己的配置: ``` acl localnet { 10.1.0.0/16; 172.17.42.1/32; 127.0.0.1/32; }; options { directory "/var/cache/bind"; version "unknown"; dump-file "/var/lib/bind/cache_dump.db"; statistics-file "/var/lib/bind/named_stats.txt"; zone-statistics yes; allow-recursion { localnet; }; max-ncache-ttl 300; max-cache-ttl 3600; lame-ttl 600; max-cache-size 512M; // IIJ DNS Server forwarders { 8.8.8.8; 8.8.4.4; }; filter-aaaa-on-v4 yes; listen-on port 53 { localnet; }; }; ``` 这样上级路由转发时,填写该bind服务器的ipv4地址即可。 注:filter-aaaa即便打开,当用户查询AAAA的时候bind也会去递归查询AAAA记录,只是返回给客户端的记录做了过滤。
没有评论