-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CNAME doesn't follow domain-rules #1743
Comments
对于smartdns,一个域名查询出cname后,其cname递归查询时也是遵循主域名规则的。这里没有问题。 你说的情况发生在smartdns下级不是终端用户而是另一个dns服务器的情形。根据rfc规范,dns服务器会发起两次查询。第一次查询A记录。若上游返回CNAME和A记录,第二次应使用CNAME再次查询AAAA记录。 对于上述问题有几个解决方案。一是将CNAME对应的域名也写入域名规则。二是smartdns直接对终端用户使用,中间不要有其他dns服务器做转发。三是配置 force-no-CNAME yes 使smartdns在应答时不返回cname(这不符合规范,参考#1648) |
|
配个上游组单独给.lan 我自己是用第二种方法,感觉也就是那几组分布式加速服务器,fastly,akamai之类的 |
实际上在OpenWRT的使用场景,dnsmasq -> smartdns 可以视为一个整体,不往上传递 CNAME ,对应用来讲没有问题。一个个加白不够一劳永逸,把fastly整个都加了又太过暴力 |
需求应用场景
api.pinterest.com
被劫持了,于是使用domain-rule
来让它使用海外可信DNS来解析:但是
api.pinterest.com
有部分海外 DNS 解析时会返回 CNAME ,CNAME 的域名没有在domain-rules
中导致还是被劫持。以下是前置的
dnsmasq
的日志,实际域名由smartdns
解析api.pinterest.com
是没有AAAA
Records 的,从上面日志可以看出是那几个fastly.net
的域名返回了AAAA
Records ,被劫持。建议的方案
若主查询的域名有
domain-rules
,CNAME 的域名应同样应用其domain-rules
设备信息
设备信息(CPU,厂家) R4S
固件信息 OpenWRT 18.06
The text was updated successfully, but these errors were encountered: