DNS禁用IPv6(AAAA记录)的解析结果
- By lifetyper
- Wed 01 February 2023
相对于修改/etc/gai.conf,这种方法不会修改默认的路由优先级,而且因为是修改系统DNS,所以其实对IPv6的警用更加彻底。
安装测试版的Dnsmasq
从2.87版本开始,Dnsmasq增加了一个--filter-AAAA的选项,开启这个选项可以禁止返回所有IPv6(AAAA)解析结果,但是2.87版本目前处于测试阶段,直接apt install安装得到的2.85版本并不支持这个参数。在apt source.list中添加如下repo:
deb http://ftp.de.debian.org/debian bookworm main
apt update后安装dnsmasq就可以得到最新测试版的dnsmasq了
配置Dnsmasq
关键内容其实就一行,这个参数就是让dnsmasq禁止返回AAAA记录的。
filter-AAAA
让本机访问本机可以走IPv6
像Hinet这种奇葩的网络,V4网络中自己连接自己是不可以的(例如你用着一台hinet的代理想ssh访问这个vps就不行),但走v6就没有问题。可是默认DNS已经不返回IPv6解析了怎么办呢?
笨,直接写Hosts就好了。同样的,如果有一些其他的特例需要访问v6的也只能写Hosts,dnsmasq的这个filter-AAAA选项是禁止的比较彻底的,除了写Hosts目前还没发现有什么选项可以给哪个域名提供特例,address或者host-record测试过都是无效的。