fake ip 才是真正的透明代理呀

2022-09-25 21:19:06 +08:00
 Aaron325
目前在用 padavan ,ipv6 开启后很影响烦请体验
一是似乎 ipv6 没什么很成熟的防火墙方案,能够接管 ipv6 流量
二是 dnsv6 优先级太高了:如果设备里有 ipv6 的 dns ,直接直连。导致比如 Netflix 这种不被墙又有地区限制的产品,经常访问失败。哪怕 v4 的 dns 带有 aaaa 结果就会走 v6 直连
开启 fakeip 之后,v6 优先优先级很高,所以各种不被墙的环境依旧是直连效果;而 fake ip 的特性,可以实现纯 v4 透明代理,没有 v6 干扰


顺便问一下现在有成熟的 ipv6 路由器固件翻墙解决方案吗
1842 次点击
所在节点    宽带症候群
15 条回复
Aaron325
2022-09-25 21:24:57 +08:00
padavan 开启 fake ip 的唯一小问题是接入路由器的设备必须指定手动置顶设备的 mac 全局代理才有代理效果。
不过这也不算坏事,因为未指定的设备自动绕过代理,反而方便了像是游戏主机、机顶盒 网络设置的顾虑
lin559671
2022-09-26 00:19:47 +08:00
全局 IPv6 出国,我现在家里的 IPv6 都是国外的。国内的假如能拿到国内 IPv6 地址,用 nat66 即可访问
AoEiuV020CN
2022-09-26 09:25:41 +08:00
ip 都 fake 了,这就不够“透明”了,直接导致各种游戏联机问题,
Aaron325
2022-09-26 10:52:16 +08:00
@lin559671 目前看只能用 nat66 ,问题是 nat66 并不算 ipv6 特性吧,只是让 v6 模拟 nat
skies457
2022-09-26 23:13:15 +08:00
fake ip 没法绕过大陆 IP ,国内测速跑不满千兆。。还是得 redir + ipset
skies457
2022-09-26 23:13:54 +08:00
ipv6 流量可以 tproxy 到 clash
Aaron325
2022-09-27 01:31:02 +08:00
@skies457 然后呢,怎么转发给其他设备
Aaron325
2022-09-27 10:30:47 +08:00
@skies457 跑不满是因为代理转发的缘故,即使是直连。我目前是纯 ipv4 透明代理,也就是说 ipv6 是直连的,ipv4 跑不满,但 v6 可以。未来 v6 优先是趋势,能有 v6 跑满就足够了吧。相当于一个路由器,v4 专门用来翻墙,v6 跑速度
skies457
2022-09-27 10:53:11 +08:00
@Aaron325 你说把 IPv6 流量转发到 clash 上?就是通过 tproxy 在路由器上劫持呀,思路大概如下(用 nftables ):

```
ip -6 route add local ::/0 dev lo table 130
ip -6 rule del fwmark 130 table 130 >/dev/null 2>&1
ip -6 rule add fwmark 130 table 130

CNIP6=$(cat /etc/clash/CN-ip6-cidr.txt | sed '/^[[:space:]]*$/d' | tr '\n' ',' | sed 's/,$//')

nft -f - << EOF
table ip6 clash6
flush table ip6 clash6
table ip6 clash6 {
set local {
typeof ip6 daddr
flags interval
auto-merge
elements = { ::/128, ::1/128, ::ffff:0:0/96, ::ffff:0:0:0/96, 64:ff9b::/96, 100::/64, 2001::/32, 2001:20::/28, 2001:db8::/32, 2002::/16, fc00::/7, fe80::/10, ff00::/8 }
}

set cnip {
typeof ip6 daddr
flags interval
elements = {
$CNIP6
}
auto-merge
}

chain prerouting {
type filter hook prerouting priority 5; policy accept;
socket cgroupv2 level 1 "bypass.slice" counter accept
ip6 daddr @local counter accept
ip6 daddr @cnip counter accept
tcp dport { 0-65535 } tproxy to :7894 meta mark set 130 counter accept
udp dport { 0-65535 } tproxy to :7894 meta mark set 130 counter accept
}
}
EOF
```
gesse
2022-09-27 11:15:41 +08:00
这个 fake ip 是啥意思?
Aaron325
2022-09-27 12:27:05 +08:00
@gesse redir-host 模式流程是:先解析 dns ,按规则看看是要直连还是代理,如果是代理,就把这个请求发送到节点,节点再进行 dns 获取目标 ip ,结果返回到 clash 后再按 clash 的规则判断走规则的代理
fake ip 下是创造一个虚拟的 ip 地址,dns 请求直接发到这个 ip 上,如果是国内 ip 直接直连,如果是国外 ip 按照规则直接打包到对应节点解析返回结果,第一次 dns 请求的时候已经跟虚拟 ip 建立了连接,此时处于等待状态,返回的结果直接连接


对比下来就是少了一次 dns 请求跟规则判断,另外 dns 污染一般都是海外的 ip ,所以需要翻墙的解析一定发生在节点,一定程度解决了污染
ydq765
2022-10-17 14:53:13 +08:00
@Aaron325 padavan 开启 fake ip 的唯一小问题是接入路由器的设备必须指定手动置顶设备的 mac 全局代理才有代理效果。请问,这个是在哪里指定,我用的 redir 国内测速只有几十兆,比代理还慢,想试试。还有就是你用的是哪个固件呢
Aaron325
2022-10-17 19:05:44 +08:00
@ydq765 hiboy 固件。另外我的测试后发现其实手动指定的原因是 sstproxy 分流规则设置但不生效的 bug 。

简言之,如果你你的 clash 选择“只按 clash 内部规则分流”,那么默认都是 fakeip (全局代理)上网,且 lan 口指定 ip 可用;如果有其他分流方案存在,fakeip 下该分流没有效果,且只有手动为每个设备的 mac 指定全局代理才有代理效果(优先级已经高于 lan 口 ip ,等于 ip 指定失效)
ydq765
2022-10-18 01:20:35 +08:00
@Aaron325 没太懂这个优先级,同固件,我设置的是白名单➕规则分流。配置文件启用了 dns 和 redir ,sst 默认设置,意思为没有设置 mac 的话没有代理效果?可实际使用下来反而感觉是全局都有代理效果
Aaron325
2022-10-18 15:43:06 +08:00
@ydq765 只有 fakeip 开启后才这样。redir 没影响

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

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

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

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

© 2021 V2EX