很多人一听到“IPv6 双栈代理”,第一反应是:是不是只要 VPS 有 IPv6,账号环境就更稳?是不是 IPv6 地址多,就能随便换 IP?是不是 OpenWrt 开了 IPv6,就一定会泄漏?

这些说法都只说对了一半。

真正的双栈代理,不是单纯把 IPv6 打开,而是让你在 IPv4 和 IPv6 两条网络栈之间有选择权:本地用哪条路连 VPS,VPS 用哪条路访问目标网站,DNS 要不要返回 AAAA,软路由要不要给 LAN 终端下发公网 IPv6,这些都要分开看。

本文把它一次讲清楚:双栈代理有什么优势,边界在哪里;VPS 上怎么用 sing-box 和 3x-ui 部署;手机、电脑、软路由客户端怎么使用;OpenWrt / iStoreOS / OpenClash / mihomo 怎么设置,才能既用上 IPv6,又尽量避免泄漏。

本文所有 IP、UUID、Reality 密钥、Short ID 都使用脱敏占位符或文档专用网段。公网 IPv4 示例使用 203.0.113.0/24,公网 IPv6 示例使用 2001:db8::/32。这两段地址不能实际访问,只适合写教程。

一、先说结论

如果你只想先抓住重点,记住这几句话:

  1. 双栈代理的价值不是“IPv6 一定更强”,而是 多一条可选线路
  2. IPv6 地址多,不等于一定干净;平台仍然会看 ASN、机房属性、DNS、浏览器指纹、登录行为和历史信誉。
  3. 账号环境想稳定,重点是 固定出口、DNS 一致、不要频繁切换国家和 ASN,而不是疯狂轮换 IPv6。
  4. 家庭软路由场景里,最稳的入门方案是:LAN 终端不拿公网 IPv6,软路由自己保留 IPv6,用 IPv6 去连接 VPS 节点
  5. OpenClash / mihomo 要用 IPv6 节点,必须同时打开 ipv6: true、IPv6 DNS 解析、IPv6 流量代理;只改节点地址不够。
  6. 过滤 IPv6 AAAA 记录 不是万能防泄漏开关。你想用 IPv6 节点时,一般不要在 dnsmasq 底层过滤 AAAA。

可以把双栈代理理解成四段路:

1
电脑/手机 -> 软路由/客户端 -> VPS 节点 -> 目标网站

每一段都可能走 IPv4,也可能走 IPv6。

1
2
3
4
本地到 VPS:可以走 IPv4,也可以走 IPv6
VPS 到目标:可以走 IPv4,也可以走 IPv6
DNS 解析:可以返回 A,也可以返回 AAAA
LAN 终端:可以有公网 IPv6,也可以没有

你要做的不是“全部开启”,而是按目标选择。

二、什么叫 IPv4 / IPv6 双栈代理

双栈代理至少有三种含义,很多教程混在一起讲,所以越看越乱。

名称 具体意思 举例
节点双栈监听 VPS 同一个端口同时接受 IPv4 和 IPv6 连接 listen: "::"ss 显示 *:443
客户端双节点 客户端保留一个 IPv4 节点和一个 IPv6 节点 VPS-IPv4VPS-IPv6
VPS 出口双栈 VPS 访问目标网站时可选 IPv4 或 IPv6 普通网站走 IPv4,部分站点走 IPv6

这三个目标不是一回事。

最常见、最推荐的做法是:

1
2
3
4
VPS 服务端:监听 IPv4 + IPv6
客户端:保留 IPv4 节点和 IPv6 节点
软路由:哪个节点稳定用哪个
VPS 出口:新手先不做复杂分流

等基础链路稳定后,再考虑“某些网站从 VPS 的 IPv6 出口出去”。

三、双栈代理的优势

1. 多一条线路,晚高峰可切换

有些宽带到 VPS 的 IPv4 路由很拥挤,但 IPv6 路由反而比较空;也有相反情况。双栈节点的好处是,你不用猜,直接保留两个入口:

1
2
VPS-IPv4:server = 203.0.113.10
VPS-IPv6:server = 2001:db8:1234::10

晚高峰哪个延迟低、丢包少,就选哪个。

2. IPv6 地址资源多,成本更低

IPv4 地址越来越贵,很多 VPS 厂商已经对 IPv4 单独收费;IPv6 通常免费赠送,甚至给 /64。如果服务商的 IPv6 路由质量不错,双栈节点的性价比会很高。

但注意:便宜不等于稳定。IPv6 是否好用,仍然取决于服务商线路、上游网络、回程质量和目标平台支持情况。

3. 可以访问只支持 IPv6 或 IPv6 体验更好的服务

本地没有 IPv6,也可以通过代理节点访问 IPv6 目标。反过来,本地有 IPv6,也可以通过 IPv4 节点访问只支持 IPv4 的服务。双栈代理像一个中间翻译层,可以减少“这个网站只有 IPv4 / IPv6,所以我访问不了”的问题。

4. 某些平台的 IPv6 信誉可能更好

一些服务对机房 IPv4 风控较严,而 IPv6 地址池相对没那么拥挤,偶尔会出现 IPv6 出口体验更好的情况。

但这不是保证。平台不只看 IP 协议栈,还会看:

  • ASN 是住宅、ISP 还是数据中心
  • GeoIP 国家和城市是否稳定
  • DNS 出口是否一致
  • 浏览器指纹、时区、语言、WebRTC
  • 是否频繁切换 IP、国家、设备
  • 账号本身历史行为

所以账号环境稳定的核心不是“换更多 IPv6”,而是“少变、干净、一致”。

四、双栈代理的边界和误区

误区 1:IPv6 地址多,所以可以随便轮换

不建议这样做,尤其是账号、支付、AI、广告、电商等场景。

大量轮换 IPv6 会让平台看到非常异常的行为:同一个账号短时间内从同一个 /64 里不断换地址,甚至跨国家、跨 ASN。对平台来说,这不一定像“正常用户”,反而更像自动化或代理池。

稳定账号更推荐:

1
2
3
4
5
6
一个账号
一个相对固定的出口 IP
一个稳定 DNS 体系
一个稳定设备环境
少切换地区
少切换 ASN

误区 2:只要有 IPv6,就不会被识别为机房

不会。很多 IPv6 仍然是数据中心 ASN。平台能看到它属于哪家网络、是否是 Hosting、是否被大量共享使用。IPv6 只是协议栈,不是住宅身份。

误区 3:软路由 LAN 禁 IPv6,就不能用 IPv6 节点

不对。

LAN 禁 IPv6 只是让电脑、手机不直接拿公网 IPv6;软路由自己的 WAN6 仍然可以有 IPv6,OpenClash / HomeProxy / sing-box 也可以用软路由自己的 IPv6 去连接 VPS。

这是家庭环境里很实用的模式:

1
2
3
4
电脑/手机:只有 IPv4 内网地址
软路由:WAN6 有公网 IPv6
代理核心:用 IPv6 连接 VPS
VPS:提供 IPv6 节点

误区 4:勾选“过滤 IPv6 AAAA 记录”就更安全

如果你完全不用 IPv6,可以临时勾选它来止血。

但如果你想让代理核心使用 IPv6 节点,或者让 mihomo / sing-box 根据 AAAA 做规则判断,就不建议在 dnsmasq 底层过滤 AAAA。DNS 是否返回 AAAA,应该交给代理核心控制,而不是在 OpenWrt 系统 DNS 里一刀切。

五、VPS 部署方案一:sing-box 双栈监听

sing-box 的好处是配置直接、结构清晰,适合你想理解底层逻辑,不想全部交给面板的场景。

1. 准备 VPS

建议系统:

  • Debian 12
  • Ubuntu 22.04 / 24.04

