目前有什么dns能反智能dns解析ip呢?比如把某个域名强行解析成电信的如果有这条记录的话

2013-10-18 14:49:17 +08:00
 tywtyw2002
中国的很多域名都使用了智能dns,虽然说智能dns是根据递归dns服务器的ip位置去给ip的。
但是用了国外的public dns就是被国内的智能dns搞死。
因为很多智能dns没有规则对应国外的ip的。
域名的话就会被随机解析成 电信或者联通这样很痛苦呀。
如果在国外的话,想强行用电信服务器,我可以把dns设置成电信的,但是这样做又会失去很多使用国外cdn网站的速度。


不知道有没有这样的dns软件呢?
可以设置想要的返回ip的网络。
比如我在国外,希望电信ip优先。
那么该dns软件 同时查3个地方,国外的本地dns, 中国的电信dns。
如果国外的本地dns返回一个非中国ip,那么该dns软件返回这个国外ip,
如果国外dns返回一个中国ip,但是不是电信的ip,那么dns继续查询国内电信的递归dns,
如果国内电信的递归dns返回电信ip,那么该软件返回电信ip,
如果国内电信的递归dns返回非电信ip,那么该软件就返回在国外本地dns插叙到的ip。
4474 次点击
所在节点    DNS
8 条回复
gamexg
2013-10-18 16:26:20 +08:00
没见过,楼主可以自己写一个。
http://blog.csdn.net/trbbadboy/article/details/8093256 + dnspython
xierch
2013-10-20 00:27:40 +08:00
逻辑好复杂..
如果只是常用几个网站想用电信 DNS 解析,用 dnsmasq 手动些规则吧?
b1074549
2013-10-21 06:39:40 +08:00
ip = dnsquery(host, '8.8.8.8')
if ip_in_china(ip):
....ip = dnsquery(host, '114.114.114.114')
return ip
xierch
2013-10-21 19:57:30 +08:00
https://gist.github.com/scturtle/6472732
也许可以改改这段程序
puppywang
2013-10-21 23:05:27 +08:00
我之前也想写这么个东西,后来觉得影响速度,而且有些cdn还是全球都有ip,于是简单想了个解决办法:
1. 先用protectdns去除poisoned ip。
2. 修改dnsmasq的配置文件,all-servers=true,dnsmaq的resovler文件同时写入本地dns和远端的dns。
3. 一般而言,本地的dns会优先返回,所以先拿到的地址应该都是离你物理地址最近的。
tywtyw2002
2013-10-22 14:15:12 +08:00
@puppywang 其实不是为了拿到地址最近的,在国外的话 联通的延时和丢包率非常大,电信还得分地区。

其实我觉得这个dns有点类似根据自己的网络状况反向优化dns解析了。
tywtyw2002
2013-10-22 14:17:13 +08:00
@xierch 不知道性能如何?
个人用足够了,但是提供服务估计差点

有人推荐用这个写unbound
aveline
2013-11-15 02:33:53 +08:00
@tywtyw2002 智能 DNS 的話看看支持 EDNS Subnet 否,支持的話可以把 subnet 設置成電信 IP。

測試可以用這個 https://github.com/opendns/dnspython-clientsubnetoption

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/86022

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX