有没有合适的 DNS 转发方案?

2019-10-03 23:32:40 +08:00
 lihongming

某宽带,有 53 端口劫持,所以我打算在路由器上用 iptables 将 53 端口的流量劫持到其它端口以避免被 ISP 劫持。

但国内好用的公共 DNS 都没提供非标准端口,只好在自己的服务器上建个 DNS,设为非标准端口(如 10086 )来转发查询。

但这样又有问题,因为服务器离家太远,解析出来的地址并不是家里宽带的最优 IP,在使用 CDN 等服务时明显降速。

有没有办法让自建的服务器获取家里宽带本应获得的解析结果呢?

6041 次点击
所在节点    宽带症候群
13 条回复
miaomiao888
2019-10-03 23:41:30 +08:00
dnschooser
ruidoBlanco
2019-10-04 09:31:47 +08:00
tcp 查询:unbound,pdnsd
DNS over TLS:dnscrypt
lookas2001
2019-10-04 09:58:03 +08:00
你本地的 dns 往往是最快的,并且 cdn 调度最准的。所以一般使用本地 dns 就好了。
dns 不会劫持有 https 的网站的,因为 isp 无法伪造证书。(进而一般不会污染国内的结果)
如果你不喜欢有些不存在的域名被跳转到运营商的广告页,你可以在本地部署一个 dnsmasq 服务器,观察一下广告页 ip 特征,将那些 ip 拉到黑名单即可。
如果你不希望被查询国外网站被污染,你可以在本地部署一个 chinadns 以及 gfwlist,这就是路由器翻墙的那一套。
如果你不希望访问 http 网站的时候被插入广告,改 dns 是没用的,你需要在网关上自己写写脚本,删除运营商插入的那些 js
lookas2001
2019-10-04 10:06:43 +08:00
抱歉,可能我把这个事情想的太简单了,用 dns-forwarder,udp 转成 tcp 交给各大 dns 查询吧。
heqiaokyou
2019-10-04 11:23:53 +08:00
其实这个我是想先问下你这么搞的需求,因为一般情况下就算运营商无差别劫持 53 口也不会影响你上国内的网站。如果是高速上网需求那全部交给国外的服务器处理就好。
我原本是靠 overture 来解决 dns 分流和污染以及劫持的问题,后来发现其实没必要这样做,能交给国外服务器做的直接交给它就行。
derekwei
2019-10-04 11:29:42 +08:00
@miaomiao888 这个项目似乎已经停止了?
lihongming
2019-10-04 12:30:31 +08:00
@heqiaokyou 说下这么做的原因——宽带商是个小 ISP,我猜劫持是为了缓存,但它的 DNS 不好使,大站没问题,小站(国内 IP )很多解析不出来(多刷几次有时能成功解析)
heqiaokyou
2019-10-04 14:17:46 +08:00
@lihongming 明白了,那样我建议在内网里搭个 DOH 用红鱼 DNS 吧。
deorth
2019-10-04 19:02:15 +08:00
我现在就是在内网弄个 dnsmasq,转发到 opendns 的 443,没污染也能正确 CDN
wd
2019-10-04 22:55:46 +08:00
不太明白 劫持为啥一定需要非标准端口?我劫持支持转发到 114 没什么问题啊?你的问题是啥?
jousca
2019-10-04 23:27:13 +08:00
DNS ANGENT,开启 HTTP DNS,使用 119.29.29.29 的 HTTP DNS 功能解决污染问题。
brMu
2019-10-05 08:02:30 +08:00
我目前的方案:dnsmasq+smartdns(tcp 方式),smartdns 的优点是支持几个 dns 并发查询,和 prefetch 功能。
adamw
2019-10-08 19:13:54 +08:00
目前 adguard+chinadns+dnsmasq,感觉还好…

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

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

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

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

© 2021 V2EX