<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Ray's Blog</title><link>https://www.r966.com/</link><description>Good Luck To You!</description><item><title>绿联云NAS Docker透明代理完全指南</title><link>https://www.r966.com/post/4.html</link><description>&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;h1 id=&quot;h1-u7EFFu8054u4E9120NAS20Docker20u900Fu660Eu4EE3u7406u5B8Cu5168u6307u5357uFF1Au4ECEu5165u95E8u5230u7CBEu901A-1&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;绿联云 NAS Docker 透明代理完全指南：从入门到精通&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;绿联云 NAS Docker 透明代理完全指南：从入门到精通&lt;/h1&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;设备环境&lt;/strong&gt;：绿联云 DH4300PLUS（ARM64）· UGOS Pro（Debian 定制）· Docker · v2rayA 2.2.7.5 + Xray 26.1.23&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;目标&lt;/strong&gt;：在绿联云 NAS 上部署 v2rayA 透明代理，实现局域网设备（手机、电脑、游戏主机等）&lt;strong&gt;仅修改网关&lt;/strong&gt;即可科学上网，同时支持 IPv6 双栈和安全加固。&lt;/p&gt;
&lt;p&gt;本文是四次深度排障实战的完整记录，涵盖 Docker 网络模式选型、macvlan 网络配置、IPv6 SLAAC 获取、透明代理模式选择、DNS 防污染、安全加固等全部核心话题。&lt;/p&gt;
&lt;/blockquote&gt;&lt;hr&gt;
&lt;h2 id=&quot;h2-u76EEu5F55-11&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;目录&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;目录&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#1-背景与目标&quot;&gt;背景与目标&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#2-踩坑之路从-bridge-到绿联云面板-macvlan-再到命令行-macvlan&quot;&gt;踩坑之路：从 bridge 到绿联云面板 macvlan 再到命令行 macvlan&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#3-正确创建-macvlan-网络命令行方式&quot;&gt;正确创建 Macvlan 网络（命令行方式）&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#4-v2raya-容器部署与-ipv4-验证&quot;&gt;v2rayA 容器部署与 IPv4 验证&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#5-ipv6-双栈配置ula--slaac-方案&quot;&gt;IPv6 双栈配置：ULA + SLAAC 方案&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#6-透明代理模式选择tproxy--redirect--tun&quot;&gt;透明代理模式选择：tproxy / redirect / TUN&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#7-v2raya-面板配置详解&quot;&gt;v2rayA 面板配置详解&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#8-安全加固封锁公网-ipv6-暴露&quot;&gt;安全加固：封锁公网 IPv6 暴露&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#9-macvlan-宿主机通信vlink-桥接&quot;&gt;Macvlan 宿主机通信：vlink 桥接&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#10-其他容器走代理青龙面板等&quot;&gt;其他容器走代理（青龙面板等）&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#11-持久化与开机自启&quot;&gt;持久化与开机自启&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#12-完整命令参考与-docker-compose&quot;&gt;完整命令参考与 docker-compose&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#13-常见问题与排障速查&quot;&gt;常见问题与排障速查&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2-1.20u80CCu666Fu4E0Eu76EEu6807-29&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;1. 背景与目标&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 背景与目标&lt;/h2&gt;&lt;p&gt;家庭网络中，想让所有设备（手机、平板、电视、游戏主机）无感科学上网，最优雅的方案是&lt;strong&gt;旁路由 / 透明网关&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;路由器负责基本的 DHCP 和 WiFi；&lt;/li&gt;&lt;li&gt;NAS 运行代理容器，作为局域网设备的&lt;strong&gt;网关&lt;/strong&gt;；&lt;/li&gt;&lt;li&gt;设备只需把网关指向 NAS 的 IP，即可自动走代理。&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;绿联云 NAS（UGOS Pro）底层基于 Debian，原生支持 Docker，硬件性能足以胜任透明代理的加解密负载。但由于 UGOS 在内核、Docker 配置、网络架构上做了大量定制，实际部署中会遇到诸多”绿联专属”的坑。本文将逐一记录并给出解决方案。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2-2.20u8E29u5751u4E4Bu8DEFuFF1Au4ECE20bridge20u5230u7EFFu8054u4E91u9762u677F20macvlan20u518Du5230u547Du4EE4u884C20macvlan-41&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2. 踩坑之路：从 bridge 到绿联云面板 macvlan 再到命令行 macvlan&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 踩坑之路：从 bridge 到绿联云面板 macvlan 再到命令行 macvlan&lt;/h2&gt;&lt;p&gt;本节记录真实的实验路径。如果你只想看结论，可以直接跳到&lt;a href=&quot;#3-正确创建-macvlan-网络命令行方式&quot;&gt;第 3 节&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&quot;h3-2.120u7B2Cu4E00u6B65uFF1Abridge20/20host20u6A21u5F0Fu2014u2014u6B64u8DEFu4E0Du901A-45&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2.1 第一步：bridge / host 模式——此路不通&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2.1 第一步：bridge / host 模式——此路不通&lt;/h3&gt;&lt;p&gt;最初的想法很简单：用 Docker 默认的 bridge 网络或 host 模式跑 v2rayA。结果两条路都走不通：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模式&lt;/th&gt;
&lt;th&gt;尝试结果&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;bridge&lt;/strong&gt;（默认）&lt;/td&gt;
&lt;td&gt;容器 IP 在 docker0 虚拟网段内，局域网设备&lt;strong&gt;无法直接访问&lt;/strong&gt;容器 IP，无法用作网关&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;host&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;v2rayA 启动透明代理时会执行 &lt;code&gt;sysctl -w net.ipv4.ip_forward=0&lt;/code&gt;，直接&lt;strong&gt;关闭宿主机 IP 转发&lt;/strong&gt;，导致 NAS 上所有 bridge 容器（qBittorrent、Jellyfin 等）瞬间断网&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;结论&lt;/strong&gt;：透明代理需要容器拥有独立的局域网 IP，只能用 &lt;strong&gt;macvlan&lt;/strong&gt; 模式。&lt;/p&gt;
&lt;h3 id=&quot;h3-2.220u7B2Cu4E8Cu6B65uFF1Au7528u7EFFu8054u4E91u53EFu89C6u5316u9762u677Fu521Bu5EFA20macvlanu2014u2014u6389u5165u6DF1u5751-56&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2.2 第二步：用绿联云可视化面板创建 macvlan——掉入深坑&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2.2 第二步：用绿联云可视化面板创建 macvlan——掉入深坑&lt;/h3&gt;&lt;p&gt;知道要用 macvlan 后，自然的想法是通过绿联云的 Docker 可视化管理界面来创建。然而面板在引导创建 Macvlan 时，会&lt;strong&gt;强制要求先创建一个虚拟网桥&lt;/strong&gt;来桥接物理网卡、系统虚拟网卡和 Macvlan 网络。&lt;/p&gt;
&lt;p&gt;创建后发现透明代理&lt;strong&gt;完全不工作&lt;/strong&gt;——流量转发全部被拦截。尝试了大量排查：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;检查 iptables 规则，发现 FORWARD 链默认 &lt;strong&gt;DROP&lt;/strong&gt;；&lt;/li&gt;&lt;li&gt;手动 &lt;code&gt;iptables -F&lt;/code&gt; 清空规则后暂时能通，但 NAS 其他 Docker 服务又全挂了；&lt;/li&gt;&lt;li&gt;怀疑是 v2rayA 配置问题，反复调整代理模式、DNS 设置，均无效。&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;经过反复排查，最终定位到&lt;strong&gt;根因&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;绿联云 UGOS 系统会将物理网卡 &lt;code&gt;eth0&lt;/code&gt; 包裹在一个虚拟网桥 &lt;code&gt;bridge0&lt;/code&gt; 中。UI 创建的 macvlan 实际上挂载在 &lt;code&gt;bridge0&lt;/code&gt; 上而非 &lt;code&gt;eth0&lt;/code&gt; 上，导致所有 macvlan 流量经过 bridge0 时被 &lt;code&gt;bridge-nf-call-iptables&lt;/code&gt; 强制送入宿主机 iptables 链，被 Docker 的默认 FORWARD DROP 策略拦截。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;eth0 → bridge0 (虚拟网桥) → 宿主机 IP
                  ↑
         macvlan 挂在这里 → 流量被 bridge-nf-call-iptables 拦截！
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# ❌ UI 创建的 macvlan 等效于
docker network create -d macvlan -o parent=bridge0 ...
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-2.320u7B2Cu4E09u6B65uFF1Au5F03u7528u9762u677FuFF0Cu547Du4EE4u884Cu76F4u63A5u7ED1u5B9A20eth0u2014u2014u8DD1u901A20IPv4-81&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2.3 第三步：弃用面板，命令行直接绑定 eth0——跑通 IPv4&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2.3 第三步：弃用面板，命令行直接绑定 eth0——跑通 IPv4&lt;/h3&gt;&lt;p&gt;明白了根因后，操作分两步：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先在绿联云的 &lt;strong&gt;Docker 可视化面板中删除之前创建的 Macvlan 网络&lt;/strong&gt;，然后进入 &lt;strong&gt;系统设置 → 网络&lt;/strong&gt; 中&lt;strong&gt;删除 UI 自动创建的虚拟网桥&lt;/strong&gt;（这一步是关键——删除网桥后 &lt;code&gt;eth0&lt;/code&gt; 才会从 &lt;code&gt;bridge0&lt;/code&gt; 中释放出来）；&lt;/li&gt;&lt;li&gt;通过 SSH 命令行直接绑定物理网卡 &lt;code&gt;eth0&lt;/code&gt; 重新创建 macvlan：&lt;/li&gt;&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# ✅ 正确做法：命令行创建，直接绑定 eth0
docker network create -d macvlan \
  --subnet=192.168.31.0/24 \
  --gateway=192.168.31.1 \
  -o parent=eth0 \
  macvlan_v2raya
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;启动 v2rayA 容器，手机设置网关为容器 IP，IPv4 透明代理&lt;strong&gt;一次跑通&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&quot;h3-2.420u7B2Cu56DBu6B65uFF1Au8FDBu4E00u6B65u8DD1u901A20IPv620u53CCu6808-99&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2.4 第四步：进一步跑通 IPv6 双栈&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2.4 第四步：进一步跑通 IPv6 双栈&lt;/h3&gt;&lt;p&gt;IPv4 成功后，继续攻克 IPv6（详见&lt;a href=&quot;#5-ipv6-双栈配置ula--slaac-方案&quot;&gt;第 5 节&lt;/a&gt;）。&lt;/p&gt;
&lt;h3 id=&quot;h3-2.520macvlan20u7684u6838u5FC3u4F18u52BF-103&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;2.5 macvlan 的核心优势&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2.5 macvlan 的核心优势&lt;/h3&gt;&lt;p&gt;回顾整个过程，macvlan 模式（正确绑定到 &lt;code&gt;eth0&lt;/code&gt;）的核心优势：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;容器拥有&lt;strong&gt;独立的局域网 IP&lt;/strong&gt;（如 &lt;code&gt;192.168.31.2&lt;/code&gt;），手机可以直接把网关指向它；&lt;/li&gt;&lt;li&gt;容器拥有&lt;strong&gt;独立的网络命名空间&lt;/strong&gt;，iptables 规则只作用于容器内部，不影响宿主机和其他容器；&lt;/li&gt;&lt;li&gt;&lt;strong&gt;直接绑定物理网卡时&lt;/strong&gt;，完全绕过 &lt;code&gt;bridge-nf-call-iptables&lt;/code&gt; 等内核参数干扰。&lt;/li&gt;&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2-3.20u6B63u786Eu521Bu5EFA20Macvlan20u7F51u7EDCuFF08u547Du4EE4u884Cu65B9u5F0FuFF09-113&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3. 正确创建 Macvlan 网络（命令行方式）&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 正确创建 Macvlan 网络（命令行方式）&lt;/h2&gt;&lt;h3 id=&quot;h3-3.120u521Bu5EFAu547Du4EE4-115&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3.1 创建命令&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3.1 创建命令&lt;/h3&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# ✅ 直接绑定物理网卡 eth0
docker network create -d macvlan \
  --subnet=192.168.31.0/24 \
  --gateway=192.168.31.1 \
  -o parent=eth0 \
  macvlan_v2raya
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-3.220u91CAu653E20eth0uFF1Au5220u9664u7EFFu8054u4E91u7684u865Au62DFu7F51u6865-126&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3.2 释放 eth0：删除绿联云的虚拟网桥&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3.2 释放 eth0：删除绿联云的虚拟网桥&lt;/h3&gt;&lt;p&gt;绿联云系统默认将 &lt;code&gt;eth0&lt;/code&gt; 包裹在虚拟网桥 &lt;code&gt;bridge0&lt;/code&gt; 中。如果 &lt;code&gt;eth0&lt;/code&gt; 仍被 &lt;code&gt;bridge0&lt;/code&gt; 占用（&lt;code&gt;brctl show bridge0&lt;/code&gt; 可查看），macvlan 将无法直接绑定 &lt;code&gt;eth0&lt;/code&gt;。需要先释放：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;方法一（推荐）：通过绿联云系统 UI 删除&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;进入绿联云管理界面 → &lt;strong&gt;系统设置 → 网络&lt;/strong&gt;，找到之前创建的虚拟网桥并删除。删除后系统会自动将网络切换回物理网卡 &lt;code&gt;eth0&lt;/code&gt; 直连，无需手动配置 IP 和路由。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：删除网桥的瞬间 NAS 管理连接会短暂中断，刷新页面即可恢复。&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;方法二（备选）：通过命令行手动拆除&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;如果 UI 中找不到删除选项，可以通过 SSH 手动操作：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 查看 bridge0 是否包含 eth0
brctl show bridge0