先确认 VPS 同时有 IPv4 和 IPv6:

1
ip addr
1
ip -6 route

测试 IPv6 出站:

1
ping6 -c 4 2606:4700:4700::1111

如果 ping6 正常,但 curl -6 ip.sb 不通,不一定是 IPv6 没有网络,也可能是目标站点、DNS、证书或 curl 行为问题。更底层的 HTTPS 测试可以用:

1
curl -g -6 -vk --connect-timeout 10 https://[2606:4700:4700::1111]/

只要能看到 Connected to ... port 443,说明 IPv6 TCP 连接能力基本正常。

2. 安装 sing-box

官方 Debian 安装脚本常见写法:

1
bash <(curl -fsSL https://sing-box.app/deb-install.sh)

安装后配置文件一般在:

1
/etc/sing-box/config.json

生成 UUID 和 Reality 密钥:

1
sing-box generate uuid
1
sing-box generate reality-keypair

记录三样东西:

1
2
3
UUID
Reality private_key
Reality public_key

3. 服务端配置:VLESS + Reality + Vision

下面是 sing-box 1.13.x 可用的基础服务端配置。重点是:

1
"listen": "::"

它表示监听 IPv6 任意地址。在 Linux 默认 net.ipv6.bindv6only = 0 的情况下,通常会同时接受 IPv4 和 IPv6 连接。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{
"log": {
"level": "info",
"timestamp": true
},
"inbounds": [
{
"type": "vless",
"tag": "vless-reality-in",
"listen": "::",
"listen_port": 443,
"users": [
{
"name": "user1",
"uuid": "00000000-0000-4000-8000-000000000000",
"flow": "xtls-rprx-vision"
}
],
"tls": {
"enabled": true,
"server_name": "www.microsoft.com",
"reality": {
"enabled": true,
"handshake": {
"server": "www.microsoft.com",
"server_port": 443
},
"private_key": "YOUR_REALITY_PRIVATE_KEY",
"short_id": [
"0123456789abcdef"
],
"max_time_difference": "1m"
}
}
}
],
"outbounds": [
{
"type": "direct",
"tag": "direct"
}
],
"route": {
"final": "direct"
}
}

替换内容:

字段 怎么填
uuid sing-box generate uuid 生成的 UUID
private_key sing-box generate reality-keypair 生成的私钥
short_id 自己生成的十六进制短 ID,例如 8 到 16 位
server_name Reality 伪装目标,需要和客户端一致
handshake.server server_name 保持一致即可

4. 检查并重启

编辑前先备份:

1
cp /etc/sing-box/config.json /etc/sing-box/config.json.bak.$(date +%F-%H%M)

检查配置:

1
sing-box check -c /etc/sing-box/config.json

重启:

1
systemctl restart sing-box

设置开机自启:

1
systemctl enable sing-box

查看状态:

1
systemctl status sing-box --no-pager

确认 443 正在监听:

1
ss -tlpn | grep ':443'

如果看到类似:

1
LISTEN 0 4096 *:443 *:* users:(("sing-box",pid=12345,fd=7))

并且:

1
sysctl net.ipv6.bindv6only

输出:

1
net.ipv6.bindv6only = 0

一般就说明这个端口可以双栈接入。

5. 防火墙和安全组

VPS 系统防火墙要放行 TCP 443。

如果你用的是云厂商控制台,还要检查安全组同时放行:

1
2
IPv4 入站 TCP 443
IPv6 入站 TCP 443

很多人服务端配置没错,但 IPv6 节点连不上,最后发现是云厂商安全组没有放行 IPv6。

6. 是否要在服务端做 IPv4 / IPv6 出口分流

新手不建议一开始就在服务端做复杂分流。先让服务端只做一个简单 direct 出站,让软路由或客户端来选择 IPv4 节点还是 IPv6 节点。

如果你已经确认 VPS 出口 IPv6 质量更好,可以在服务端做进阶配置。但要注意:sing-box 1.13.x 里 domain_strategy 仍可用,不过官方已标记为迁移项,后续版本会变化。因此这类配置要随着版本更新调整。

简单理解就够了:

1
2
3
direct-v4:VPS 访问目标网站时只取 IPv4
direct-v6:VPS 访问目标网站时只取 IPv6
route:把指定域名交给 direct-v6,其他走 direct-v4

但账号环境稳定优先时,不建议频繁按域名、按 IP 池乱切。

六、VPS 部署方案二:3x-ui / Xray 双栈监听

3x-ui 是一个 Xray 面板。它适合喜欢图形界面、不想手写完整 JSON 的用户。

要先分清楚:

1
2
3
sing-box:一个代理核心
Xray:另一个代理核心
3x-ui:管理 Xray 的 Web 面板

所以 3x-ui 里的字段和 sing-box 不一样,但最终目标类似:创建一个 VLESS + Reality + Vision 入站,并让它支持 IPv4 / IPv6 访问。

1. 安装 3x-ui

官方 Wiki 的一键安装命令是:

1
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

安装后按提示设置面板端口、用户名和密码。首次登录后建议立刻做三件事:

1
2
3
修改默认用户名密码
开启二次验证
限制面板访问来源或套反代

面板端口不要和代理端口混用。比如:

1
2
3x-ui 面板端口:2053
VLESS Reality 节点端口:443

2. 创建 VLESS + Reality + Vision 入站

在 3x-ui 里添加入站,大致按这个方向填:

项目 建议值
协议 VLESS
端口 443
传输 TCP / RAW
安全 Reality
Flow xtls-rprx-vision
SNI / Server Name www.microsoft.com
Dest / Handshake www.microsoft.com:443
Public Key 面板生成
Private Key 面板保存
Short ID 面板生成或手动填

如果面板里有 Listen IP监听 IPIP 之类字段:

1
2
3
想双栈监听:填 ::
只监听 IPv4:填 0.0.0.0
不确定:先留空,然后用 ss 检查

不要创建两个同端口入站,一个监听 IPv4,一个监听 IPv6。大多数情况下,一个监听 :: 的入站就够了。

3. 检查 Xray 是否双栈监听

SSH 到 VPS:

1
ss -tlpn | grep ':443'

如果看到 *:443,通常表示双栈监听。再检查:

1
sysctl net.ipv6.bindv6only

如果是:

1
net.ipv6.bindv6only = 0

说明 IPv6 socket 可以同时接受 IPv4 映射连接。

如果只看到 0.0.0.0:443,那通常只是 IPv4 监听。回到面板检查监听 IP,或者查看 Xray 生成的配置。

4. 3x-ui 的优缺点

优点:

  • 图形界面友好
  • 添加用户方便
  • 查看流量和到期时间方便
  • 适合多用户管理

边界:

  • 面板本身增加了攻击面
  • 配置被隐藏在面板生成逻辑里,不如纯配置透明
  • 不同版本界面字段可能变化
  • 排错时仍然要看 Xray 日志和 ss

如果你只是自己用,并且已经会写 sing-box 配置,sing-box 通常更直接、更方便排错。如果你要给多个设备、多个用户发节点,3x-ui 会省事。

七、客户端怎么使用双栈节点

1. 保留两个节点

最稳的做法不是让客户端自动猜,而是手动保留两个节点:

1
2
自建节点-IPv4
自建节点-IPv6

两个节点的参数基本相同,只差 server

参数 IPv4 节点 IPv6 节点
server 203.0.113.10 2001:db8:1234::10
port 443 443
uuid 相同 相同
flow xtls-rprx-vision xtls-rprx-vision
reality public key 相同 相同
short id 相同 相同
sni 相同 相同

如果是 URI 链接,IPv6 地址通常需要加方括号:

1
vless://UUID@[2001:db8:1234::10]:443?...

如果是 YAML / JSON 字段,一般不加方括号,直接写字符串:

1
server: "2001:db8:1234::10"

2. 手机 sing-box 客户端示例

手机端用 sing-box App 时,可以把 IPv4 和 IPv6 写成两个 vless 出站,再用 selector 手动选择。

下面只展示核心出站,其他 DNS、TUN、路由可以按你的客户端模板补齐:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{
"outbounds": [
{
"type": "selector",
"tag": "proxy",
"outbounds": [
"vps-ipv4",
"vps-ipv6",
"direct"
],
"default": "vps-ipv4"
},
{
"type": "vless",
"tag": "vps-ipv4",
"server": "203.0.113.10",
"server_port": 443,
"uuid": "00000000-0000-4000-8000-000000000000",
"flow": "xtls-rprx-vision",
"tls": {
"enabled": true,
"server_name": "www.microsoft.com",
"reality": {
"enabled": true,
"public_key": "YOUR_REALITY_PUBLIC_KEY",
"short_id": "0123456789abcdef"
}
}
},
{
"type": "vless",
"tag": "vps-ipv6",
"server": "2001:db8:1234::10",
"server_port": 443,
"uuid": "00000000-0000-4000-8000-000000000000",
"flow": "xtls-rprx-vision",
"tls": {
"enabled": true,
"server_name": "www.microsoft.com",
"reality": {
"enabled": true,
"public_key": "YOUR_REALITY_PUBLIC_KEY",
"short_id": "0123456789abcdef"
}
}
},
{
"type": "direct",
"tag": "direct"
}
]
}

手机端如果本地网络没有 IPv6,那么 vps-ipv6 这个节点自然连不上。这不是服务端错误,而是本地到 VPS 的第一段路没有 IPv6。

3. OpenClash / mihomo 节点示例

OpenClash 使用 mihomo 内核时,VLESS Reality 节点一般长这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
proxies:
- name: "VPS-IPv4"
type: vless
server: 203.0.113.10
port: 443
uuid: 00000000-0000-4000-8000-000000000000
network: tcp
udp: true
tls: true
flow: xtls-rprx-vision
servername: www.microsoft.com
reality-opts:
public-key: YOUR_REALITY_PUBLIC_KEY
short-id: 0123456789abcdef
client-fingerprint: chrome
ip-version: ipv4

- name: "VPS-IPv6"
type: vless
server: "2001:db8:1234::10"
port: 443
uuid: 00000000-0000-4000-8000-000000000000
network: tcp
udp: true
tls: true
flow: xtls-rprx-vision
servername: www.microsoft.com
reality-opts:
public-key: YOUR_REALITY_PUBLIC_KEY
short-id: 0123456789abcdef
client-fingerprint: chrome
ip-version: ipv6

这里最关键的是:

1
ip-version: ipv6

如果你选的是 IPv6 节点,但配置里强制 ipv4,日志就可能出现:

1
dns resolve failed: ip version error

如果 OpenClash 全局 IPv6 功能没开,日志可能出现:

1
dns resolve failed: ipv6 disabled

这说明问题不在 Reality,也不在 VPS,而是 mihomo 运行时没有允许 IPv6。

八、OpenWrt / iStoreOS 软路由怎么设置

这里分两种目标。

目标 A:日常使用,国内直连,国外代理

这种体验最好,但严格来说不适合最高要求的账号环境,因为国内直连会暴露本地运营商出口。

适合:

  • 日常网页
  • 视频
  • 下载
  • 家庭多设备
  • 对账号环境要求不极端

目标 B:账号环境稳定,尽量不暴露本地出口

这种更适合账号、支付、AI、广告、电商等高敏感场景。

特点:

  • 不让目标网站看到本地家宽 IP
  • DNS 尽量不走本地运营商
  • 避免 DIRECT
  • 浏览器 WebRTC 也要处理
  • 出口 IP 尽量固定

代价是国内网站也会绕远,速度可能变慢。

1. WAN6:让软路由自己拿到 IPv6

进入:

1
网络 -> 接口 -> wan6

建议:

项目 建议
协议 DHCPv6 客户端
请求 IPv6 地址 try
请求 IPv6 前缀长度 自动
默认网关 自动
DNS 可自动获取,也可后续由代理接管

不要在 WAN 口开 RA / DHCPv6 / NDP 代理。WAN 是上游接口,不负责给内网设备发地址。

2. LAN:新手建议先不下发公网 IPv6

如果你的目标是“软路由使用 IPv6 节点,但电脑手机不直接暴露 IPv6”,LAN 侧建议:

进入:

1
网络 -> 接口 -> lan -> DHCP 服务器 -> IPv6 设置

设置:

项目 建议
RA 服务 已禁用
DHCPv6 服务 已禁用
NDP 代理 已禁用

这表示:

1
2
3
LAN 终端不拿公网 IPv6
软路由自己仍可用 WAN6 的 IPv6
OpenClash / HomeProxy 仍可用 IPv6 连接 VPS

3. DHCP/DNS:不要过滤 AAAA

进入:

1
网络 -> DHCP/DNS -> 高级设置 / 过滤器

建议:

1
2
过滤本地包:可以保持勾选
过滤 IPv6 AAAA 记录:不要勾选

原因很简单:你要让 OpenClash / mihomo / sing-box 能看到 IPv6 解析结果,才能决定是否走 IPv6 节点或 IPv6 出口。不要在 dnsmasq 底层提前把 AAAA 切掉。

只有一种场景可以临时勾选:

1
你完全不使用 IPv6,只想先阻止终端拿 AAAA 直连

但这不是本文推荐的双栈代理玩法。

4. OpenClash:必须打开 IPv6 相关开关

进入:

1
服务 -> OpenClash -> 插件设置 -> IPv6 设置

建议:

项目 建议
IPv6 流量代理 开启
IPv6 代理模式 TProxy 或 TUN,选一个稳定的
允许 IPv6 类型 DNS 解析 开启
绕过指定区域 IPv6 不确定就先禁用

如果你看到日志:

1
dns resolve failed: ipv6 disabled

优先检查这里,而不是去改 VPS。

5. OpenClash 配置文件里的 DNS 推荐

一个比较稳的思路是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ipv6: true

dns:
enable: true
ipv6: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
default-nameserver:
- 223.5.5.5
- 119.29.29.29
proxy-server-nameserver:
- 223.5.5.5
- 119.29.29.29
nameserver:
- https://dns.alidns.com/dns-query
- https://doh.pub/dns-query
nameserver-policy:
"geosite:cn,private":
- https://dns.alidns.com/dns-query
- https://doh.pub/dns-query
"geosite:geolocation-!cn":
- https://1.1.1.1/dns-query#PROXY
- https://8.8.8.8/dns-query#PROXY

新版 mihomo 更推荐用 nameserver-policy 表达“哪些域名用哪些 DNS”。如果你的 OpenClash 日志提示 fallback-filter.geosite 未来会移除,就优先把旧配置迁移到 nameserver-policy

这里两个字段经常被误解:

1
2
default-nameserver
proxy-server-nameserver

它们主要用于“引导解析”,尤其是解析代理节点自己的域名。如果你的节点直接填 IP,这两个字段影响不大;如果以后换成域名节点,它们就很重要。

在国内网络环境下,建议用响应快、稳定的国内公共 DNS 做引导,例如:

1
2
3
4
5
6
default-nameserver:
- 223.5.5.5
- 119.29.29.29
proxy-server-nameserver:
- 223.5.5.5
- 119.29.29.29

这不等于普通网站 DNS 都泄漏给本地运营商。它只是在代理还没连上前,先找到“节点服务器在哪里”。

6. 分流模式和严格防泄漏模式怎么选

日常分流配置:

1
2
3
国内网站 -> DIRECT
国外网站 -> PROXY
DNS -> 按规则分流

优点是快,缺点是本地 IP 会在国内直连场景出现。

账号稳定配置:

1
2
3
4
所有敏感业务 -> 固定代理节点
DNS -> 代理接管
DIRECT -> 尽量不用
WebRTC -> 浏览器侧关闭或限制

优点是环境一致,缺点是速度慢、国内网站绕远。

如果你已经在泄漏检测网站看到本地运营商 IP,说明当前不是严格防泄漏模式。它可能适合日常分流,但不适合账号环境。

九、HomeProxy / sing-box 软路由思路

HomeProxy 底层是 sing-box,逻辑和 OpenClash 不完全一样,但思路类似。

重点看四个位置:

1
2
3
4
1. 是否启用 TUN
2. 是否代理 IPv6 流量
3. DNS 是否由 sing-box 接管
4. 节点出站是否允许 IPv6

推荐思路:

1
2
3
4
5
LAN 不下发 IPv6
OpenWrt 自己保留 WAN6
HomeProxy 开启 IPv6 流量代理
DNS 由 HomeProxy 接管
IPv4 节点和 IPv6 节点都保留

如果你的 VPS IPv6 节点能 ping 通,但 HomeProxy 选它断网,通常检查:

1
2
3
4
5
软路由本机能不能 curl -6
HomeProxy 有没有允许 IPv6
DNS 有没有返回 AAAA
节点 server 是否写成 IPv6 字符串
防火墙有没有拦截 IPv6 TCP 443

十、怎么检测有没有泄漏

检测要分层看,不要只看一个网站。

1. 软路由本机 IPv6 能力

在 OpenWrt 终端:

1
ip -6 addr
1
ip -6 route
1
ping6 -c 4 2606:4700:4700::1111
1
curl -g -6 -vk --connect-timeout 10 https://[2606:4700:4700::1111]/

如果 ping6 正常、curl -g -6 -vk 能连上,说明软路由本机 IPv6 基础链路是通的。

2. 代理节点是否可用

在 OpenClash 面板里看节点延迟。然后访问:

1
2
3
4
https://ip.sb
https://ifconfig.co
https://browserleaks.com/ip
https://ipleak.net

如果你选的是 IPv6 节点,但检测到的是 VPS 的 IPv4,可能是:

1
2
3
4
节点实际通过 IPv4 建立连接
配置里 ip-version 没有设置为 ipv6
OpenClash 没打开 IPv6 DNS/流量代理
VPS IPv6 入口不可达

3. DNS 泄漏怎么看

如果 DNS Leak Test 里出现:

1
2
3
4
5
China Mobile
China Telecom
China Unicom
本地城市
家庭宽带运营商

这就是明显 DNS 泄漏,至少不适合账号稳定环境。

如果出现:

1
2
3
4
Cloudflare
Google
Quad9
代理节点所在地区的 DNS

通常不是本地运营商泄漏。但它也不一定代表“账号环境完美”,因为 DNS 出口和 IP 出口最好尽量一致。

4. WebRTC 泄漏

浏览器访问:

1
https://browserleaks.com/webrtc

如果出现本地公网 IP 或家宽 IPv6,就要处理浏览器 WebRTC。

常见做法:

1
2
3
Chrome / Edge:装 WebRTC 控制扩展,或使用支持 WebRTC 策略的浏览器
Firefox:about:config 里调整 media.peerconnection.enabled
Brave:设置 WebRTC IP handling policy

账号环境越敏感,越要把浏览器、DNS、代理出口一起看。

十一、常见报错解释

dns resolve failed: ipv6 disabled

意思是:mihomo / OpenClash 当前运行时禁用了 IPv6 解析或 IPv6 代理。

检查:

1
2
3
4
OpenClash -> IPv6 设置 -> IPv6 流量代理
OpenClash -> IPv6 设置 -> 允许 IPv6 类型 DNS 解析
配置文件顶层 ipv6: true
DNS 里 ipv6: true

dns resolve failed: ip version error

意思是:这个节点或连接要求某个 IP 版本,但 DNS 返回结果不符合。

常见原因:

1
2
3
4
IPv6 节点写了 ip-version: ipv4
IPv4 节点写了 ip-version: ipv6
DNS 没有返回 AAAA
节点 server 是域名,但解析结果只有 A 或只有 AAAA

connect: connection refused

说明能找到目标 IP,但目标端口拒绝连接。

检查:

1
2
3
4
5
VPS sing-box / Xray 是否运行
端口是否监听
防火墙是否放行
云安全组是否放行 IPv4 和 IPv6
Reality 参数是否一致

i/o timeout

说明连接超时。

可能是:

1
2
3
4
5
6
线路丢包
防火墙丢弃
安全组没放行
IPv6 路由不可达
节点选错
目标网站临时不可达

先用 ping6curl -g -6 -vkss -tlpn 分层排查。

十二、推荐配置组合

组合 1:新手最稳

1
2
3
4
5
VPS:sing-box 或 3x-ui,监听 ::
客户端:保留 IPv4 节点和 IPv6 节点
软路由:LAN 不下发 IPv6
OpenClash:开启 IPv6 流量代理和 IPv6 DNS
DNS:不要在 dnsmasq 过滤 AAAA

适合:先跑通、先稳定。

组合 2:日常分流

1
2
3
4
国内 -> DIRECT
国外 -> PROXY
IPv4 / IPv6 节点手动切换
DNS 按规则分流

适合:家庭日常使用,速度优先。

组合 3:账号环境稳定

1
2
3
4
5
6
固定一个代理节点
尽量不频繁切换 IP
DNS 不走本地运营商
浏览器 WebRTC 做限制
敏感业务不走 DIRECT
IPv6 不做随机轮换

适合:账号、支付、AI、广告、电商等更敏感的场景。

注意,稳定不等于“绝对安全”。平台风控是综合判断,不是单靠一个 VPS 或一个 IPv6 就能解决。

十三、sing-box 和 3x-ui 到底选哪个

如果你自己用,想少出问题:

1
优先 sing-box

原因:

  • 配置透明
  • 一个文件就能备份
  • 日志清晰
  • 不需要额外暴露面板
  • 双栈监听很直观

如果你要管理多个用户、多条入站、流量统计:

1
可以用 3x-ui

原因:

  • 面板操作方便
  • 多用户管理省事
  • 分享链接方便
  • 到期时间和流量限制直观

但 3x-ui 本质仍是 Xray。遇到问题时,最终还是要回到:

1
2
3
4
5
Xray 有没有运行
端口有没有监听
IPv6 有没有放行
客户端参数是否一致
DNS 是否正确接管

十四、最后给一张决策表

你的目标 推荐设置
只是想用 VPS IPv6 节点 VPS 监听 ::,客户端加 IPv6 节点
家里 LAN 不想暴露 IPv6 LAN RA/DHCPv6/NDP 禁用,软路由保留 WAN6
OpenClash 选 IPv6 节点断网 开启 IPv6 流量代理、IPv6 DNS、配置 ip-version: ipv6
DNS Leak 出现本地运营商 代理 DNS 没接管,或浏览器/系统 DNS 绕过
账号环境更稳定 固定出口、DNS 一致、少切换 IP,不要随机轮换 IPv6
日常速度优先 国内直连,国外代理,保留 IPv4/IPv6 节点手动切
排错最简单 sing-box 纯配置
多用户管理方便 3x-ui 面板

十五、参考资料

本文配置思路参考了以下官方文档:

最后再强调一次:双栈代理是工具,不是万能护身符。它解决的是“多一条 IPv4 / IPv6 路径可选”和“更灵活的 DNS / 路由控制”,不是让所有平台都自动信任你。真正稳定的网络环境,靠的是出口、DNS、设备、地区、行为的一致性。