基于 4 个 8 撸了一个 CDN 友好的 DNS

2017-01-24 18:32:41 +08:00
 lbp0200

https://github.com/lbp0200/PRCDNS

  1. 只支持 TCP ,防止二级运营商搞事
  2. CDN 友好, img.alicdn.com 返回大陆地址

拿 opendns 做测试对比

dig @23.106.151.177 +tcp -p 3535 google.com.hk #PRCDNS
dig @208.67.222.222 +tcp -p 443 google.com.hk #opendns

dig @23.106.151.177 +tcp -p 3535 img.alicdn.com #PRCDNS
dig @208.67.222.222 +tcp -p 443 img.alicdn.com #opendns

测试 IP 仅供测试, DDoS 留情

14946 次点击
所在节点    DNS
75 条回复
firefox12
2017-01-25 00:21:45 +08:00
cdn 友好的原理是什么?比如一个北京 ip 访问解析一个 www.sina.com 如何知道改返回一个国内 ip 给它?还是回一个北美 ip
lbp0200
2017-01-25 08:30:18 +08:00
@firefox12 IP 交给 Google , Google 就给了正确答案,我也不知道 Google 如何做到的。
wql
2017-01-25 12:23:53 +08:00
@lbp0200 edns subnet
估计是在全球各地的 Google 服务器上面查找本地 dns 得来的
lbp0200
2017-01-25 12:50:25 +08:00
@wql 应该是
hzw
2017-01-25 16:22:29 +08:00
家里用一个老的笔电跑了 ubuntu ,现在开的 dnsmasq ,楼主这个可以么?或者换成 pdnsd 后装楼主这个?
lbp0200
2017-01-25 17:48:35 +08:00
@hzw 用 pdnsd ,支持TCP上游查询, dnsmasq 貌似不行
firefox12
2017-01-25 23:54:39 +08:00
原理上说不通啊,标准 dns request 里面并没有客户端的 ip 啊 所以你用标准的 dns 去请求 他返回的是这台转发 dns 请求服务器这个区域的对应 ip 我们知道这是不对的。
lbp0200
2017-01-26 08:20:09 +08:00
@firefox12 TCP 总会知道请求者的 IP 的,拿着请求者的 IP 提交给 Google 的 http 接口,就会得到正确的解析结果,将结果包装成标准的 dns 格式返回。
q397064399
2017-01-26 14:10:54 +08:00
@lbp0200 #6
pdnsd 好像无法设置上游查询的端口
csvw
2017-01-26 14:12:53 +08:00
@lbp0200 据我了解,只有域名支持 edns subnet 的, google 才可能给出正确的 ip ,而国内支持 edns subnet 的域名应该没有很多,所以大概率还是没法替代国内的 dns
q397064399
2017-01-26 14:14:35 +08:00
dig @120.77.159.44 +tcp -p 5353 google.com.hk

测试下,,没什么卵用 主要是不晓得 设置 pdnsd 把这个转成 udp 53
tangzho
2017-01-26 20:00:26 +08:00
pdnsd 和 unbound 都可以非标和强制 tcp 上游,
tangzho
2017-01-26 20:05:12 +08:00
dnsmasq 支持非标端口,支持 tcp 但不能强制 tcp
bazingaterry
2017-01-26 23:06:32 +08:00
q0000x
2017-01-27 01:02:39 +08:00
@lbp0200 确实不错,可否协助部署?
lbp0200
2017-01-27 14:02:18 +08:00
@q0000x 可以
q0000x
2017-01-27 15:38:20 +08:00
@lbp0200 有 QQ 或者微信么,我想把这个项目部署到 openwrt 上试试
lbp0200
2017-01-27 18:44:36 +08:00
lbp0200
2017-01-27 18:46:00 +08:00
q0000x
2017-01-28 00:13:37 +08:00
@lbp0200 我现在就是用 pdnsd+prcdns ,怕你哪天 ip 换了或者关了😄

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

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

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

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

© 2021 V2EX