# 如果包含，将 eth0 从 bridge0 中移除
ip link set bridge0 down
brctl delif bridge0 eth0
ip link del bridge0

# 将 IP 迁移到 eth0
ip addr add 192.168.31.178/24 dev eth0
ip link set eth0 up
ip route add default via 192.168.31.1
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;⚠️ 风险提示&lt;/strong&gt;：命令行操作时 NAS 的管理 IP 会暂时中断，建议通过物理连接或 SSH 多开一个会话操作。此方式未经本文作者实测，仅作为理论参考。&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3 id=&quot;h3-3.320u66FFu4EE3u65B9u6848uFF1Au5173u95ED20bridge-nf-call-iptables-157&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;3.3 替代方案：关闭 bridge-nf-call-iptables&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3.3 替代方案：关闭 bridge-nf-call-iptables&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;⚠️ 未实测&lt;/strong&gt;：本文作者未实际尝试此方案，仅作为理论备选。&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;如果不想拆 bridge0，可以关闭内核参数：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sysctl -w net.bridge.bridge-nf-call-iptables=0
sysctl -w net.bridge.bridge-nf-call-ip6tables=0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样 bridge 上的流量不再被送入 iptables，但可能影响 Docker 的其他网络隔离功能。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2-4.20v2rayA20u5BB9u5668u90E8u7F72u4E0E20IPv420u9A8Cu8BC1-172&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4. v2rayA 容器部署与 IPv4 验证&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4. v2rayA 容器部署与 IPv4 验证&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;命令行创建 macvlan 后（第 2.3 步），下一步就是启动 v2rayA 容器，验证 IPv4 透明代理是否跑通。如果你计划直接部署 IPv6 双栈版本，可以跳到&lt;a href=&quot;#5-ipv6-双栈配置ula--slaac-方案&quot;&gt;第 5 节&lt;/a&gt;和&lt;a href=&quot;#12-完整命令参考与-docker-compose&quot;&gt;第 12 节&lt;/a&gt;的终极命令。&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3 id=&quot;h3-4.120u542Fu52A8u5BB9u5668-176&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4.1 启动容器&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4.1 启动容器&lt;/h3&gt;&lt;p&gt;假设已按第 3 节创建好 macvlan 网络：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker run -d \
  --name v2raya \
  --restart=always \
  --privileged \
  --network=macvlan_v2raya \
  --ip=192.168.31.2 \
  --sysctl net.ipv4.ip_forward=1 \
  -v /volume1/docker/v2raya/etc:/etc/v2raya \
  mzz2017/v2raya
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;关键参数说明：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;作用&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--privileged&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;授予完整内核权限，透明代理需要操作 iptables/路由表&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--network=macvlan_v2raya&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;使用 macvlan 网络&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--ip=192.168.31.2&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;指定固定 IP，作为局域网网关地址&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--sysctl net.ipv4.ip_forward=1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;容器内启用 IP 转发&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-v ...:/etc/v2raya&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;持久化配置文件&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;h3-4.220u8BBFu95EE20Web20u9762u677F-202&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4.2 访问 Web 面板&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4.2 访问 Web 面板&lt;/h3&gt;&lt;p&gt;浏览器打开 &lt;code&gt;http://192.168.31.2:2017&lt;/code&gt;，首次访问需设置管理员密码。&lt;/p&gt;
&lt;h3 id=&quot;h3-4.320u5BA2u6237u7AEFu914Du7F6E-206&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;4.3 客户端配置&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;4.3 客户端配置&lt;/h3&gt;&lt;p&gt;手机/电脑的 WiFi 设置：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IP&lt;/strong&gt;：手动或自动（保持局域网段即可）&lt;/li&gt;&lt;li&gt;&lt;strong&gt;网关&lt;/strong&gt;：&lt;code&gt;192.168.31.2&lt;/code&gt;（v2rayA 容器 IP）&lt;/li&gt;&lt;li&gt;&lt;strong&gt;DNS&lt;/strong&gt;：&lt;code&gt;192.168.31.2&lt;/code&gt; 或保持默认均可（v2rayA 会劫持 DNS 流量）&lt;/li&gt;&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2-5.20IPv620u53CCu6808u914Du7F6EuFF1AULA20+20SLAAC20u65B9u6848-216&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5. IPv6 双栈配置：ULA + SLAAC 方案&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5. IPv6 双栈配置：ULA + SLAAC 方案&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;IPv4 透明代理跑通后（第 2.3 步），下一个目标就是让 IPv6 也走代理。这对应踩坑之路的&lt;a href=&quot;#24-第四步进一步跑通-ipv6-双栈&quot;&gt;第四步&lt;/a&gt;，也是整个部署中最”反直觉”的环节——Docker 对 IPv6 的支持远不如 IPv4 开箱即用，需要一套”ULA 激活 + SLAAC 获取”的组合拳。&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3 id=&quot;h3-5.120u95EEu9898u80CCu666F-220&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5.1 问题背景&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5.1 问题背景&lt;/h3&gt;&lt;p&gt;家用宽带的 IPv6 前缀（如 &lt;code&gt;2408:xxxx:xxxx:xxxx::/64&lt;/code&gt;）是&lt;strong&gt;动态的&lt;/strong&gt;，每隔 48-72 小时或重启路由器后会变化。如果在 macvlan 网络中写死公网 IPv6 前缀，前缀变化后容器 IPv6 立刻失效。&lt;/p&gt;
&lt;h3 id=&quot;h3-5.220u89E3u51B3u65B9u6848uFF1AULA20u6FC0u6D3B20+20SLAAC20u83B7u53D6u516Cu7F51u5730u5740-224&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5.2 解决方案：ULA 激活 + SLAAC 获取公网地址&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5.2 解决方案：ULA 激活 + SLAAC 获取公网地址&lt;/h3&gt;&lt;p&gt;核心思路：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;使用 &lt;strong&gt;ULA 地址（&lt;code&gt;fd00:8::/64&lt;/code&gt;）&lt;/strong&gt; 作为 macvlan 的 IPv6 子网，仅用于激活 Docker 的 IPv6 协议栈；&lt;/li&gt;&lt;li&gt;通过 &lt;strong&gt;SLAAC（&lt;code&gt;accept_ra=2&lt;/code&gt;）&lt;/strong&gt; 让容器自动从路由器获取公网 IPv6 地址；&lt;/li&gt;&lt;li&gt;删除 Docker 自动生成的 ULA 默认路由，避免路由冲突。&lt;/li&gt;&lt;/ol&gt;
&lt;h3 id=&quot;h3-5.320u521Bu5EFAu53CCu680820macvlan20u7F51u7EDC-232&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5.3 创建双栈 macvlan 网络&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5.3 创建双栈 macvlan 网络&lt;/h3&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker network create -d macvlan \
  --subnet=192.168.31.0/24 \
  --gateway=192.168.31.1 \
  --ipv6 \
  --subnet=fd00:8::/64 \
  --gateway=fd00:8::1 \
  -o parent=eth0 \
  macvlan_v2raya
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;关键发现&lt;/strong&gt;：Docker 默认不为 macvlan 接口启用 IPv6。必须在 &lt;code&gt;docker network create&lt;/code&gt; 时加上 &lt;code&gt;--ipv6&lt;/code&gt; 参数，否则容器网卡的 IPv6 协议栈不会被激活，无法接收 RA（Router Advertisement）。&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3 id=&quot;h3-5.4203Ccode3Edaemon.json3C/code3E20u914Du7F6EuFF08u53EFu9009uFF09-247&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5.4 daemon.json配置（可选）&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5.4 &lt;code&gt;daemon.json&lt;/code&gt; 配置（可选）&lt;/h3&gt;&lt;p&gt;对于 macvlan 模式，通常&lt;strong&gt;不需要&lt;/strong&gt;修改 &lt;code&gt;daemon.json&lt;/code&gt;。以下配置仅在使用 bridge 网络的 IPv6 时需要：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
    &quot;data-root&quot;: &quot;/volume1/@docker&quot;,
    &quot;ipv6&quot;: true,
    &quot;fixed-cidr-v6&quot;: &quot;fd00:1::/64&quot;,
    &quot;experimental&quot;: true,
    &quot;ip6tables&quot;: true
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-5.520u542Fu52A8u5E2620IPv620u652Fu6301u7684u5BB9u5668-261&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5.5 启动带 IPv6 支持的容器&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5.5 启动带 IPv6 支持的容器&lt;/h3&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker run -d \
  --name v2raya \
  --restart=always \
  --privileged \
  --network=macvlan_v2raya \
  --ip=192.168.31.2 \
  --sysctl net.ipv4.ip_forward=1 \
  --sysctl net.ipv6.conf.all.forwarding=1 \
  --sysctl net.ipv6.conf.all.accept_ra=2 \
  --sysctl net.ipv6.conf.default.accept_ra=2 \
  --sysctl net.ipv6.conf.eth0.accept_ra=2 \
  -v /volume1/docker/v2raya/etc:/etc/v2raya \
  --entrypoint sh \
  mzz2017/v2raya \
  -c &quot;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_nonlocal_bind; ip -6 route del default via fd00:8::1 2&amp;gt;/dev/null || true; ip6tables -I INPUT -p tcp --dport 2017 -j DROP; exec v2raya&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;h4-u5173u952E20sysctl20u53C2u6570u89E3u6790-281&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;关键 sysctl 参数解析&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;关键 sysctl 参数解析&lt;/h4&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;作用&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;net.ipv6.conf.all.forwarding=1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;启用 IPv6 转发（旁路由必需）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;net.ipv6.conf.all.accept_ra=2&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;值为 &lt;code&gt;2&lt;/code&gt; 表示即使在 forwarding 开启时也接受 RA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;net.ipv6.conf.eth0.accept_ra=2&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;对容器内 eth0 接口单独设置&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;为什么 &lt;code&gt;accept_ra&lt;/code&gt; 必须是 2？&lt;/strong&gt;  Linux 内核的默认行为是：当 &lt;code&gt;forwarding=1&lt;/code&gt; 时自动忽略 RA（因为转发节点不应该动态获取地址）。设为 &lt;code&gt;2&lt;/code&gt; 可以强制覆盖这一行为。&lt;/p&gt;
