OpenWrt代理下split-horizon DNS导致的DNS分流失效
公司网站采用了split-horizon DNS,内网接入的时候DNS解析返回内网IPv4地址,外网接入的时候DNS解析返回公网IPv4地址和IPv6地址。
再使用OpenWrt安装某些代理之后,会导致所有的DNS查询都返回IPv6地址,而本地没有IPv6致使无法正常使用。
本质上是:接入 OpenWrt 后,DNS 没走内网 DNS,而走了外部 DNS / 代理接管的 DNS,于是 split-horizon DNS 被破坏了。
解决方法也很简单,进入OpenWrt后:
- 在代理软件中,关闭
DNS 重定向 - 在
接口>WAN中,关闭自动获取 DNS 服务器,勾选使用自定义的 DNS 服务器,填入223.5.5.5等国内的DNS。 - 重启OpenWrt和电脑。
之后,DNS将返回公网IPv4和IPv6地址,至此正常连接。