求助:家庭局域网内使用透明代理,怎么解决 ipv4 和 ipv6 共存、dns 解析问题?

38 天前
 wwd179

背景描述

目前家里通过路由器拨号。有 ipv6 。

用树莓派 4B 安装 openwrt 系统,充当旁路由。

科学上网使用 passwall2 插件。

梯子是用海外云主机搭建的 naive 协议。有 ipv4 和 ipv6.

想提供透明代理给 android 、ios 、win10-pc 。

现在是通过在客户端手动 IP 、指定网关和 DNS 地址为旁路由,实现透明代理。(这里遇到有些设备无法手动设置 ipv6 的问题)

目前的问题

  1. 想要用 ipv6 。但是如果开启 ipv6 。走透明代理的客户端,上网网速很慢甚至打不开。(感觉是 dns 问题)
  2. naive 协议能直接支持 ipv4 和 ipv6 双栈吗?

对于这种情况,有相关资料参考吗?搜了一圈感觉没看到有用的文章。

2400 次点击
所在节点    宽带症候群
41 条回复
lcy630409
38 天前
我之前也有你的困惑,开启 ipv6 会导致 gfw 的一些域名很慢,特别是走 cloudflare cdn 的,后来在局域网安装 AdGuardHome 作为 dns ,将 gfw 列表的域名 全部只返回 ipv4

当然前提是分发 ipv6 的时候 不要分发 ipv6 的 dns 或者 将 AdGuardHome 的本地 ipv6 地址当做 dns 分发下去
maybeonly
38 天前
旁路由和 ipv6 兼容很成问题。建议有 v6 刚需的情况下换成主路由使用,或者 v4 和 v6 场景分开(二级路由)
和梯子本身支持不支持双栈关系不是那么大,根本原因是 v4 和 v6 的网关是没关系的,dns 的获取途径有多种( dhcp ,ra ,etc ),解析结果是分开的( a ,aaaa ),旁路由要兼容 v6 的话你得把各种 v6 网关都指过去还要避免收到主路由的 ra

然后在梯子那里把所有去墙外的 v6 都 reject 掉就行了,客户端会自动用 v4 尝试。
dbak
38 天前
如果能顺利翻墙的话 你想保留 ipv6 的目的是啥?
lihang1329
38 天前
开启两个网段的 lan ,一个 lan ipv6 一个 v4
lcy630409
38 天前
插一句
我的 AdGuardHome 设置,https://whzxc.cn/gfwlist/Ad-gfw.php ,将内容复制到过滤器的自定义过滤规则中,保存即可
wwd179
38 天前
@dbak
目的主要 2 个:
1.要在公网通过 p2p vpn 访问家里设备。家里带宽没有公网 ipv4 ,甚至没有动态 ipv4 。p2p vpn 走 ipv4 时打洞不稳定,经常走到中转,用 ipv6 的话,就能稳定直连。
2.跑 PT 上传的话,能利用 ipv4+ipv6 双栈。发现我这的带宽上行限速是分开的。ipv4 和 ipv6 各自能跑 30M 。
SenLief
38 天前
旁路由无法使用 ipv6 代理的,主要的原因是 ipv6 的 dns 请求直接从主路由出去的,也就是劫持不到旁路由去,如果想用 ipv6 就是主路由跑网关了。
Ipsum
38 天前
直接改 gw 肯定是不行的。现在好点的方案只有 dns 分流。找个 mosdns 或者 adg 来对 gfwlist 的域名进行分流。clash 那边开启 fakeip 。主路由做个 fakeip 的 cidr 到 clash 基本上就行了。
dbak
38 天前
楼上的如果说的靠谱的话直接用透明代理直接拨号呢?
xR13zp0h67njQr2S
38 天前
@dbak #3 看电视,有的节目源 v6 速度快,v4 速度慢
jesky
38 天前
旁路由模式的问题。
dbak
38 天前
@78786381 那可以参考楼上对 dns 针对访问的域名进行分流 我用的 smardns 可以自定义域名走指定的 dns 服务器
titanium98118
38 天前
因为设备获取到的 ipv6 的网关和 ipv6 dns 不是你旁路由的 ipv6 IP ,这问题很复杂,把做透明代理的设备位置坐正
roding
38 天前
dns 可以禁止解析 ipv6
littlewing
38 天前
ipv6 对我唯一的用处就是挂 pt ,所以我把 v6 dns 关了,而且 clash 也不反回 v6 地址
EvineDeng
38 天前
可以参考我的方案: https://www.v2ex.com/t/984297 ,透明代理的域名只走 ipv4 ,中国大陆的域名支持 ipv4/ipv6 双栈,PT 支持 ipv4/ipv6 双栈。无需手动指定 DNS 地址。
aMR
38 天前
ipv6 是可以多个网关同时广播 ra 的,ra 里可以调优先级
xpn282
38 天前
在 IPv6 代理方面,用旁路由就别折腾 IPv6 了,难,伤脑筋。
旁路由无法全面接管 IPv6 的流量,所以会导致代理方面各种问题。因为设备只是把 IPv4 指向旁路由而已,IPv6 流量并不能给旁路由处理。

IPv6 代理的正确方式; OpenWrt 当主路由。OpenClash 作为代理全面接管 IPv6 流量,该直连还是代理,由规则决定。OpenClash 接管 IPv6 还有一个好处是,不管你的节点支不支持 IPv6 ,都不影响翻墙的,OpenClash 会自己处理好。
veSir
38 天前
IPv6 挺快的, 旁路由不要用 IPv6, 在 dnsmasq 过滤 AAAA 记录.
ddczl
38 天前
设备用 AdGuardHome 53 端口,解析到海外域名上游用 ShellCrash 并使用 1053 端口,开启 fake-ip ,路由器配置静态路由,路由就是 fake-ip 所有,即可

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

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

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

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

© 2021 V2EX