&lt;/blockquote&gt;&lt;h4 id=&quot;h4-entrypoint20u542Fu52A8u811Au672Cu89E3u6790-291&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;entrypoint 启动脚本解析&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;entrypoint 启动脚本解析&lt;/h4&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 1. 开启 ip_nonlocal_bind（tproxy 透明代理必需，否则 connect: invalid argument）
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_nonlocal_bind

# 2. 删除 Docker 自动创建的 ULA 默认路由（避免 IPv6 流量走 fd00:8::1 黑洞）
ip -6 route del default via fd00:8::1 2&amp;gt;/dev/null || true

# 3. 在 IPv6 防火墙中拦截对 2017 端口的入站连接（安全加固，详见第 8 节）
ip6tables -I INPUT -p tcp --dport 2017 -j DROP

# 4. 启动 v2rayA 主进程
exec v2raya
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-5.620u9A8Cu8BC120IPv6-307&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;5.6 验证 IPv6&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;5.6 验证 IPv6&lt;/h3&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 进入容器
docker exec -it v2raya sh

# 查看网卡地址，应看到 2408 开头的公网 IPv6
ip -6 addr show eth0

# 测试 IPv6 连通性
ping6 ipv6.google.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;成功获取公网 IPv6 地址示例：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;inet6 2408:xxxx:xxxx:xxxx:42:acff:fe12:3456/64 scope global dynamic
inet6 fd00:8::2/64 scope global        ← ULA 地址（仅用于激活协议栈）
inet6 fe80::42:c0ff:fea8:1f02/64 scope link  ← 链路本地地址
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2-6.20u900Fu660Eu4EE3u7406u6A21u5F0Fu9009u62E9uFF1Atproxy20/20redirect20/20TUN-330&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6. 透明代理模式选择：tproxy / redirect / TUN&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6. 透明代理模式选择：tproxy / redirect / TUN&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;IPv4 和 IPv6 网络层面都跑通后，接下来需要选择和调优透明代理的工作模式。看似只是 v2rayA 面板上选一个选项的事，实际上又踩了不少坑——tproxy 模式一度因为 &lt;code&gt;connect: invalid argument&lt;/code&gt; 和 DNS 死锁被误判为”在 macvlan 上不可用”，最终经过深度排查才定位到 &lt;code&gt;ip_nonlocal_bind&lt;/code&gt; 这个隐藏的内核参数。&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3 id=&quot;h3-6.120u4E09u79CDu6A21u5F0Fu5BF9u6BD4-334&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6.1 三种模式对比&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6.1 三种模式对比&lt;/h3&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模式&lt;/th&gt;
&lt;th&gt;工作层级&lt;/th&gt;
&lt;th&gt;TCP&lt;/th&gt;
&lt;th&gt;UDP&lt;/th&gt;
&lt;th&gt;性能&lt;/th&gt;
&lt;th&gt;macvlan 兼容性&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;redirect&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;iptables NAT 表&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;高&lt;/td&gt;
&lt;td&gt;✅ 好&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;tproxy&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;iptables mangle 表&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;最高&lt;/td&gt;
&lt;td&gt;✅ 需正确配置&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;system tun&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;虚拟 TUN 网卡&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;中高&lt;/td&gt;
&lt;td&gt;✅ 好&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;gvisor tun&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;用户态 TUN 模拟&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;中&lt;/td&gt;
&lt;td&gt;✅ 最好&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;h3-6.220tproxy20u572820macvlan20u4E2Du7684u6392u969Cu5B9Eu5F55-343&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6.2 tproxy 在 macvlan 中的排障实录&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6.2 tproxy 在 macvlan 中的排障实录&lt;/h3&gt;&lt;p&gt;在最初的测试中，tproxy 模式在 macvlan 容器内会遇到 &lt;code&gt;connect: invalid argument&lt;/code&gt; 错误。经过多轮深度排查，最终定位到&lt;strong&gt;两个根因&lt;/strong&gt;，并全部解决：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;根因一：&lt;code&gt;ip_nonlocal_bind&lt;/code&gt; 未开启（关键！）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;tproxy 需要绑定非本机 IP（冒充被劫持流量的目标地址）。绿联云系统的 &lt;code&gt;net.ipv4.ip_nonlocal_bind&lt;/code&gt; 默认为 0，这&lt;strong&gt;直接&lt;/strong&gt;导致了 &lt;code&gt;connect: invalid argument&lt;/code&gt; 错误。修复方法：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 在容器内开启（必须在 v2rayA 启动前执行）
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_nonlocal_bind
# 或
sysctl -w net.ipv4.ip_nonlocal_bind=1
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;这是整个 tproxy 问题的核心根因&lt;/strong&gt;，并非 macvlan 与 tproxy 不兼容，而是缺少这个内核参数。&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;根因二：DNS 自拦截死锁&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;macvlan 容器拥有独立的网络命名空间，tproxy 的 iptables 规则会劫持&lt;strong&gt;容器自身发出的 DNS 请求&lt;/strong&gt;，形成死循环：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;v2rayA 需要解析代理节点域名 → DNS 请求被自己的 tproxy 规则拦截 → 再次交给 v2rayA 处理 → 无限循环
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;解决方案：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;代理节点配置使用 &lt;strong&gt;IP 地址&lt;/strong&gt;而非域名；&lt;/li&gt;&lt;li&gt;DNS 服务器使用&lt;strong&gt;直连 IP&lt;/strong&gt;（如 &lt;code&gt;223.5.5.5&lt;/code&gt;、&lt;code&gt;8.8.8.8&lt;/code&gt;），避免经过域名二次解析；&lt;/li&gt;&lt;li&gt;v2rayA 中将”防止 DNS 污染”设为&lt;strong&gt;关闭&lt;/strong&gt;或 &lt;strong&gt;DoH&lt;/strong&gt;（DoH 更安全但首屏可能稍慢）；&lt;/li&gt;&lt;li&gt;DNS 设置中排除代理节点域名的解析。&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;内核兼容性验证&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;通过 &lt;code&gt;ping -m 255&lt;/code&gt; 和 &lt;code&gt;ip rule add fwmark&lt;/code&gt; 测试，确认绿联云内核&lt;strong&gt;完整支持&lt;/strong&gt; &lt;code&gt;SO_MARK&lt;/code&gt; 和策略路由（&lt;code&gt;CONFIG_IP_MULTIPLE_TABLES=y&lt;/code&gt;）。实际验证中，tproxy 所需的 &lt;code&gt;xt_TPROXY&lt;/code&gt; 模块、&lt;code&gt;table 100&lt;/code&gt; 策略路由、&lt;code&gt;fwmark 0x40/0xc0&lt;/code&gt; 标记规则均正常工作，iptables 链（&lt;code&gt;TP_PRE&lt;/code&gt;、&lt;code&gt;TP_OUT&lt;/code&gt;、&lt;code&gt;TP_RULE&lt;/code&gt;、&lt;code&gt;TP_MARK&lt;/code&gt;）的包计数器持续增长，日志中出现 &lt;code&gt;[transparent -&amp;gt; proxy]&lt;/code&gt; 记录，证明 tproxy &lt;strong&gt;在 macvlan 环境中完全可用&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&quot;h3-6.320u6700u7EC8u63A8u8350uFF1Atproxy20u6A21u5F0F-378&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;6.3 最终推荐：tproxy 模式&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;6.3 最终推荐：tproxy 模式&lt;/h3&gt;&lt;p&gt;经过完整排障，tproxy 在 macvlan 环境中&lt;strong&gt;完全可用&lt;/strong&gt;，并且是性能最优的选择：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;完美支持 TCP + UDP&lt;/strong&gt;（游戏主机联机无忧）；&lt;/li&gt;&lt;li&gt;&lt;strong&gt;内核级透明代理&lt;/strong&gt;，性能最高，CPU 开销最低；&lt;/li&gt;&lt;li&gt;相比 TUN 模式少约 10-20% 的 CPU 使用率（TUN 需要用户态 ↔ 内核态数据拷贝）；&lt;/li&gt;&lt;li&gt;IPv4 和 IPv6 双栈 tproxy 均可正常工作。&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;tproxy 的前置条件&lt;/strong&gt;（缺一不可）：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 1. 开启 ip_nonlocal_bind（核心！否则 connect: invalid argument）
sysctl -w net.ipv4.ip_nonlocal_bind=1

