现在的路由器透明代理的原理都是什么?有没有基于域名的透明代理?

2019-01-14 12:28:14 +08:00
 ech0x

好像现在在路由器上用的通明代理,都是基于 Chinadns 来进行分流的,但这样还得自己解决 dns 污染的问题,所以我想问问现在有没有基于域名的透明代理方案,可以直接导入某著名 List 的。

13738 次点击
所在节点    宽带症候群
46 条回复
ihciah
2019-01-14 18:37:40 +08:00
你这个做不到啊,因为查 DNS 和连接服务器是独立的。
你通过 A 域名(需要代理)查到了一个 ip,通过 B 域名(不需要)也查到了相同的 ip,那么问题来了,这个 ip 要代理嘛?

所以做成路由上的透明代理不太可行。浏览器插件这种能直接拿到域名和接管权可以做到最精准的控制。
benedict00
2019-01-14 19:54:32 +08:00
clash
Sunmxt
2019-01-14 20:05:38 +08:00
dnsmasq+ipset
24
2019-01-14 20:40:23 +08:00
@yov123456 2019 年了,可以用 doh 方案来代替 chinadns
missdeer
2019-01-14 20:44:39 +08:00
DNS 方案再次推荐一下 CoreDNS,同时奉上我自用的 Corefile 生成脚本: https://gist.github.com/missdeer/5c7c82b5b67f8afb41cfd43d51b82c2d,国内外分流解析,完全满足楼主需求,国内域名数据来自 felixonmars 的国内域名列表,国内域名用 ISP 或 114 之类的 DNS server 解析,国外域名用 OpenDNS/Cloudflare/Google DNS server 解析。
ech0x
2019-01-14 22:25:31 +08:00
@ihciah #21 可以的吧,A 域名需要代理查询到了一个 ip,代理软件缓存这个 ip 并且生成一个对应的 fake ip,然后因为代理软件是负责 dns 的,所以可以返回给 client 对应的 fake ip,client 向 fake ip 发送数据,路由把 client 发给 fake ip 的数据转发给代理软件。B 域名(不需要)也查到了相同的 ip,代理软件直接返回真实 ip。
ihciah
2019-01-14 22:40:44 +08:00
@ech0x 哦这样感觉可以做。(不过有一点点问题:
1. 你要能抓到所有的 DNS 流量。如果用户自定义了 DNS 或者有的 app 走了 doh,虽然拿到了无污染的结果但还是连不上
2. 恶意域名可以向你的代理列表插数据
yov123456
2019-01-14 22:45:08 +08:00
@24 clash 不依赖无污染的 dns 同时 clash 也支持 dot doh 作为上游 dns 哦

@ech0x 这就是 clash 所实现的啊 说好几次了
yov123456
2019-01-14 22:48:10 +08:00
@ech0x 不一定要 fake ip 真实即使被污染 ip 也可以 因为翻查匹配规则后是整个 tcp 连接给 proxy 的 surge 用 fake ip 是因为没有修改默认路由
dszhblx
2019-01-15 01:14:11 +08:00
想要 fan 的爽肯定要从域名解析处动手:
存在一个域名白名单,在自己实现的 dns 服务器上,对于白名单内的域名(如 gxxglecom )走单独的上级 dns 服务器得到 ip 是 a.b.c.d。但返回给客户端的 dns 回应里把 a.b.c.d 改成 10.x.x.x 并记录下两者的映射关系。当客户端去连接 10.x.x.x 时,根据保存的映射关系用 fanQ 手段练到 a.b.c.d
这样就实现了根据域名白名单进行 fq

但是毕竟麻烦的是一个网站或者 app 通常要用到很多域名,把白名单配全是比较麻烦
billytom
2019-01-15 08:42:52 +08:00
有没有啥办法,在 windows 10 上用 Clash 做透明代理? 现在的 Clash for win 只是最基本的 http 代理,ps4 和电视机用不到
yov123456
2019-01-15 08:49:56 +08:00
@billytom 把 clash 跑路由器或树莓派上 但是 clash 还不支持 udp ps4 游戏支持不了吧……
@dszhblx 名单还好吧 机场的规则那么多
missdeer
2019-01-15 09:13:04 +08:00
@billytom tun2socks 了解一下
q397064399
2019-01-15 11:26:39 +08:00
我觉得最好的办法还是 openvpn 走国外 然后 chnroutes 走回来,用 chinadns 分流 目前效果不错
Moofish
2019-01-15 12:01:06 +08:00
@missdeer 请问有办法在梅林上安装么
missdeer
2019-01-15 12:45:24 +08:00
@Moofish 没试过,估计是可以的
goodryb
2019-01-15 12:56:44 +08:00
ss-tproxy 了解一下,dnsmasq + ipset, 客户端网关和 dns 都配置成代理服务器的 IP 即可
brMu
2019-01-21 12:54:38 +08:00
@missdeer 这个也有一个问题,就是国内域名不全,当成国外域名去解析了,这样反而会慢。
missdeer
2019-01-21 13:45:39 +08:00
@brMu https://github.com/felixonmars/dnsmasq-china-list 应该包括了大部分人常用的绝大多数国内域名,如果真缺了,你也可以给作者提 issue 或 PR。而且你也可以仅仅自己改 Corefile,把缺的域名加到 except 中。这不是什么大问题。
brMu
2019-01-21 15:34:39 +08:00
@missdeer 常用域名是肯定没问题的,可是尴尬的是有时很重要的域名没有包含在内,比如 12306 的某个域名,用的抢票软件显示的 IP 竟然是我的 vps 的,没办法又不好找到底是哪个域名,最后还是换回了 gfwlist 模式,然后手动添加自己需要绕路的域名,也不定是不能不访问的,有时慢的我也加进去,比如微软官网。

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

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

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

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

© 2021 V2EX