# 2. 开启 IP 转发
sysctl -w net.ipv4.ip_forward=1

# 3. 确保容器以 --privileged 运行（需要操作 iptables mangle 表和策略路由）
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;备选方案&lt;/strong&gt;：如果因任何原因无法使用 tproxy（如内核缺少 &lt;code&gt;xt_TPROXY&lt;/code&gt; 模块），可退而求其次选择 &lt;code&gt;system tun&lt;/code&gt; 或 &lt;code&gt;gvisor tun&lt;/code&gt; 模式，兼容性好但性能略低。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2-7.20v2rayA20u9762u677Fu914Du7F6Eu8BE6u89E3-403&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;7. v2rayA 面板配置详解&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;7. v2rayA 面板配置详解&lt;/h2&gt;&lt;h3 id=&quot;h3-7.120u6838u5FC3u8BBEu7F6E-405&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;7.1 核心设置&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;7.1 核心设置&lt;/h3&gt;&lt;p&gt;在 v2rayA 的 &lt;code&gt;设置 (Settings)&lt;/code&gt; 页面：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;设置项&lt;/th&gt;
&lt;th&gt;推荐值&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;透明代理/系统代理实现方式&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;tproxy&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;性能最优；如不可用改 system tun&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;透明代理/系统代理&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;启用：大陆白名单模式&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;国内直连，其余走代理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;防止 DNS 污染&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;关闭&lt;/strong&gt; 或 &lt;strong&gt;DoH&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;关闭最稳；DoH 更安全但首屏可能稍慢&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;特殊模式&lt;/td&gt;
&lt;td&gt;关闭&lt;/td&gt;
&lt;td&gt;非软路由环境无需开启&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TCPFastOpen&lt;/td&gt;
&lt;td&gt;关闭或保持默认&lt;/td&gt;
&lt;td&gt;部分线路不支持会导致连接失败&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;多路复用（Mux）&lt;/td&gt;
&lt;td&gt;关闭&lt;/td&gt;
&lt;td&gt;开启会增加延迟，仅在线路极差时考虑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;流量嗅探&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;启用&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;关键！用于纠偏被污染的 DNS 结果&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;h3-7.220u6D41u91CFu55C5u63A2uFF08SniffinguFF09u7684u91CDu8981u6027-419&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;7.2 流量嗅探（Sniffing）的重要性&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;7.2 流量嗅探（Sniffing）的重要性&lt;/h3&gt;&lt;p&gt;嗅探功能是 v2rayA 透明代理的”灵魂”：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;手机向路由器发起 DNS 请求，可能拿到被污染的错误 IP；&lt;/li&gt;&lt;li&gt;手机向错误 IP 发起连接，流量经过 v2rayA；&lt;/li&gt;&lt;li&gt;v2rayA 嗅探 TLS ClientHello 中的 SNI（域名信息），发现实际要访问 &lt;code&gt;youtube.com&lt;/code&gt;；&lt;/li&gt;&lt;li&gt;v2rayA 丢弃错误 IP，在远端重新解析正确地址并建立连接。&lt;/li&gt;&lt;/ol&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;必须开启 QUIC 嗅探&lt;/strong&gt;：YouTube App 大量使用 QUIC（UDP 443）协议。如果不开启 QUIC 嗅探，App 可能无限转圈。&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3 id=&quot;h3-7.320u767Du540Du5355u6A21u5F0Fu6CE8u610Fu4E8Bu9879-430&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;7.3 白名单模式注意事项&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;7.3 白名单模式注意事项&lt;/h3&gt;&lt;p&gt;“大陆白名单”模式会在 iptables 中注入数千条中国 IP 段的 RETURN 规则。在 ARM 架构的 NAS 上，这可能导致：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;规则注入时间极长（数十秒甚至数分钟）；&lt;/li&gt;&lt;li&gt;每个数据包都要遍历所有规则，造成&lt;strong&gt;显著的 CPU 负载和延迟&lt;/strong&gt;。&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;如果遇到性能问题，建议改用 &lt;strong&gt;GFWList 模式&lt;/strong&gt;（仅代理被墙域名），规则数量大幅减少，性能压力显著降低。（⚠️ 本文作者使用的是白名单模式，GFWList 模式未实测。）&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2-8.20u5B89u5168u52A0u56FAuFF1Au5C01u9501u516Cu7F5120IPv620u66B4u9732-441&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;8. 安全加固：封锁公网 IPv6 暴露&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;8. 安全加固：封锁公网 IPv6 暴露&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;IPv6 双栈跑通、tproxy 模式调通之后，本以为大功告成。然而在一次偶然的测试中，用手机 5G 流量直接访问容器的公网 IPv6 地址，竟然打开了 v2rayA 管理面板——这意味着任何人都可以从公网控制你的代理服务。&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3 id=&quot;h3-8.120u95EEu9898u53D1u73B0-445&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;8.1 问题发现&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;8.1 问题发现&lt;/h3&gt;&lt;p&gt;配置 IPv6 双栈后，v2rayA 容器获得了公网 IPv6 地址（如 &lt;code&gt;2408:xxxx:xxxx:xxxx:42:acff:fe12:3456&lt;/code&gt;）。由于 v2rayA 默认监听所有网络接口，&lt;strong&gt;Web 管理面板直接暴露在公网&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;手机 5G 流量访问 http://[2408:...]:2017 → 直接打开管理面板！
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-8.220u5C1Du8BD5u8FC7u7684u65B9u6848-453&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;8.2 尝试过的方案&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;8.2 尝试过的方案&lt;/h3&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;方案&lt;/th&gt;
&lt;th&gt;结果&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;设置环境变量 &lt;code&gt;V2RAYA_ADDRESS=0.0.0.0:2017&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;❌ 无效，v2rayA 仍监听所有地址&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;启动参数 &lt;code&gt;--address 0.0.0.0:2017&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;❌ 无效，Go 程序仍遍历所有 IP 并监听&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;v2rayA 基于 Go 语言开发，其监听逻辑会遍历所有网络接口并绑定。日志中打印的地址列表实际反映了真实的监听状态。&lt;/p&gt;
&lt;h3 id=&quot;h3-8.320u7EC8u6781u89E3u51B3u65B9u6848uFF1Aip6tables20u5185u6838u7EA7u5C01u9501-462&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;8.3 终极解决方案：ip6tables 内核级封锁&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;8.3 终极解决方案：ip6tables 内核级封锁&lt;/h3&gt;&lt;p&gt;既然应用层无法控制，直接在&lt;strong&gt;容器内的 IPv6 防火墙&lt;/strong&gt;拦截：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;ip6tables -I INPUT -p tcp --dport 2017 -j DROP
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;将这条命令写入容器的 entrypoint 脚本，在 v2rayA 启动&lt;strong&gt;之前&lt;/strong&gt;执行：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;--entrypoint sh mzz2017/v2raya \
-c &quot;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_nonlocal_bind; \
    ip -6 route del default via fd00:8::1 2&amp;gt;/dev/null || true; \
    ip6tables -I INPUT -p tcp --dport 2017 -j DROP; \
    exec v2raya&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-8.420u4E3Au4EC0u4E48u8FD9u6837u505Au662Fu5B89u5168u7684uFF1F-480&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;8.4 为什么这样做是安全的？&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;8.4 为什么这样做是安全的？&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;只拦截 INPUT 入站&lt;/strong&gt;：不影响容器通过 IPv6 &lt;strong&gt;出站&lt;/strong&gt;连接代理节点；&lt;/li&gt;&lt;li&gt;&lt;strong&gt;内核级拦截&lt;/strong&gt;：数据包在到达 v2rayA 进程之前就被丢弃，效率极高；&lt;/li&gt;&lt;li&gt;&lt;strong&gt;随容器自动生效&lt;/strong&gt;：写在 entrypoint 中，容器重启后自动恢复。&lt;/li&gt;&lt;/ul&gt;
&lt;h3 id=&quot;h3-8.520u9A8Cu8BC1-486&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;8.5 验证&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;8.5 验证&lt;/h3&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 局域网 IPv4 访问（应成功）
curl http://192.168.31.2:2017

# 公网 IPv6 访问（应超时）
# 手机关闭 WiFi，使用 5G 流量
# 浏览器访问 http://[2408:xxxx:xxxx:xxxx:...]:2017
# 预期：连接超时
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2-9.20Macvlan20u5BBFu4E3Bu673Au901Au4FE1uFF1Avlink20u6865u63A5-500&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;9. Macvlan 宿主机通信：vlink 桥接&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;9. Macvlan 宿主机通信：vlink 桥接&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;⚠️ 未实测&lt;/strong&gt;：本节内容为理论方案，作者尚未在自己的环境中实际配置 vlink。&lt;/p&gt;
&lt;p&gt;代理功能完善、安全加固完成后，日常使用中又发现了一个问题：从 NAS 本机竟然访问不了 v2rayA 的 Web 面板，NAS 上的其他容器也无法通过 v2rayA 上网。这是 macvlan 的一个”设计特性”——宿主机与自己创建的 macvlan 容器天然隔离。&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3 id=&quot;h3-9.120u95EEu9898-506&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;9.1 问题&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;9.1 问题&lt;/h3&gt;&lt;p&gt;Macvlan 有一个&lt;strong&gt;设计层面&lt;/strong&gt;的限制：宿主机与其自身创建的 macvlan 容器&lt;strong&gt;无法直接通信&lt;/strong&gt;。这意味着：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NAS 本机无法访问 &lt;code&gt;192.168.31.2:2017&lt;/code&gt;（v2rayA 面板）；&lt;/li&gt;&lt;li&gt;NAS 本机的应用（如青龙面板的脚本）无法通过 v2rayA 代理上网。&lt;/li&gt;&lt;/ul&gt;
&lt;h3 id=&quot;h3-9.220u89E3u51B3u65B9u6848uFF1Au521Bu5EFA20vlink20u5B50u63A5u53E3-513&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;9.2 解决方案：创建 vlink 子接口&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;9.2 解决方案：创建 vlink 子接口&lt;/h3&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 创建 macvlan 子接口
ip link add vlink link eth0 type macvlan mode bridge

# 分配一个局域网 IP（不要与其他设备冲突）
ip addr add 192.168.31.100/32 dev vlink

# 启用接口
ip link set vlink up

# 添加到 v2rayA 容器的路由
ip route add 192.168.31.2/32 dev vlink
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;现在宿主机可以通过 &lt;code&gt;vlink&lt;/code&gt; 接口与 macvlan 容器通信了。&lt;/p&gt;
&lt;h3 id=&quot;h3-9.320u5982u679Cu9700u898120NAS20u672Cu673Au4E5Fu8D70u4EE3u7406-531&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;9.3 如果需要 NAS 本机也走代理&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;9.3 如果需要 NAS 本机也走代理&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;⚠️ 未实测 + 高风险&lt;/strong&gt;：此操作未经作者实测，且风险较高，请谨慎操作。&lt;/p&gt;
&lt;/blockquote&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 将 vlink 设为默认网关（宿主机流量走 v2rayA）
ip route del default
ip route add default via 192.168.31.2 dev vlink
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;⚠️ 风险提示&lt;/strong&gt;：如果 v2rayA 容器停止，宿主机将&lt;strong&gt;完全断网&lt;/strong&gt;。建议仅在测试时使用，生产环境建议为 NAS 本机保留直连路由。&lt;/p&gt;
&lt;/blockquote&gt;&lt;hr&gt;
&lt;h2 id=&quot;h2-10.20u5176u4ED6u5BB9u5668u8D70u4EE3u7406uFF08u9752u9F99u9762u677Fu7B49uFF09-545&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;10. 其他容器走代理（青龙面板等）&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;10. 其他容器走代理（青龙面板等）&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;⚠️ 未实测&lt;/strong&gt;：本节两种方案均为理论指导，作者尚未实际将青龙等容器接入代理。&lt;/p&gt;
&lt;/blockquote&gt;&lt;h3 id=&quot;h3-10.120u65B9u6848u4E00uFF1Au52A0u516520macvlan20u7F51u7EDC-549&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;10.1 方案一：加入 macvlan 网络&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;10.1 方案一：加入 macvlan 网络&lt;/h3&gt;&lt;p&gt;将需要走代理的容器也加入同一个 macvlan 网络，并将网关指向 v2rayA：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker run -d \
  --name qinglong \
  --network=macvlan_v2raya \
  --ip=192.168.31.3 \
  whyour/qinglong
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;容器内手动设置路由：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker exec qinglong ip route replace default via 192.168.31.2
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-10.220u65B9u6848u4E8CuFF1Au4F7Fu752820HTTP20u4EE3u7406u73AFu5883u53D8u91CF-567&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;10.2 方案二：使用 HTTP 代理环境变量&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;10.2 方案二：使用 HTTP 代理环境变量&lt;/h3&gt;&lt;p&gt;如果不想改网络模式，可以在容器启动时注入代理环境变量：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker run -d \
  --name qinglong \
  -e HTTP_PROXY=http://192.168.31.2:20171 \
  -e HTTPS_PROXY=http://192.168.31.2:20171 \
  -e ALL_PROXY=socks5://192.168.31.2:20170 \
  whyour/qinglong
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;p&gt;注意：需要在 v2rayA 设置中确认 SOCKS5（20170）和 HTTP（20171）代理端口已开启。&lt;/p&gt;
&lt;/blockquote&gt;&lt;hr&gt;
&lt;h2 id=&quot;h2-11.20u6301u4E45u5316u4E0Eu5F00u673Au81EAu542F-584&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;11. 持久化与开机自启&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;11. 持久化与开机自启&lt;/h2&gt;&lt;h3 id=&quot;h3-11.120Docker20u81EAu52A8u91CDu542F-586&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;11.1 Docker 自动重启&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;11.1 Docker 自动重启&lt;/h3&gt;&lt;p&gt;容器使用 &lt;code&gt;--restart=always&lt;/code&gt; 参数，Docker 服务启动时会自动拉起容器。macvlan 网络和容器配置均持久化存储，重启 NAS 后自动恢复。&lt;/p&gt;
&lt;h3 id=&quot;h3-11.220vlink20u548Cu5185u6838u53C2u6570u7684u6301u4E45u5316-590&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;11.2 vlink 和内核参数的持久化&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;11.2 vlink 和内核参数的持久化&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;⚠️ 未实测&lt;/strong&gt;：以下启动脚本为理论方案，作者尚未在绿联云上实际配置开机自启脚本。&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Docker 容器内的 entrypoint 脚本（ip6tables 规则、路由删除）会随容器启动自动执行。但&lt;strong&gt;宿主机上的 vlink 和内核参数&lt;/strong&gt;需要通过启动脚本持久化：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# /etc/rc.local 或绿联云的自启动脚本
#!/bin/bash

# 如果通过绿联云系统设置删除了虚拟网桥，系统会自动切回 eth0 直连，通常无需额外配置
# 如果是命令行手动拆除 bridge0，则需要手动恢复 eth0 的 IP：
# ip addr add 192.168.31.178/24 dev eth0
# ip route add default via 192.168.31.1

# 创建 vlink（如需宿主机访问 v2rayA）
ip link add vlink link eth0 type macvlan mode bridge
ip addr add 192.168.31.100/32 dev vlink
ip link set vlink up
ip route add 192.168.31.2/32 dev vlink

# 确保宿主机 ip_forward 开启（bridge 容器依赖）
sysctl -w net.ipv4.ip_forward=1
# 注意：ip_nonlocal_bind 无需在宿主机设置，已在容器 entrypoint 中配置（容器有独立的网络命名空间）
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：绿联云系统升级可能覆盖自定义启动脚本。建议升级前备份。&lt;/p&gt;
&lt;/blockquote&gt;&lt;hr&gt;
&lt;h2 id=&quot;h2-12.20u5B8Cu6574u547Du4EE4u53C2u8003u4E0E20docker-compose-620&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;12. 完整命令参考与 docker-compose&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;12. 完整命令参考与 docker-compose&lt;/h2&gt;&lt;h3 id=&quot;h3-12.120u5B8Cu657420Docker20u547Du4EE4uFF08u7EC8u6781u7248uFF09-622&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;12.1 完整 Docker 命令（终极版）&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;12.1 完整 Docker 命令（终极版）&lt;/h3&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 1. 创建双栈 macvlan 网络
docker network create -d macvlan \
  --subnet=192.168.31.0/24 \
  --gateway=192.168.31.1 \
  --ipv6 \
  --subnet=fd00:8::/64 \
  --gateway=fd00:8::1 \
  -o parent=eth0 \
  macvlan_v2raya

# 2. 启动 v2rayA 容器（IPv6 + 安全加固）
docker run -d \
  --name v2raya \
  --restart=always \
  --privileged \
  --network=macvlan_v2raya \
  --ip=192.168.31.2 \
  --sysctl net.ipv4.ip_forward=1 \
  --sysctl net.ipv6.conf.all.forwarding=1 \
  --sysctl net.ipv6.conf.all.accept_ra=2 \
  --sysctl net.ipv6.conf.default.accept_ra=2 \
  --sysctl net.ipv6.conf.eth0.accept_ra=2 \
  -v /volume1/docker/v2raya/etc:/etc/v2raya \
  --entrypoint sh \
  mzz2017/v2raya \
  -c &quot;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_nonlocal_bind; ip -6 route del default via fd00:8::1 2&amp;gt;/dev/null || true; ip6tables -I INPUT -p tcp --dport 2017 -j DROP; exec v2raya&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-12.220docker-compose.yml-653&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;12.2 docker-compose.yml&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;12.2 docker-compose.yml&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;⚠️ 未实测&lt;/strong&gt;：以下 docker-compose 配置由 &lt;code&gt;docker run&lt;/code&gt; 命令等价转换而来，作者实际使用的是 &lt;code&gt;docker run&lt;/code&gt; 命令行方式。&lt;/p&gt;
&lt;/blockquote&gt;&lt;pre&gt;&lt;code class=&quot;language-yaml&quot;&gt;version: &quot;3.9&quot;

services:
  v2raya:
    image: mzz2017/v2raya
    container_name: v2raya
    restart: always
    privileged: true
    networks:
      macvlan_v2raya:
        ipv4_address: 192.168.31.2
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv6.conf.all.forwarding=1
      - net.ipv6.conf.all.accept_ra=2
      - net.ipv6.conf.default.accept_ra=2
      - net.ipv6.conf.eth0.accept_ra=2
    volumes:
      - /volume1/docker/v2raya/etc:/etc/v2raya
    entrypoint: sh
    command: &amp;gt;
      -c &quot;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_nonlocal_bind;
          ip -6 route del default via fd00:8::1 2&amp;gt;/dev/null || true;
          ip6tables -I INPUT -p tcp --dport 2017 -j DROP;
          exec v2raya&quot;

networks:
  macvlan_v2raya:
    driver: macvlan
    driver_opts:
      parent: eth0
    enable_ipv6: true
    ipam:
      config:
        - subnet: 192.168.31.0/24
          gateway: 192.168.31.1
        - subnet: fd00:8::/64
          gateway: fd00:8::1
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2-13.20u5E38u89C1u95EEu9898u4E0Eu6392u969Cu901Fu67E5-700&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;13. 常见问题与排障速查&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;13. 常见问题与排障速查&lt;/h2&gt;&lt;h3 id=&quot;h3-Q1uFF1Av2rayA20u542Fu52A8u540EuFF0CNAS20u4E0Au5176u4ED620Docker20u5BB9u5668u5168u90E8u65ADu7F51-702&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;Q1：v2rayA 启动后，NAS 上其他 Docker 容器全部断网&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Q1：v2rayA 启动后，NAS 上其他 Docker 容器全部断网&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;原因&lt;/strong&gt;：v2rayA 以 host 模式运行，启动透明代理时关闭了 &lt;code&gt;ip_forward&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决&lt;/strong&gt;：改用 macvlan 模式部署 v2rayA。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;h3-Q2uFF1Au624Bu673Au8BBEu7F6Eu7F51u5173u540Eu80FDu4E0Au767Eu5EA6uFF0Cu4F46u4E0Du80FDu4E0A20Google-710&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;Q2：手机设置网关后能上百度，但不能上 Google&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Q2：手机设置网关后能上百度，但不能上 Google&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;排查步骤&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;检查手机是否&lt;strong&gt;关闭了 IPv6&lt;/strong&gt;（IPv6 流量会绕过 IPv4 透明代理）；&lt;/li&gt;&lt;li&gt;检查 v2rayA 日志是否有 &lt;code&gt;[transparent -&amp;gt; proxy]&lt;/code&gt; 记录；&lt;/li&gt;&lt;li&gt;检查代理节点是否正常连通。&lt;/li&gt;&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id=&quot;h3-Q3uFF1Au624Bu673Au8BBEu7F6Eu7F51u5173u540Eu767Eu5EA6u548C20Google20u90FDu6253u4E0Du5F00-719&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;Q3：手机设置网关后百度和 Google 都打不开&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Q3：手机设置网关后百度和 Google 都打不开&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;常见原因&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;tproxy 模式下 &lt;code&gt;ip_nonlocal_bind=0&lt;/code&gt;，导致直连流量报 &lt;code&gt;invalid argument&lt;/code&gt;；&lt;/li&gt;&lt;li&gt;DNS 死锁：代理节点使用域名，DNS 请求被代理自身拦截形成环路。&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;解决&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;确保 &lt;code&gt;ip_nonlocal_bind=1&lt;/code&gt;（&lt;code&gt;sysctl -w net.ipv4.ip_nonlocal_bind=1&lt;/code&gt;）；&lt;/li&gt;&lt;li&gt;将”防止 DNS 污染”设为关闭；&lt;/li&gt;&lt;li&gt;代理节点使用 IP 地址而非域名。&lt;/li&gt;&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id=&quot;h3-Q4uFF1AYouTube20App20u65E0u9650u8F6Cu5708uFF0Cu4F46u6D4Fu89C8u5668u6B63u5E38-732&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;Q4：YouTube App 无限转圈，但浏览器正常&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Q4：YouTube App 无限转圈，但浏览器正常&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;原因&lt;/strong&gt;：YouTube App 使用 QUIC（UDP 443）协议，v2rayA 未嗅探 QUIC 流量。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决&lt;/strong&gt;：在 v2rayA 设置中开启 &lt;strong&gt;QUIC 嗅探&lt;/strong&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;h3-Q5uFF1A3Ccode3Eiptables20-F3C/code3E20u80FDu201Du4FEEu590Du201Du900Fu660Eu4EE3u7406uFF0Cu4F4620NAS20u5176u4ED6u670Du52A1u6302u4E86-740&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;Q5：iptables -F能”修复”透明代理，但 NAS 其他服务挂了&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Q5：&lt;code&gt;iptables -F&lt;/code&gt; 能”修复”透明代理，但 NAS 其他服务挂了&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;原因&lt;/strong&gt;：macvlan 绑定在 &lt;code&gt;bridge0&lt;/code&gt; 上，&lt;code&gt;bridge-nf-call-iptables=1&lt;/code&gt; 导致 bridge 流量被 iptables FORWARD DROP 规则拦截。&lt;code&gt;iptables -F&lt;/code&gt; 清空了 DROP 规则所以暂时通了，但也清掉了 Docker 的其他必要规则。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决&lt;/strong&gt;：macvlan 绑定到 &lt;code&gt;eth0&lt;/code&gt; 而非 &lt;code&gt;bridge0&lt;/code&gt;（参见第 2.2 和第 3 节）。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;h3-Q6uFF1Au5BB9u5668u83B7u53D6u4E0Du5230u516Cu7F5120IPv620u5730u5740-748&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;Q6：容器获取不到公网 IPv6 地址&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Q6：容器获取不到公网 IPv6 地址&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;排查清单&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;macvlan 创建时是否加了 &lt;code&gt;--ipv6&lt;/code&gt; 参数；&lt;/li&gt;&lt;li&gt;容器启动时是否设置了 &lt;code&gt;accept_ra=2&lt;/code&gt;；&lt;/li&gt;&lt;li&gt;是否删除了 ULA 默认路由（否则 SLAAC 的路由会被覆盖）；&lt;/li&gt;&lt;li&gt;路由器是否开启了 IPv6 RA 广播。&lt;/li&gt;&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 容器内检查
ip -6 addr show eth0      # 查看地址
ip -6 route show           # 查看路由表，default 应指向路由器
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h3 id=&quot;h3-Q7uFF1Av2rayA20u9762u677Fu53EFu4EE5u901Au8FC7u516Cu7F5120IPv620u8BBFu95EEuFF08u5B89u5168u9690u60A3uFF09-764&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;Q7：v2rayA 面板可以通过公网 IPv6 访问（安全隐患）&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Q7：v2rayA 面板可以通过公网 IPv6 访问（安全隐患）&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;解决&lt;/strong&gt;：在容器 entrypoint 中添加 &lt;code&gt;ip6tables -I INPUT -p tcp --dport 2017 -j DROP&lt;/code&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;h3-Q8uFF1ADoH20u5F00u542Fu540Eu9996u5C4Fu52A0u8F7Du53D8u6162-770&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;Q8：DoH 开启后首屏加载变慢&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Q8：DoH 开启后首屏加载变慢&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;原因&lt;/strong&gt;：DoH 需要 TCP + TLS 握手，且请求还要经过代理隧道，首次解析延迟较高。后续请求受益于连接复用和 DNS 缓存，速度恢复正常。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;优化方案&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用 DNS 分流：国内域名走 UDP DNS（&lt;code&gt;223.5.5.5&lt;/code&gt;），海外域名走 DoH；&lt;/li&gt;&lt;li&gt;如果手机同时开了代理软件（Fake-IP 模式），NAS 上可以关闭 DoH，因为 DNS 解析已被手机代理接管。&lt;/li&gt;&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&quot;h3-Q9uFF1Au5BBFu4E3Bu673Au8BBFu95EEu4E0Du4E8620v2rayA20u9762u677F-780&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;Q9：宿主机访问不了 v2rayA 面板&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Q9：宿主机访问不了 v2rayA 面板&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;原因&lt;/strong&gt;：macvlan 的设计限制——宿主机与自身的 macvlan 容器隔离。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决&lt;/strong&gt;：创建 vlink 子接口（参见第 9 节）。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;h3-Q10uFF1ANAS20u91CDu542Fu540E20IPv620u524Du7F00u53D8u5316uFF0Cu5BB9u566820IPv620u5931u6548-788&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;Q10：NAS 重启后 IPv6 前缀变化，容器 IPv6 失效&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Q10：NAS 重启后 IPv6 前缀变化，容器 IPv6 失效&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;解决&lt;/strong&gt;：使用 ULA + SLAAC 方案（参见第 5 节）。macvlan 使用固定的 ULA 子网 &lt;code&gt;fd00:8::/64&lt;/code&gt;，公网 IPv6 通过 SLAAC 动态获取，无需手动更新。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2-u603Bu7ED3-794&quot;&gt;&lt;a class=&quot;reference-link&quot; name=&quot;总结&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;总结&lt;/h2&gt;&lt;p&gt;本文完整记录了在绿联云 NAS 上从零搭建 Docker 透明代理的全过程，核心结论如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;网络模式&lt;/strong&gt;：必须使用 macvlan，避免 host 模式破坏其他容器；&lt;/li&gt;&lt;li&gt;&lt;strong&gt;macvlan 绑定&lt;/strong&gt;：直接绑定到 &lt;code&gt;eth0&lt;/code&gt;，避免 &lt;code&gt;bridge0&lt;/code&gt; 带来的 iptables 干扰；&lt;/li&gt;&lt;li&gt;&lt;strong&gt;IPv6 方案&lt;/strong&gt;：ULA 激活协议栈 + SLAAC 获取公网地址 + 删除 ULA 默认路由；&lt;/li&gt;&lt;li&gt;&lt;strong&gt;透明代理模式&lt;/strong&gt;：推荐 tproxy 模式，性能最优；关键前置条件为 &lt;code&gt;ip_nonlocal_bind=1&lt;/code&gt;、DNS 直连 IP、&lt;code&gt;--privileged&lt;/code&gt; 权限；&lt;/li&gt;&lt;li&gt;&lt;strong&gt;安全加固&lt;/strong&gt;：ip6tables 封锁公网 IPv6 入站，防止管理面板暴露；&lt;/li&gt;&lt;li&gt;&lt;strong&gt;DNS 策略&lt;/strong&gt;：开启嗅探（含 QUIC），避免 DNS 死锁，按需开启 DoH/分流。&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;这套方案经过反复实测验证，可以稳定运行，实现&lt;strong&gt;全家设备仅改网关即可无感科学上网&lt;/strong&gt;的终极目标。&lt;/p&gt;
&lt;/body&gt;</description><pubDate>Sun, 22 Feb 2026 00:51:43 +0800</pubDate></item><item><title>隐私政策</title><link>https://www.r966.com/post/3.html</link><description>&lt;h1 style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;隐私政策&lt;/h1&gt;&lt;div style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;更新日期：&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;2025/9/22&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;生效日期：&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;2025/9/22&lt;/span&gt;&lt;/div&gt;&lt;h2 style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;导言&lt;/h2&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;&lt;em style=&quot;box-sizing: inherit;&quot;&gt;战争前线&lt;/em&gt;&amp;nbsp;是一款由&amp;nbsp;&lt;em style=&quot;box-sizing: inherit;&quot;&gt;RayLab&lt;/em&gt;&amp;nbsp;（以下简称“我们”）提供的产品。 您在使用我们的服务时，我们可能会收集和使用您的相关信息。我们希望通过本《隐私政策》向您说明，在使用我们的服务时，我们如何收集、使用、储存和分享这些信息，以及我们为您提供的访问、更新、控制和保护这些信息的方式。 本《隐私政策》与您所使用的&amp;nbsp;&lt;em style=&quot;box-sizing: inherit;&quot;&gt;战争前线&lt;/em&gt;&amp;nbsp;服务息息相关，希望您仔细阅读，在需要时，按照本《隐私政策》的指引，作出您认为适当的选择。本《隐私政策》中涉及的相关技术词汇，我们尽量以简明扼要的表述，并提供进一步说明的链接，以便您的理解。&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;您使用或继续使用我们的服务，即意味着同意我们按照本《隐私政策》收集、使用、储存和分享您的相关信息。&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;如对本《隐私政策》或相关事宜有任何问题，请通过&amp;nbsp;&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;1422401186@qq.com&lt;/span&gt;&amp;nbsp;与我们联系。&lt;/p&gt;&lt;h2 style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;1. 我们收集的信息&lt;/h2&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;我们或我们的第三方合作伙伴提供服务时，可能会收集、储存和使用下列与您有关的信息。如果您不提供相关信息，可能无法注册成为我们的用户或无法享受我们提供的某些服务，或者无法达到相关服务拟达到的效果。&lt;/p&gt;&lt;h2 style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;2. 信息的存储&lt;/h2&gt;&lt;p&gt;&lt;span style=&quot;box-sizing: inherit; font-weight: 700; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;2.1 信息存储的方式和期限&lt;/span&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;我们会通过安全的方式存储您的信息，包括本地存储（例如利用APP进行数据缓存）、数据库和服务器日志。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;一般情况下，我们只会在为实现服务目的所必需的时间内或法律法规规定的条件下存储您的个人信息。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;box-sizing: inherit; font-weight: 700; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;2.2 信息存储的地域&lt;/span&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;我们会按照法律法规规定，将境内收集的用户个人信息存储于中国境内。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;目前我们不会跨境传输或存储您的个人信息。将来如需跨境传输或存储的，我们会向您告知信息出境的目的、接收方、安全保证措施和安全风险，并征得您的同意。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;box-sizing: inherit; font-weight: 700; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;2.3 产品或服务停止运营时的通知&lt;/span&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;当我们的产品或服务发生停止运营的情况时，我们将以推送通知、公告等形式通知您，并在合理期限内删除您的个人信息或进行匿名化处理，法律法规另有规定的除外。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;3. 信息安全&lt;/h2&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;我们使用各种安全技术和程序，以防信息的丢失、不当使用、未经授权阅览或披露。例如，在某些服务中，我们将利用加密技术（例如SSL）来保护您提供的个人信息。但请您理解，由于技术的限制以及可能存在的各种恶意手段，在互联网行业，即便竭尽所能加强安全措施，也不可能始终保证信息百分之百的安全。您需要了解，您接入我们的服务所用的系统和通讯网络，有可能因我们可控范围外的因素而出现问题。&lt;/p&gt;&lt;h2 style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;4. 我们如何使用信息&lt;/h2&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;我们可能将在向您提供服务的过程之中所收集的信息用作下列用途：&lt;/p&gt;&lt;ul style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;向您提供服务；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;在我们提供服务时，用于身份验证、客户服务、安全防范、诈骗监测、存档和备份用途，确保我们向您提供的产品和服务的安全性；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;帮助我们设计新服务，改善我们现有服务；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;使我们更加了解您如何接入和使用我们的服务，从而针对性地回应您的个性化需求，例如语言设定、位置设定、个性化的帮助服务和指示，或对您和其他用户作出其他方面的回应；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;向您提供与您更加相关的广告以替代普遍投放的广告；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;评估我们服务中的广告和其他促销及推广活动的效果，并加以改善；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;软件认证或管理软件升级；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;让您参与有关我们产品和服务的调查。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;5. 信息共享&lt;/h2&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;目前，我们不会主动共享或转让您的个人信息至第三方，如存在其他共享或转让您的个人信息或您需要我们将您的个人信息共享或转让至第三方情形时，我们会直接或确认第三方征得您对上述行为的明示同意。&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;为了投放广告，评估、优化广告投放效果等目的，我们需要向广告主及其代理商等第三方合作伙伴共享您的部分数据，要求其严格遵守我们关于数据隐私保护的措施与要求，包括但不限于根据数据保护协议、承诺书及相关数据处理政策进行处理，避免识别出个人身份，保障隐私安全。&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;我们不会向合作伙伴分享可用于识别您个人身份的信息（例如您的姓名或电子邮件地址），除非您明确授权。&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;我们不会对外公开披露所收集的个人信息，如必须公开披露时，我们会向您告知此次公开披露的目的、披露信息的类型及可能涉及的敏感信息，并征得您的明示同意。&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;随着我们业务的持续发展，我们有可能进行合并、收购、资产转让等交易，我们将告知您相关情形，按照法律法规及不低于本《隐私政策》所要求的标准继续保护或要求新的控制者继续保护您的个人信息。&lt;/p&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;另外，根据相关法律法规及国家标准，以下情形中，我们可能会共享、转让、公开披露个人信息无需事先征得您的授权同意：&lt;/p&gt;&lt;ul style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;与国家安全、国防安全直接相关的；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;与公共安全、公共卫生、重大公共利益直接相关的；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;犯罪侦查、起诉、审判和判决执行等直接相关的；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;出于维护个人信息主体或其他个人的生命、财产等重大合法权益但又很难得到本人同意的；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;个人信息主体自行向社会公众公开个人信息的；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;从合法公开披露的信息中收集个人信息的，如合法的新闻报道、政府信息公开等渠道。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;6. 您的权利&lt;/h2&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;在您使用我们的服务期间，我们可能会视产品具体情况为您提供相应的操作设置，以便您可以查询、删除、更正或撤回您的相关个人信息，您可参考相应的具体指引进行操作。此外，我们还设置了投诉举报渠道，您的意见将会得到及时的处理。如果您无法通过上述途径和方式行使您的个人信息主体权利，您可以通过本《隐私政策》中提供的联系方式提出您的请求，我们会按照法律法规的规定予以反馈。&lt;/p&gt;&lt;h2 style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;7. 变更&lt;/h2&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;我们可能适时修订本《隐私政策》的条款。当变更发生时，我们会在版本更新时向您提示新的《隐私政策》，并向您说明生效日期。请您仔细阅读变更后的《隐私政策》内容，&lt;span style=&quot;box-sizing: inherit; font-weight: 700;&quot;&gt;若您继续使用我们的服务，即表示您同意我们按照更新后的《隐私政策》处理您的个人信息。&lt;/span&gt;&lt;/p&gt;&lt;h2 style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;8. 未成年人保护&lt;/h2&gt;&lt;p style=&quot;box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: 0.15008px; text-wrap-mode: wrap;&quot;&gt;我们鼓励父母或监护人指导未满十八岁的未成年人使用我们的服务。我们建议未成年人鼓励他们的父母或监护人阅读本《隐私政策》，并建议未成年人在提交的个人信息之前寻求父母或监护人的同意和指导。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 22 Sep 2025 13:21:05 +0800</pubDate></item><item><title>欢迎使用Z-BlogPHP！</title><link>https://www.r966.com/post/1.html</link><description>&lt;p&gt;欢迎使用Z-Blog，这是程序自动生成的文章，您可以删除或是编辑它:)&lt;/p&gt;&lt;p&gt;系统生成了一个留言本和一篇《欢迎使用Z-BlogPHP！》，祝您使用愉快！&lt;/p&gt;</description><pubDate>Fri, 11 Jul 2025 10:08:28 +0800</pubDate></item></channel></rss>