<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>Skyline</name>
    <email>sky13712559955@gmail.com</email>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <icon>https://www.gravatar.com/avatar/d0dffb2a505f043cea4b205a662b826a</icon>
  <id>https://skylink9119.github.io/</id>
  <link href="https://skylink9119.github.io/" rel="alternate"/>
  <link href="https://skylink9119.github.io/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, Skyline</rights>
  <subtitle>技术教程与 YouTube 实战视频</subtitle>
  <title>Skyline</title>
  <updated>2026-09-04T13:02:40.000Z</updated>
  <entry>
    <author>
      <name>Skyline</name>
      <email>sky13712559955@gmail.com</email>
    </author>
    <category term="技术教程" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/"/>
    <category term="网络链路" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/%E7%BD%91%E7%BB%9C%E9%93%BE%E8%B7%AF/"/>
    <category term="Xray" scheme="https://skylink9119.github.io/tags/Xray/"/>
    <category term="VLESS" scheme="https://skylink9119.github.io/tags/VLESS/"/>
    <category term="REALITY" scheme="https://skylink9119.github.io/tags/REALITY/"/>
    <category term="Vision" scheme="https://skylink9119.github.io/tags/Vision/"/>
    <category term="R76S" scheme="https://skylink9119.github.io/tags/R76S/"/>
    <category term="iStoreOS" scheme="https://skylink9119.github.io/tags/iStoreOS/"/>
    <category term="PassWall2" scheme="https://skylink9119.github.io/tags/PassWall2/"/>
    <content>
      <![CDATA[<div class="passwall2-video-container">  <iframe    src="https://www.youtube.com/embed/bK5zV9IRT90"    title="R76S 上安装和配置 PassWall2：VLESS REALITY Vision 国内外分流视频教程"    loading="lazy"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"    allowfullscreen>  </iframe></div><style>.passwall2-video-container {    position: relative;    width: 100%;    padding-top: 56.25%;    border-radius: 12px;    overflow: hidden;    box-shadow: 0 8px 20px rgba(0,0,0,0.1);    margin-bottom: 20px;}.passwall2-video-container iframe {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    border: 0;}</style><a class="btn-beautify red larger" href="https://youtu.be/bK5zV9IRT90" title="在 YouTube 观看完整视频"><i class="fab fa-youtube"></i><span>在 YouTube 观看完整视频</span></a><a class="btn-beautify blue larger" href="https://www.youtube.com/@guo1986" title="订阅 Skyline YouTube 频道"><i class="fab fa-youtube"></i><span>订阅 Skyline YouTube 频道</span></a><blockquote><p>本文适用于 FriendlyElec NanoPi R76S、iStoreOS 24.10.8、OPKG 软件包管理器，以及 <code>aarch64_generic</code> 架构。示例版本为 PassWall2 26.9.2，节点为自建 VLESS + REALITY + <code>xtls-rprx-vision</code>。</p><p>发布时间：2026-09-03</p></blockquote><p>本文的下载地址固定到 26.9.2-1，以保证前端、中文包和依赖版本相互匹配。未来使用新版本时，应从官方 Releases 同一版本页面下载全部文件，不要混装不同版本的前端和依赖。</p><h2 id="最终效果"><a href="#最终效果" class="headerlink" title="最终效果"></a>最终效果</h2><p>完成本文后，路由器将实现：</p><ul><li>国内域名和国内 IP 直接连接；</li><li>其他流量通过自建的 VLESS REALITY 节点；</li><li>路由器本机和局域网设备自动使用透明代理；</li><li>不需要在手机、电脑、电视上逐台设置代理；</li><li>OpenClash 可以保留安装，但不会与 PassWall2 同时运行。</li></ul><span id="more"></span><h2 id="一、开始前需要准备什么"><a href="#一、开始前需要准备什么" class="headerlink" title="一、开始前需要准备什么"></a>一、开始前需要准备什么</h2><p>你需要准备以下信息：</p><ul><li>VPS 地址，可以是 IP 或域名；</li><li>服务端监听端口；</li><li>VLESS UUID；</li><li>REALITY 公钥；</li><li>REALITY Short ID；</li><li>SNI，也就是服务端 <code>serverNames</code> 中使用的域名；</li><li>服务端流控为 <code>xtls-rprx-vision</code>。</li></ul><p>安全提醒：完整的 <code>vless://</code> 链接和 UUID 相当于访问凭据，不要公开到博客、截图或聊天记录中。客户端只需要 REALITY 公钥，绝对不要把服务端的 REALITY 私钥填入路由器。</p><h2 id="二、确认设备架构"><a href="#二、确认设备架构" class="headerlink" title="二、确认设备架构"></a>二、确认设备架构</h2><p>通过 iStoreOS 的“系统 → 终端”执行：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cat</span> /etc/openwrt_release</span><br><span class="line">opkg print-architecture</span><br></pre></td></tr></table></figure><p>R76S 在本文环境下应该能看到：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">aarch64_generic</span><br></pre></td></tr></table></figure><p>R76S 使用 Rockchip RK3576，是 64 位 ARM 设备，OpenWrt 目标为 <code>rockchip/armv8</code>。不要下载 <code>x86_64</code>、<code>aarch64_cortex-a53</code> 或其他架构的软件包，也不要使用 <code>--force-architecture</code> 强制安装。</p><p>参考：<a href="https://openwrt.org/toh/hwdata/friendlyarm/friendlyarm_nanopi_r76s">OpenWrt NanoPi R76S 硬件资料</a></p><h2 id="三、避免与-OpenClash-冲突"><a href="#三、避免与-OpenClash-冲突" class="headerlink" title="三、避免与 OpenClash 冲突"></a>三、避免与 OpenClash 冲突</h2><p>OpenClash 和 PassWall2 可以同时安装，但不要同时开启透明代理。两者都会修改 DNS、dnsmasq 和 Firewall4&#x2F;NFTables 规则，同时运行容易出现断网、DNS 异常或流量重复转发。</p><p>如果当前正在运行 OpenClash，先执行：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">/etc/init.d/openclash stop</span><br><span class="line">/etc/init.d/openclash <span class="built_in">disable</span></span><br></pre></td></tr></table></figure><p>这不会卸载 OpenClash，只是停止服务并关闭开机启动。以后想换回 OpenClash，应先关闭 PassWall2。</p><h2 id="四、更新软件包列表"><a href="#四、更新软件包列表" class="headerlink" title="四、更新软件包列表"></a>四、更新软件包列表</h2><p>执行：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">opkg update</span><br></pre></td></tr></table></figure><p>看到多个 <code>Signature check passed.</code> 即表示软件源签名验证正常。最后若仅出现下面这种清理锁文件警告，一般不影响更新结果：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">opkg_conf_deinit: Couldn&#x27;t unlink /var/lock/opkg.lock: No such file or directory</span><br></pre></td></tr></table></figure><h2 id="五、安装-PassWall2-依赖"><a href="#五、安装-PassWall2-依赖" class="headerlink" title="五、安装 PassWall2 依赖"></a>五、安装 PassWall2 依赖</h2><p>PassWall2 的 LuCI 前端包是 <code>all.ipk</code>，但 <code>tcping</code>、<code>geoview</code> 等依赖仍然必须与 CPU 架构匹配。OpenWrt 官方源通常没有这些 PassWall2 专用依赖，因此从 PassWall2 官方发行版下载 <code>aarch64_generic</code> 依赖包。</p><p>先创建临时目录：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> -p /tmp/pw2-install</span><br><span class="line"><span class="built_in">cd</span> /tmp/pw2-install</span><br></pre></td></tr></table></figure><p>下载安装包：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wget -O passwall-deps.zip <span class="string">&#x27;https://github.com/Openwrt-Passwall/openwrt-passwall2/releases/download/26.9.2-1/passwall_packages_ipk_aarch64_generic.zip&#x27;</span></span><br></pre></td></tr></table></figure><p>解压：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">unzip -o passwall-deps.zip</span><br></pre></td></tr></table></figure><p>如果提示 <code>unzip: not found</code>，先安装解压工具：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">opkg install unzip</span><br><span class="line">unzip -o passwall-deps.zip</span><br></pre></td></tr></table></figure><p>安装必要依赖：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">opkg install ./tcping_0.3-r1_aarch64_generic.ipk</span><br><span class="line">opkg install ./geoview_0.2.6-r1_aarch64_generic.ipk</span><br></pre></td></tr></table></figure><p>不要一次安装压缩包里的全部代理核心。本文只使用 Xray，其他 Shadowsocks 服务端、旧协议核心没有必要占用存储空间。</p><h2 id="六、安装-PassWall2-和简体中文包"><a href="#六、安装-PassWall2-和简体中文包" class="headerlink" title="六、安装 PassWall2 和简体中文包"></a>六、安装 PassWall2 和简体中文包</h2><p>下载 PassWall2：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wget -O passwall2.ipk <span class="string">&#x27;https://github.com/Openwrt-Passwall/openwrt-passwall2/releases/download/26.9.2-1/luci-app-passwall2_26.9.2-r1_all.ipk&#x27;</span></span><br></pre></td></tr></table></figure><p>下载简体中文语言包：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wget -O passwall2-zh-cn.ipk <span class="string">&#x27;https://github.com/Openwrt-Passwall/openwrt-passwall2/releases/download/26.9.2-1/luci-i18n-passwall2-zh-cn_26.9.2_all.ipk&#x27;</span></span><br></pre></td></tr></table></figure><p>依次安装：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">opkg install ./passwall2.ipk</span><br><span class="line">opkg install ./passwall2-zh-cn.ipk</span><br></pre></td></tr></table></figure><p>清理 LuCI 菜单缓存并重启后台服务：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">rm</span> -f /tmp/luci-indexcache</span><br><span class="line">/etc/init.d/rpcd restart</span><br></pre></td></tr></table></figure><p>刷新 iStoreOS 页面，进入“服务 → PassWall2”。安装文件均来自 <a href="https://github.com/Openwrt-Passwall/openwrt-passwall2/releases/tag/26.9.2-1">PassWall2 官方 26.9.2-1 发行版</a>。</p><h2 id="七、安装-Xray-Core"><a href="#七、安装-Xray-Core" class="headerlink" title="七、安装 Xray Core"></a>七、安装 Xray Core</h2><p>仅安装 PassWall2 前端后，“节点类型”下拉框可能是空的，因为 PassWall2 只有检测到核心程序后才显示对应的节点类型。</p><p>进入：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">PassWall2 → 组件更新</span><br></pre></td></tr></table></figure><p>找到“Xray 版本”一行：</p><ol><li>保持 Xray 程序路径为 <code>/usr/bin/xray</code>；</li><li>点击“点击更新”；</li><li>等待安装完成，不要中途刷新页面；</li><li>确认“Xray 版本【无】”变成具体版本号，例如 <code>26.7.28</code>。</li></ol><p>对于单个 VLESS REALITY Vision 节点，不需要额外安装 Sing-box。Sing-box 更适合 TUIC、AnyTLS、SSH 或混合多协议订阅。</p><h2 id="八、手动添加-VLESS-REALITY-Vision-节点"><a href="#八、手动添加-VLESS-REALITY-Vision-节点" class="headerlink" title="八、手动添加 VLESS REALITY Vision 节点"></a>八、手动添加 VLESS REALITY Vision 节点</h2><p>进入：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">PassWall2 → 节点列表 → 添加</span><br></pre></td></tr></table></figure><p>填写以下参数：</p><table><thead><tr><th>PassWall2 字段</th><th>填写内容</th></tr></thead><tbody><tr><td>节点备注</td><td>自定义，例如 <code>dmit</code></td></tr><tr><td>别名</td><td>保持 <code>default</code></td></tr><tr><td>类型</td><td><code>Xray</code></td></tr><tr><td>协议</td><td><code>VLESS</code></td></tr><tr><td>地址</td><td>VPS 的 IP 或域名</td></tr><tr><td>端口</td><td>服务端监听端口，例如 <code>443</code></td></tr><tr><td>ID</td><td>VLESS UUID</td></tr><tr><td>加密方式 encryption</td><td><code>none</code></td></tr><tr><td>flow</td><td><code>xtls-rprx-vision</code></td></tr><tr><td>TLS</td><td>开启</td></tr><tr><td>REALITY</td><td>开启</td></tr><tr><td>SNI 域名</td><td>服务端 <code>serverNames</code> 中的域名，不带 <code>https://</code> 和端口</td></tr><tr><td>Public Key</td><td>服务端生成的 REALITY 公钥</td></tr><tr><td>Short ID</td><td>服务端 <code>shortIds</code> 中使用的值，不带 <code>0x</code></td></tr><tr><td>Spider X</td><td><code>/</code></td></tr><tr><td>Finger Print</td><td><code>chrome</code></td></tr><tr><td>传输方式</td><td><code>RAW (TCP)</code></td></tr><tr><td>伪装类型</td><td><code>none</code></td></tr><tr><td>Mux</td><td>关闭</td></tr><tr><td>ML-DSA-65</td><td>未专门配置时关闭</td></tr></tbody></table><p>当前版本的 PassWall2 将普通 TCP 显示为 <code>RAW (TCP)</code>，这是正常现象。字段定义可在 <a href="https://github.com/Openwrt-Passwall/openwrt-passwall2/blob/main/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/2_xray.lua">PassWall2 官方 Xray 节点配置源码</a> 中核对。</p><p>填写完成后点击“保存并应用”。</p><h2 id="九、先验证单节点能否连接"><a href="#九、先验证单节点能否连接" class="headerlink" title="九、先验证单节点能否连接"></a>九、先验证单节点能否连接</h2><p>在配置分流前，先确认节点本身可用。这样出现问题时，能够区分是节点参数错误还是分流规则错误。</p><p>进入“基本设置”，设置：</p><ul><li>主开关：开启；</li><li>节点：直接选择 <code>Xray VLESS：[dmit]</code>；</li><li>路由器本机代理：开启；</li><li>客户端代理：开启；</li><li>节点 Socks 监听端口：保持 <code>1070</code>；</li><li>节点 Socks 本机监听：保持开启；</li><li>Socks 主开关：不需要开启。</li></ul><p>点击“保存并应用”，等待顶部显示“Core 运行中”，然后测试 Google 和 GitHub 连接。</p><p>注意：节点列表中的 TCP Ping 只代表服务器端口能够连接，不代表 UUID、REALITY 公钥、SNI 和 Short ID 一定正确。最终要以 Core 正常运行和 URL 测试成功为准。</p><p>如果单节点无法连接，先不要继续配置分流，直接查看本文后面的故障排查部分。</p><h2 id="十、更新-GeoIP-和-GeoSite-规则"><a href="#十、更新-GeoIP-和-GeoSite-规则" class="headerlink" title="十、更新 GeoIP 和 GeoSite 规则"></a>十、更新 GeoIP 和 GeoSite 规则</h2><p>国内外分流依赖 GeoIP 和 GeoSite 数据。进入“规则管理”中的规则更新区域：</p><ul><li>GeoIP 更新 URL：选择 <code>Loyalsoldier/geoip</code>；</li><li>Geosite 更新 URL：选择 <code>Loyalsoldier/geosite</code>；</li><li>Geo 资源文件目录：保持默认；</li><li>执行一次手动更新。</li></ul><p>如果 GitHub 下载失败，再选择带 <code>(CDN)</code> 的版本。不要选择标有 <code>(IR)</code> 或 <code>(RU)</code> 的规则，它们分别面向伊朗和俄罗斯。</p><h2 id="十一、创建“国内直连、其他代理”的分流节点"><a href="#十一、创建“国内直连、其他代理”的分流节点" class="headerlink" title="十一、创建“国内直连、其他代理”的分流节点"></a>十一、创建“国内直连、其他代理”的分流节点</h2><p>进入：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">PassWall2 → 节点列表 → 添加</span><br></pre></td></tr></table></figure><p>设置：</p><table><thead><tr><th>字段</th><th>选择</th></tr></thead><tbody><tr><td>节点备注</td><td><code>国内外分流</code></td></tr><tr><td>别名</td><td><code>default</code></td></tr><tr><td>类型</td><td><code>Xray</code></td></tr><tr><td>协议</td><td><code>分流</code></td></tr><tr><td>分流规则组</td><td><code>CN</code></td></tr><tr><td>Domain Strategy</td><td><code>IPOnDemand</code></td></tr><tr><td>Domain Matcher</td><td><code>hybrid</code></td></tr><tr><td>直连 DNS 结果写入 IPSet</td><td>开启</td></tr><tr><td>GeoIP 数据解析</td><td>开启</td></tr><tr><td>FakeDNS 主开关</td><td>关闭</td></tr></tbody></table><p>在页面下方的规则表中设置：</p><table><thead><tr><th>规则</th><th>节点选择</th></tr></thead><tbody><tr><td>CN</td><td><code>直连</code></td></tr><tr><td>DirectFront</td><td><code>直连</code></td></tr><tr><td>DirectGame</td><td><code>直连</code></td></tr><tr><td>ProxyFront</td><td><code>使用默认节点</code></td></tr><tr><td>ProxyGame</td><td><code>使用默认节点</code></td></tr><tr><td>默认</td><td><code>Xray VLESS：[dmit]</code></td></tr></tbody></table><p>FakeDNS 和前置代理全部保持关闭，然后点击“保存并应用”。</p><p>PassWall2 默认 <code>CN</code> 规则使用 <code>geosite:cn</code> 和 <code>geoip:cn</code>，用于匹配国内域名与国内 IP。默认规则可参考 <a href="https://github.com/Openwrt-Passwall/openwrt-passwall2/blob/main/luci-app-passwall2/root/usr/share/passwall2/0_default_config">PassWall2 官方默认配置</a>。</p><h2 id="十二、启用国内外分流"><a href="#十二、启用国内外分流" class="headerlink" title="十二、启用国内外分流"></a>十二、启用国内外分流</h2><p>回到“基本设置”，把“节点”从具体的 dmit 节点改为：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Xray 分流：[国内外分流]</span><br></pre></td></tr></table></figure><p>确认以下开关：</p><ul><li>主开关：开启；</li><li>路由器本机代理：开启；</li><li>客户端代理：开启；</li><li>Socks 主开关：关闭。</li></ul><p>点击“保存并应用”。</p><p>测试以下网站：</p><ul><li>国内直连：百度、淘宝、哔哩哔哩；</li><li>代理访问：Google、GitHub；</li><li>在运行日志中确认国内域名命中 <code>CN</code> 或直连规则。</li></ul><p>如果直接在“基本设置”里选择 <code>Xray VLESS：[dmit]</code>，未匹配分流规则的所有流量都会使用该节点，国内网站可能明显变慢。日常使用应选择刚创建的“国内外分流”节点。</p><h2 id="十三、DNS-和-FakeDNS-怎么设置"><a href="#十三、DNS-和-FakeDNS-怎么设置" class="headerlink" title="十三、DNS 和 FakeDNS 怎么设置"></a>十三、DNS 和 FakeDNS 怎么设置</h2><p>第一次配置时建议保持 DNS 页面的默认值，不要同时修改太多选项。</p><p>建议：</p><ul><li>FakeDNS：关闭；</li><li>直连 DNS：保持系统默认或使用可靠的国内 DNS；</li><li>远程 DNS：保持 PassWall2 默认值；</li><li>浏览器若单独启用了“安全 DNS”，出现解析异常时可暂时关闭后测试。</li></ul><p>FakeDNS 适合流媒体 DNS 解锁、需要让远端节点获取目标域名、或特殊 DNS 优化场景。单个 VLESS REALITY 节点的普通国内外分流不需要开启 FakeDNS，贸然开启反而可能增加排查难度。</p><h2 id="十四、Socks-配置是什么"><a href="#十四、Socks-配置是什么" class="headerlink" title="十四、Socks 配置是什么"></a>十四、Socks 配置是什么</h2><p>PassWall2 页面底部还有一个独立的“Socks 配置”。它用于给电脑或其他软件提供显式 SOCKS5 地址，例如：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">路由器IP:1081</span><br></pre></td></tr></table></figure><p>这不是透明代理的必要功能。只要“主开关”和“客户端代理”已经开启，局域网设备就会自动经过 PassWall2。Socks 行显示红色 <code>X</code>，通常只是因为“Socks 主开关”没有开启，并不代表主透明代理故障。</p><h2 id="十五、常见问题排查"><a href="#十五、常见问题排查" class="headerlink" title="十五、常见问题排查"></a>十五、常见问题排查</h2><h3 id="1-安装时提示缺少-tcping-或-geoview"><a href="#1-安装时提示缺少-tcping-或-geoview" class="headerlink" title="1. 安装时提示缺少 tcping 或 geoview"></a>1. 安装时提示缺少 tcping 或 geoview</h3><p>确认架构：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">opkg print-architecture</span><br></pre></td></tr></table></figure><p>必须包含 <code>aarch64_generic</code>。然后重新执行本文第五部分的依赖安装命令。不要使用 <code>--force-architecture</code>。</p><h3 id="2-“类型”下拉框是空的"><a href="#2-“类型”下拉框是空的" class="headerlink" title="2. “类型”下拉框是空的"></a>2. “类型”下拉框是空的</h3><p>原因通常是 Xray Core 尚未安装。进入“组件更新”，安装 Xray。程序路径保持：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/usr/bin/xray</span><br></pre></td></tr></table></figure><h3 id="3-Core-显示“未运行”"><a href="#3-Core-显示“未运行”" class="headerlink" title="3. Core 显示“未运行”"></a>3. Core 显示“未运行”</h3><p>先关闭主开关，避免全网断线，然后查看：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">tail</span> -n 100 /tmp/log/passwall2.<span class="built_in">log</span></span><br><span class="line">logread | grep -i passwall2 | <span class="built_in">tail</span> -n 100</span><br></pre></td></tr></table></figure><p>重点检查：</p><ul><li>UUID 是否正确；</li><li>地址和端口是否正确；</li><li>SNI 是否与服务端 <code>serverNames</code> 一致；</li><li>Public Key 是否误填成服务端私钥；</li><li>Short ID 是否一致；</li><li>flow 是否为 <code>xtls-rprx-vision</code>；</li><li>传输方式是否为 <code>RAW (TCP)</code>。</li></ul><h3 id="4-开启后整个局域网无法上网"><a href="#4-开启后整个局域网无法上网" class="headerlink" title="4. 开启后整个局域网无法上网"></a>4. 开启后整个局域网无法上网</h3><p>先恢复网络：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/etc/init.d/passwall2 stop</span><br></pre></td></tr></table></figure><p>然后检查：</p><ul><li>OpenClash 是否仍在运行；</li><li>基本设置是否选择了无效的示例节点；</li><li>Xray Core 是否已经安装；</li><li>单节点是否通过 URL 测试；</li><li>运行日志中的第一条实际错误。</li></ul><h3 id="5-国外网站正常，但国内网站很慢"><a href="#5-国外网站正常，但国内网站很慢" class="headerlink" title="5. 国外网站正常，但国内网站很慢"></a>5. 国外网站正常，但国内网站很慢</h3><p>通常是国内流量也经过了境外节点。检查：</p><ul><li>基本设置应选择 <code>Xray 分流：[国内外分流]</code>，而不是直接选择 dmit；</li><li><code>CN</code>、<code>DirectFront</code>、<code>DirectGame</code> 必须设置为“直连”；</li><li>GeoIP 和 GeoSite 是否更新成功；</li><li>OpenClash 是否已停止。</li></ul><h3 id="6-百度正常，Google-GitHub-不通"><a href="#6-百度正常，Google-GitHub-不通" class="headerlink" title="6. 百度正常，Google&#x2F;GitHub 不通"></a>6. 百度正常，Google&#x2F;GitHub 不通</h3><p>这通常说明路由器本身能联网，但代理节点未成功工作。先把基本节点改成具体的 dmit 节点进行单节点测试，再查看运行日志。不要一开始就同时排查 DNS、FakeDNS 和分流规则。</p><h2 id="十六、备份配置"><a href="#十六、备份配置" class="headerlink" title="十六、备份配置"></a>十六、备份配置</h2><p>配置成功后建议立即备份：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cp</span> /etc/config/passwall2 /etc/config/passwall2.backup</span><br></pre></td></tr></table></figure><p>该文件包含节点访问参数，应避免公开。升级前也建议通过 PassWall2 的维护页面导出配置。</p><h2 id="十七、卸载和干净重装"><a href="#十七、卸载和干净重装" class="headerlink" title="十七、卸载和干净重装"></a>十七、卸载和干净重装</h2><p>普通卸载可能保留被修改过的 <code>/etc/config/passwall2</code>，因此重新安装后旧问题仍可能存在。需要干净重装时，先确认已经记录节点参数。</p><p>备份并卸载：</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">[ -f /etc/config/passwall2 ] &amp;&amp; <span class="built_in">cp</span> /etc/config/passwall2 /etc/config/passwall2.before-reinstall.bak</span><br><span class="line"></span><br><span class="line">/etc/init.d/passwall2 stop 2&gt;/dev/null</span><br><span class="line">opkg remove luci-i18n-passwall2-zh-cn</span><br><span class="line">opkg remove luci-app-passwall2</span><br><span class="line"></span><br><span class="line"><span class="built_in">rm</span> -f /etc/config/passwall2</span><br><span class="line"><span class="built_in">rm</span> -rf /tmp/etc/passwall2</span><br><span class="line"><span class="built_in">rm</span> -f /tmp/log/passwall2.<span class="built_in">log</span></span><br><span class="line"><span class="built_in">rm</span> -f /tmp/log/passwall2_server.<span class="built_in">log</span></span><br><span class="line"><span class="built_in">rm</span> -f /tmp/luci-indexcache</span><br><span class="line"></span><br><span class="line">/etc/init.d/rpcd restart</span><br></pre></td></tr></table></figure><p>然后重新执行本文第五、六、七部分。<code>tcping</code>、<code>geoview</code> 和 <code>/usr/bin/xray</code> 可以保留复用，不必每次删除。</p><h2 id="十八、核心选择建议"><a href="#十八、核心选择建议" class="headerlink" title="十八、核心选择建议"></a>十八、核心选择建议</h2><p>对于本文的自建 VLESS REALITY Vision 节点，建议使用 Xray：</p><ul><li>REALITY 和 Vision 配置直接；</li><li>只需要一个核心，结构更简单；</li><li>减少不必要的软件包和排查变量。</li></ul><p>以下情况再考虑 Sing-box：</p><ul><li>使用 TUIC、AnyTLS 或 SSH 节点；</li><li>同时使用多个不同协议，希望由一个核心统一处理；</li><li>某个节点明确要求 Sing-box；</li><li>相同配置在 Xray 上存在兼容问题，需要替代核心测试。</li></ul><p>PassWall2 当前支持的核心和协议列表可参考 <a href="https://github.com/Openwrt-Passwall/openwrt-passwall2#-features">官方项目说明</a>。</p><h2 id="结语"><a href="#结语" class="headerlink" title="结语"></a>结语</h2><p>R76S 的性能足以运行 PassWall2，实际稳定性更多取决于正确的软件包架构、节点参数、DNS 和分流规则。最稳妥的配置顺序始终是：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">确认架构</span><br><span class="line">→ 安装依赖与前端</span><br><span class="line">→ 安装 Xray Core</span><br><span class="line">→ 验证单节点</span><br><span class="line">→ 更新 GeoIP/GeoSite</span><br><span class="line">→ 创建 CN 分流</span><br><span class="line">→ 最后再调整 DNS 或高级功能</span><br></pre></td></tr></table></figure><p>遇到问题时先关闭 PassWall2 恢复网络，再查看运行日志中的第一条错误。不要同时开启 OpenClash，也不要在基础连接尚未验证前启用 FakeDNS、前置代理或复杂规则。</p><h2 id="资料来源"><a href="#资料来源" class="headerlink" title="资料来源"></a>资料来源</h2><ul><li><a href="https://github.com/Openwrt-Passwall/openwrt-passwall2">PassWall2 官方项目</a></li><li><a href="https://github.com/Openwrt-Passwall/openwrt-passwall2/releases/tag/26.9.2-1">PassWall2 26.9.2-1 官方发行版</a></li><li><a href="https://github.com/Openwrt-Passwall/openwrt-passwall2/blob/main/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/2_xray.lua">PassWall2 Xray 节点配置源码</a></li><li><a href="https://github.com/Openwrt-Passwall/openwrt-passwall2/blob/main/luci-app-passwall2/root/usr/share/passwall2/0_default_config">PassWall2 默认分流配置</a></li><li><a href="https://openwrt.org/toh/hwdata/friendlyarm/friendlyarm_nanopi_r76s">OpenWrt NanoPi R76S 硬件资料</a></li></ul>]]>
    </content>
    <id>https://skylink9119.github.io/2026/09/03/r76s-istoreos-passwall2-vless-reality-vision-guide/</id>
    <link href="https://skylink9119.github.io/2026/09/03/r76s-istoreos-passwall2-vless-reality-vision-guide/"/>
    <published>2026-09-03T13:51:00.000Z</published>
    <summary>R76S 与 iStoreOS 24.10.8 安装配置 PassWall2 26.9.2 全流程，覆盖 ARM64 依赖、中文包、Xray Core、自建 VLESS REALITY Vision 节点、CN 国内直连分流和常见故障排查。</summary>
    <title>2026年R76S安装配置PassWall2全流程：VLESS REALITY Vision国内外分流</title>
    <updated>2026-09-04T13:02:40.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Skyline</name>
      <email>sky13712559955@gmail.com</email>
    </author>
    <category term="技术教程" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/"/>
    <category term="服务器运维" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/"/>
    <category term="3x-ui" scheme="https://skylink9119.github.io/tags/3x-ui/"/>
    <category term="HTTPS" scheme="https://skylink9119.github.io/tags/HTTPS/"/>
    <category term="SSL证书" scheme="https://skylink9119.github.io/tags/SSL%E8%AF%81%E4%B9%A6/"/>
    <category term="Let's Encrypt" scheme="https://skylink9119.github.io/tags/Let-s-Encrypt/"/>
    <category term="Cloudflare" scheme="https://skylink9119.github.io/tags/Cloudflare/"/>
    <category term="Nginx" scheme="https://skylink9119.github.io/tags/Nginx/"/>
    <content>
      <![CDATA[<h2 id="📖-前言"><a href="#📖-前言" class="headerlink" title="📖 前言"></a>📖 前言</h2><p>搭建完 3x-ui 后，第一次打开管理面板，不少人会在浏览器地址栏看到：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">此站点的连接不安全</span><br></pre></td></tr></table></figure><p>或者直接进入“您的连接不是私密连接”错误页，并显示以下代码之一：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">NET::ERR_CERT_AUTHORITY_INVALID</span><br><span class="line">NET::ERR_CERT_COMMON_NAME_INVALID</span><br><span class="line">NET::ERR_CERT_DATE_INVALID</span><br><span class="line">ERR_SSL_PROTOCOL_ERROR</span><br></pre></td></tr></table></figure><p>这通常不是 Xray 节点损坏，而是 <strong>3x-ui 管理面板的 HTTPS 没有正确配置</strong>。节点入站和管理面板是两个相对独立的部分：节点能正常连接，不代表面板已经受到 HTTPS 保护。</p><blockquote><p>3x-ui 面板会传输管理员账号、密码、会话 Cookie 和配置数据。只要面板能够从公网访问，就不应该长期使用明文 HTTP，更不建议点击“继续访问”后直接输入管理员密码。</p></blockquote><span id="more"></span><h2 id="🔍-一、为什么会显示“连接不安全”"><a href="#🔍-一、为什么会显示“连接不安全”" class="headerlink" title="🔍 一、为什么会显示“连接不安全”"></a>🔍 一、为什么会显示“连接不安全”</h2><p>浏览器是否信任一个 HTTPS 网站，主要检查三件事：</p><ol><li>当前连接是否真正使用 HTTPS 加密。</li><li>服务器证书是否由浏览器信任的证书机构签发。</li><li>证书中的域名或 IP 是否与地址栏中的访问地址一致。</li></ol><p>只要其中一项不满足，浏览器就可能发出警告。</p><h3 id="原因-1：正在使用普通-HTTP"><a href="#原因-1：正在使用普通-HTTP" class="headerlink" title="原因 1：正在使用普通 HTTP"></a>原因 1：正在使用普通 HTTP</h3><p>例如：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">http://1.2.3.4:2053/abc123/</span><br></pre></td></tr></table></figure><p>地址以 <code>http://</code> 开头，数据没有经过 TLS 加密，因此浏览器显示“不安全”属于正常现象。它不是浏览器误报，也不能通过清理缓存解决。</p><h3 id="原因-2：证书签发给域名，却通过-IP-访问"><a href="#原因-2：证书签发给域名，却通过-IP-访问" class="headerlink" title="原因 2：证书签发给域名，却通过 IP 访问"></a>原因 2：证书签发给域名，却通过 IP 访问</h3><p>假设证书签发给：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">panel.example.com</span><br></pre></td></tr></table></figure><p>正确访问方式是：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">https://panel.example.com:2053/abc123/</span><br></pre></td></tr></table></figure><p>如果改用下面的 IP 地址访问：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">https://1.2.3.4:2053/abc123/</span><br></pre></td></tr></table></figure><p>浏览器会发现地址栏里的 IP 不在证书有效名称中，于是报告：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ERR_CERT_COMMON_NAME_INVALID</span><br></pre></td></tr></table></figure><h3 id="原因-3：使用了自签名证书"><a href="#原因-3：使用了自签名证书" class="headerlink" title="原因 3：使用了自签名证书"></a>原因 3：使用了自签名证书</h3><p>自签名证书同样可以加密连接，但它不是由浏览器默认信任的公共证书机构签发，因此经常出现：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ERR_CERT_AUTHORITY_INVALID</span><br></pre></td></tr></table></figure><p>在完全由自己管理的内网环境中，可以把自己的 CA 导入每台设备；面向公网使用时，更省事的做法是申请 Let’s Encrypt 等公共证书。</p><h3 id="原因-4：证书过期或访问设备时间错误"><a href="#原因-4：证书过期或访问设备时间错误" class="headerlink" title="原因 4：证书过期或访问设备时间错误"></a>原因 4：证书过期或访问设备时间错误</h3><p>证书有明确的生效时间和失效时间。证书已经过期、尚未生效，或者正在访问面板的电脑、手机日期明显错误，都可能触发：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ERR_CERT_DATE_INVALID</span><br></pre></td></tr></table></figure><p>浏览器主要根据访问设备的时间检查证书有效期。VPS 时间错误通常会影响证书申请、自动续期和日志记录，但不是浏览器验证一张既有证书时的直接时间依据。</p><h3 id="原因-5：3x-ui-的证书路径不完整或错误"><a href="#原因-5：3x-ui-的证书路径不完整或错误" class="headerlink" title="原因 5：3x-ui 的证书路径不完整或错误"></a>原因 5：3x-ui 的证书路径不完整或错误</h3><p>3x-ui 面板自身启用 HTTPS，需要同时设置：</p><ul><li><code>webCertFile</code>：完整证书链文件</li><li><code>webKeyFile</code>：与证书配对的私钥文件</li></ul><p>只设置一项、文件不存在、权限不足，或把两个路径填反，都可能导致 HTTPS 无法启动。证书文件建议使用 <code>fullchain.pem</code>，不要只使用缺少中间证书的单证书文件。</p><h3 id="原因-6：反向代理的协议配置不一致"><a href="#原因-6：反向代理的协议配置不一致" class="headerlink" title="原因 6：反向代理的协议配置不一致"></a>原因 6：反向代理的协议配置不一致</h3><p>如果前面还有 Nginx、Caddy 或 Cloudflare，常见错误包括：</p><ul><li>浏览器到 Nginx 使用 HTTPS，但 Nginx 的证书配置错误</li><li>3x-ui 只提供 HTTP，反向代理却按 HTTPS 回源</li><li>3x-ui 已经启用 HTTPS，反向代理仍按 HTTP 回源</li><li>443 端口被多个程序争用</li></ul><p>这类问题常表现为 <code>ERR_SSL_PROTOCOL_ERROR</code>、502 错误或页面完全打不开。</p><h2 id="✅-二、推荐方案：域名-Let’s-Encrypt-证书"><a href="#✅-二、推荐方案：域名-Let’s-Encrypt-证书" class="headerlink" title="✅ 二、推荐方案：域名 + Let’s Encrypt 证书"></a>✅ 二、推荐方案：域名 + Let’s Encrypt 证书</h2><p>这是大多数用户最适合的方案。以下示例假设：</p><table><thead><tr><th>项目</th><th>示例值</th></tr></thead><tbody><tr><td>面板域名</td><td><code>panel.example.com</code></td></tr><tr><td>VPS 公网 IP</td><td><code>1.2.3.4</code></td></tr><tr><td>面板端口</td><td><code>2053</code></td></tr><tr><td>面板路径</td><td><code>abc123</code></td></tr></tbody></table><p>操作时请替换成自己的真实信息。</p><h3 id="第-1-步：添加-DNS-解析"><a href="#第-1-步：添加-DNS-解析" class="headerlink" title="第 1 步：添加 DNS 解析"></a>第 1 步：添加 DNS 解析</h3><p>在域名 DNS 管理页面添加一条 <code>A</code> 记录：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">类型：A</span><br><span class="line">主机记录：panel</span><br><span class="line">记录值：1.2.3.4</span><br></pre></td></tr></table></figure><p>如果服务器没有配置公网 IPv6，不要添加 <code>AAAA</code> 记录；已经存在但指向错误服务器的 <code>AAAA</code> 记录也应删除，否则部分设备可能优先连接错误的 IPv6 地址。</p><p>等待解析生效后检查：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">getent ahosts panel.example.com</span><br></pre></td></tr></table></figure><p>返回地址应包含当前 VPS 的公网 IP。</p><h3 id="第-2-步：确认-80-端口可用于验证"><a href="#第-2-步：确认-80-端口可用于验证" class="headerlink" title="第 2 步：确认 80 端口可用于验证"></a>第 2 步：确认 80 端口可用于验证</h3><p>3x-ui 内置的域名证书申请通常通过 ACME HTTP 验证完成，需要公网能够访问 TCP 80。</p><p>使用 UFW 时可以执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">ufw allow 80/tcp</span><br><span class="line">ufw allow from 你的固定公网IP to any port 2053 proto tcp</span><br><span class="line">ufw status</span><br></pre></td></tr></table></figure><p>如果没有固定的管理员公网 IP，可以临时使用 <code>ufw allow 2053/tcp</code> 完成测试，确认后再收紧访问来源。如果面板端口不是 <code>2053</code>，请换成实际端口。云服务器控制台中的安全组也必须同步设置。</p><p>这里不必默认开放 <code>443</code>：只有 Nginx、Caddy、3x-ui 或其他公网服务实际监听 443 时才需要开放。启用 UFW 之前，还必须先放行真实的 SSH 端口，避免把自己锁在服务器外面。</p><p>检查 80 端口是否已被其他程序占用：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ss -lntp | grep <span class="string">&#x27;:80 &#x27;</span></span><br></pre></td></tr></table></figure><p>如果 Nginx、Apache 或 Caddy 正在占用 80 端口，可暂时停止对应服务后申请证书，或者改用后文的 Cloudflare DNS 验证方案。</p><h3 id="第-3-步：在-3x-ui-菜单申请证书"><a href="#第-3-步：在-3x-ui-菜单申请证书" class="headerlink" title="第 3 步：在 3x-ui 菜单申请证书"></a>第 3 步：在 3x-ui 菜单申请证书</h3><p>SSH 登录 VPS，运行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">x-ui</span><br></pre></td></tr></table></figure><p>进入 <code>SSL Certificate Management</code>。不同版本的菜单编号可能变化，新版通常显示为 <code>20</code>，操作时以屏幕中的文字为准。</p><p>依次选择：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Get SSL (Domain)</span><br></pre></td></tr></table></figure><p>输入：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">panel.example.com</span><br></pre></td></tr></table></figure><p>申请成功后，证书一般位于：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">/root/cert/panel.example.com/fullchain.pem</span><br><span class="line">/root/cert/panel.example.com/privkey.pem</span><br></pre></td></tr></table></figure><h3 id="第-4-步：把证书路径绑定到面板"><a href="#第-4-步：把证书路径绑定到面板" class="headerlink" title="第 4 步：把证书路径绑定到面板"></a>第 4 步：把证书路径绑定到面板</h3><p>继续在证书管理菜单中选择：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Set Cert paths for the panel</span><br></pre></td></tr></table></figure><p>确认对应关系：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">Certificate File Path: /root/cert/panel.example.com/fullchain.pem</span><br><span class="line">Key File Path:         /root/cert/panel.example.com/privkey.pem</span><br></pre></td></tr></table></figure><p>然后重启面板：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">x-ui restart</span><br></pre></td></tr></table></figure><p>3x-ui 只有在证书文件和私钥文件两项都正确设置后，面板才会切换到 HTTPS。</p><h3 id="第-5-步：使用正确地址访问"><a href="#第-5-步：使用正确地址访问" class="headerlink" title="第 5 步：使用正确地址访问"></a>第 5 步：使用正确地址访问</h3><p>现在应该使用：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">https://panel.example.com:2053/abc123/</span><br></pre></td></tr></table></figure><p>注意四个细节：</p><ul><li>必须是 <code>https://</code></li><li>必须使用证书对应的域名</li><li>自定义面板端口不能漏掉</li><li>随机面板路径不能漏掉，结尾最好保留 <code>/</code></li></ul><p>不要继续通过服务器 IP 访问域名证书。</p><h2 id="🌐-三、没有域名：申请裸-IP-证书"><a href="#🌐-三、没有域名：申请裸-IP-证书" class="headerlink" title="🌐 三、没有域名：申请裸 IP 证书"></a>🌐 三、没有域名：申请裸 IP 证书</h2><p>较新的 3x-ui 版本提供了：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Get SSL for IP Address</span><br></pre></td></tr></table></figure><p>它可以为公网 IP 申请短期证书。进入方式通常为：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">x-ui → SSL Certificate Management → Get SSL for IP Address</span><br></pre></td></tr></table></figure><p>签发完成后，同样选择 <code>Set Cert paths for the panel</code>，再重启 3x-ui。之后通过证书绑定的公网 IP 访问。</p><p>官方文档说明，这类 IP 证书有效期约 6 天，需要依赖自动续期。建议定期检查续期状态；如果长期使用管理面板，域名证书仍然更直观。</p><blockquote><p>如果旧版 3x-ui 菜单中没有 IP 证书选项，请先备份数据库和配置，再按照官方升级方法更新，不要随意运行来源不明的改版脚本。</p></blockquote><h2 id="☁️-四、Cloudflare-用户：使用-DNS-01-验证"><a href="#☁️-四、Cloudflare-用户：使用-DNS-01-验证" class="headerlink" title="☁️ 四、Cloudflare 用户：使用 DNS-01 验证"></a>☁️ 四、Cloudflare 用户：使用 DNS-01 验证</h2><p>遇到以下情况时，适合使用 Cloudflare DNS 验证：</p><ul><li>服务器 80 端口无法从公网访问</li><li>域名开启了 Cloudflare 橙色云代理</li><li>需要申请通配符证书</li><li>80 端口正被其他网站占用，不方便停止</li></ul><p>前提是域名 DNS 已经托管到 Cloudflare。</p><h3 id="创建最小权限-API-Token"><a href="#创建最小权限-API-Token" class="headerlink" title="创建最小权限 API Token"></a>创建最小权限 API Token</h3><p>在 Cloudflare 控制台创建 API Token，仅授予目标域名区域：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Zone → DNS → Edit</span><br></pre></td></tr></table></figure><p>不要把 Global API Key 粘贴到不可信脚本中。最小权限 Token 泄露后的影响范围更小。</p><h3 id="在-3x-ui-中申请"><a href="#在-3x-ui-中申请" class="headerlink" title="在 3x-ui 中申请"></a>在 3x-ui 中申请</h3><p>运行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">x-ui</span><br></pre></td></tr></table></figure><p>选择 <code>Cloudflare SSL Certificate</code>，然后选择 API Token 模式，输入域名和 Token。签发成功后，再把证书路径设置给面板并重启。</p><p>DNS-01 验证通过临时 TXT 记录证明域名控制权，因此不依赖公网 80 端口。</p><p>如果域名开启 Cloudflare 橙色云，还要确认面板端口属于 Cloudflare 支持的 HTTPS 代理端口。常见支持端口包括 <code>443</code>、<code>2053</code>、<code>2083</code>、<code>2087</code>、<code>2096</code> 和 <code>8443</code>；任意自定义高位端口不一定能被代理。</p><h2 id="🔁-五、进阶方案：Nginx-或-Caddy-反向代理"><a href="#🔁-五、进阶方案：Nginx-或-Caddy-反向代理" class="headerlink" title="🔁 五、进阶方案：Nginx 或 Caddy 反向代理"></a>🔁 五、进阶方案：Nginx 或 Caddy 反向代理</h2><p>另一种思路是让 3x-ui 只在服务器本机提供 HTTP，由 Nginx 或 Caddy 统一处理公网 HTTPS：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">浏览器 ──HTTPS──&gt; Nginx/Caddy ──HTTP──&gt; 127.0.0.1:2053</span><br></pre></td></tr></table></figure><p>这种结构适合服务器上已经运行网站、需要统一使用 443 端口的用户。</p><p>下面是一个简化的 Nginx 反向代理片段：</p><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="section">location</span> / &#123;</span><br><span class="line">    <span class="attribute">proxy_http_version</span> <span class="number">1</span>.<span class="number">1</span>;</span><br><span class="line">    <span class="attribute">proxy_set_header</span> Upgrade <span class="variable">$http_upgrade</span>;</span><br><span class="line">    <span class="attribute">proxy_set_header</span> Connection <span class="string">&quot;upgrade&quot;</span>;</span><br><span class="line">    <span class="attribute">proxy_set_header</span> Host <span class="variable">$http_host</span>;</span><br><span class="line">    <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable">$proxy_add_x_forwarded_for</span>;</span><br><span class="line">    <span class="attribute">proxy_set_header</span> X-Forwarded-Proto <span class="variable">$scheme</span>;</span><br><span class="line">    <span class="attribute">proxy_set_header</span> X-Real-IP <span class="variable">$remote_addr</span>;</span><br><span class="line">    <span class="attribute">proxy_pass</span> http://127.0.0.1:2053;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>完整的 HTTPS <code>server</code> 配置还需要证书路径、私钥路径和域名。配置完成后先检查语法：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">nginx -t</span><br></pre></td></tr></table></figure><p>然后重新加载：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl reload nginx</span><br></pre></td></tr></table></figure><p>使用反向代理终止 TLS 时，应注意：</p><ul><li>3x-ui 和 Nginx 的回源协议必须对应</li><li>最好让 3x-ui 只监听 <code>127.0.0.1</code>，或用防火墙禁止公网直接访问面板端口</li><li>不要让 Nginx 和 3x-ui 同时监听公网 443</li><li>面板设置中的 URL 和路径要保持一致</li></ul><p>如果只是第一次搭建，直接给 3x-ui 配置域名证书通常更简单；已经熟悉 Nginx&#x2F;Caddy 再考虑反向代理。</p><h2 id="🧪-六、如何检查证书是否真的正常"><a href="#🧪-六、如何检查证书是否真的正常" class="headerlink" title="🧪 六、如何检查证书是否真的正常"></a>🧪 六、如何检查证书是否真的正常</h2><h3 id="1-检查-3x-ui-服务"><a href="#1-检查-3x-ui-服务" class="headerlink" title="1. 检查 3x-ui 服务"></a>1. 检查 3x-ui 服务</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">x-ui status</span><br><span class="line">systemctl status x-ui --no-pager</span><br></pre></td></tr></table></figure><h3 id="2-查看最近日志"><a href="#2-查看最近日志" class="headerlink" title="2. 查看最近日志"></a>2. 查看最近日志</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">journalctl -u x-ui -n 100 --no-pager</span><br></pre></td></tr></table></figure><p>重点搜索：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">certificate</span><br><span class="line">private key</span><br><span class="line">permission denied</span><br><span class="line">no such file</span><br><span class="line">bind</span><br><span class="line">address already in use</span><br></pre></td></tr></table></figure><h3 id="3-检查监听端口"><a href="#3-检查监听端口" class="headerlink" title="3. 检查监听端口"></a>3. 检查监听端口</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ss -lntp</span><br></pre></td></tr></table></figure><p>确认面板实际监听的是哪个端口，以及该端口有没有被其他程序占用。</p><h3 id="4-检查证书有效期和签发对象"><a href="#4-检查证书有效期和签发对象" class="headerlink" title="4. 检查证书有效期和签发对象"></a>4. 检查证书有效期和签发对象</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">openssl s_client \</span><br><span class="line">  -connect panel.example.com:2053 \</span><br><span class="line">  -servername panel.example.com &lt;/dev/null 2&gt;/dev/null \</span><br><span class="line">  | openssl x509 -noout -subject -issuer -dates</span><br></pre></td></tr></table></figure><p>正常情况下会显示：</p><ul><li><code>subject</code>：证书对应的域名</li><li><code>issuer</code>：证书签发机构</li><li><code>notBefore</code>：生效时间</li><li><code>notAfter</code>：到期时间</li></ul><p>检查证书包含的域名：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">openssl s_client \</span><br><span class="line">  -connect panel.example.com:2053 \</span><br><span class="line">  -servername panel.example.com &lt;/dev/null 2&gt;/dev/null \</span><br><span class="line">  | openssl x509 -noout -ext subjectAltName</span><br></pre></td></tr></table></figure><p>输出中应包含 <code>DNS:panel.example.com</code>。</p><h3 id="5-使用-curl-检查握手"><a href="#5-使用-curl-检查握手" class="headerlink" title="5. 使用 curl 检查握手"></a>5. 使用 curl 检查握手</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -Iv https://panel.example.com:2053/</span><br></pre></td></tr></table></figure><p>如果面板使用随机路径，根目录返回 404 不一定代表 HTTPS 失败；只要 TLS 握手和证书验证成功，再访问完整面板路径即可。</p><h2 id="❌-七、根据错误代码快速定位"><a href="#❌-七、根据错误代码快速定位" class="headerlink" title="❌ 七、根据错误代码快速定位"></a>❌ 七、根据错误代码快速定位</h2><table><thead><tr><th>浏览器提示</th><th>常见原因</th><th>处理方法</th></tr></thead><tbody><tr><td>地址栏显示“不安全”</td><td>使用普通 HTTP</td><td>配置证书并改用 <code>https://</code></td></tr><tr><td><code>ERR_CERT_AUTHORITY_INVALID</code></td><td>自签名证书、证书链不完整、本机根证书异常或 HTTPS 检查软件替换证书</td><td>检查实际返回的签发者，使用公共证书并指向 <code>fullchain.pem</code></td></tr><tr><td><code>ERR_CERT_COMMON_NAME_INVALID</code></td><td>访问地址与证书名称不一致</td><td>使用证书对应域名，或申请匹配的 IP 证书</td></tr><tr><td><code>ERR_CERT_DATE_INVALID</code></td><td>证书过期、尚未生效或访问设备时间错误</td><td>续签证书并校准电脑或手机时间；同时检查 VPS 时间以免影响续期</td></tr><tr><td><code>ERR_SSL_PROTOCOL_ERROR</code></td><td>HTTPS 访问了 HTTP 端口、证书路径错误</td><td>核对协议、端口、证书路径和日志</td></tr><tr><td>连接超时</td><td>防火墙、安全组或 DNS 错误</td><td>放行实际端口并检查 A&#x2F;AAAA 记录</td></tr><tr><td>502 Bad Gateway</td><td>反向代理无法连接 3x-ui</td><td>核对回源地址、端口、HTTP&#x2F;HTTPS 协议</td></tr></tbody></table><h2 id="🛠️-八、几个最容易踩的坑"><a href="#🛠️-八、几个最容易踩的坑" class="headerlink" title="🛠️ 八、几个最容易踩的坑"></a>🛠️ 八、几个最容易踩的坑</h2><h3 id="1-申请成功，但没有设置给面板"><a href="#1-申请成功，但没有设置给面板" class="headerlink" title="1. 申请成功，但没有设置给面板"></a>1. 申请成功，但没有设置给面板</h3><p>“证书已经签发”和“面板正在使用证书”是两件事。申请完成后还要执行 <code>Set Cert paths for the panel</code> 并重启服务。</p><h3 id="2-用-cert-pem-代替-fullchain-pem"><a href="#2-用-cert-pem-代替-fullchain-pem" class="headerlink" title="2. 用 cert.pem 代替 fullchain.pem"></a>2. 用 <code>cert.pem</code> 代替 <code>fullchain.pem</code></h3><p>部分浏览器可能因缺少中间证书而不信任连接。给面板配置时优先使用：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">fullchain.pem</span><br><span class="line">privkey.pem</span><br></pre></td></tr></table></figure><h3 id="3-Cloudflare-开了代理，却仍用错误方式验证"><a href="#3-Cloudflare-开了代理，却仍用错误方式验证" class="headerlink" title="3. Cloudflare 开了代理，却仍用错误方式验证"></a>3. Cloudflare 开了代理，却仍用错误方式验证</h3><p>开启橙色云后，访问流量先到 Cloudflare。若 HTTP 验证反复失败，可以临时关闭代理，或者直接使用 Cloudflare DNS-01 验证。</p><h3 id="4-忘记云厂商安全组"><a href="#4-忘记云厂商安全组" class="headerlink" title="4. 忘记云厂商安全组"></a>4. 忘记云厂商安全组</h3><p>UFW 显示允许，不代表公网一定能访问。AWS、Google Cloud、阿里云、腾讯云、Oracle Cloud 等平台通常还有独立安全组或网络防火墙。</p><h3 id="5-修好证书后仍用旧书签"><a href="#5-修好证书后仍用旧书签" class="headerlink" title="5. 修好证书后仍用旧书签"></a>5. 修好证书后仍用旧书签</h3><p>旧书签可能保存的是 <code>http://IP:端口/路径</code>。请重新保存完整的 HTTPS 域名地址。</p><h3 id="6-面板路径直接暴露"><a href="#6-面板路径直接暴露" class="headerlink" title="6. 面板路径直接暴露"></a>6. 面板路径直接暴露</h3><p>HTTPS 只能保护传输过程，不能代替访问控制。建议同时做到：</p><ul><li>使用非默认面板端口</li><li>使用足够长的随机面板路径</li><li>修改默认账号和密码</li><li>开启 2FA</li><li>只允许自己的固定 IP 访问，或通过 VPN&#x2F;SSH 隧道管理</li><li>不公开面板地址、API Token 和证书私钥</li></ul><h2 id="❓-九、常见问题"><a href="#❓-九、常见问题" class="headerlink" title="❓ 九、常见问题"></a>❓ 九、常见问题</h2><h3 id="节点正常，但面板提示不安全，会影响节点吗？"><a href="#节点正常，但面板提示不安全，会影响节点吗？" class="headerlink" title="节点正常，但面板提示不安全，会影响节点吗？"></a>节点正常，但面板提示不安全，会影响节点吗？</h3><p>不一定。节点入站和面板 Web 服务可以使用不同端口、不同 TLS 配置。面板证书错误通常不会直接导致 REALITY 节点失效，但管理员登录数据仍存在安全风险，应尽快修复。</p><h3 id="可以一直点击“高级-→-继续访问”吗？"><a href="#可以一直点击“高级-→-继续访问”吗？" class="headerlink" title="可以一直点击“高级 → 继续访问”吗？"></a>可以一直点击“高级 → 继续访问”吗？</h3><p>不建议。你无法仅凭页面外观判断是自己的自签名证书，还是连接遭到中间人替换。公网管理面板应该使用能够正常验证的证书。</p><h3 id="证书续签后需要修改路径吗？"><a href="#证书续签后需要修改路径吗？" class="headerlink" title="证书续签后需要修改路径吗？"></a>证书续签后需要修改路径吗？</h3><p>正常情况下不需要。让续签程序在原路径更新 <code>fullchain.pem</code> 和 <code>privkey.pem</code> 即可。续签后重启 3x-ui，让面板重新读取证书：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">x-ui restart</span><br></pre></td></tr></table></figure><h3 id="REALITY-入站需要使用这个面板证书吗？"><a href="#REALITY-入站需要使用这个面板证书吗？" class="headerlink" title="REALITY 入站需要使用这个面板证书吗？"></a>REALITY 入站需要使用这个面板证书吗？</h3><p>不需要。REALITY 与传统 TLS 入站的工作方式不同，不应因为面板配置 HTTPS，就随意把面板证书填进 REALITY 入站。本文处理的是 <strong>3x-ui 管理页面的 HTTPS</strong>。</p><h2 id="📝-总结"><a href="#📝-总结" class="headerlink" title="📝 总结"></a>📝 总结</h2><p>3x-ui 出现“此站点的连接不安全”，本质上通常只有三类问题：</p><ol><li>使用的是明文 HTTP。</li><li>证书不受信任、已过期或链不完整。</li><li>证书与当前访问的域名&#x2F;IP 不匹配。</li></ol><p>对大多数用户，最稳妥的处理顺序是：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">域名解析到 VPS</span><br><span class="line">→ 申请 Let&#x27;s Encrypt 证书</span><br><span class="line">→ 设置 fullchain.pem 与 privkey.pem</span><br><span class="line">→ 重启 3x-ui</span><br><span class="line">→ 使用 HTTPS 域名访问</span><br></pre></td></tr></table></figure><p>没有域名可以使用新版 3x-ui 的裸 IP 证书；已经使用 Nginx、Caddy 或 Cloudflare，则应明确由哪一层负责 TLS，避免重复配置和协议混乱。</p><h2 id="📚-参考资料"><a href="#📚-参考资料" class="headerlink" title="📚 参考资料"></a>📚 参考资料</h2><ul><li><a href="https://github.com/MHSanaei/3x-ui/blob/main/docs/content/docs/zh/config/ssl-certificates.mdx">3x-ui 官方 SSL 证书文档（中文）</a></li><li><a href="https://github.com/MHSanaei/3x-ui/blob/main/docs/content/docs/en/config/panel.mdx">3x-ui 面板设置与 TLS 说明</a></li><li><a href="https://github.com/MHSanaei/3x-ui/wiki/Configuration">3x-ui 官方 Wiki：证书与反向代理配置</a></li><li><a href="https://support.google.com/chrome/answer/95669?hl=zh-Hans">Google Chrome：证书与连接错误说明</a></li><li><a href="https://developers.cloudflare.com/fundamentals/reference/network-ports/">Cloudflare：支持代理的网络端口</a></li></ul><hr><p>如果这篇教程帮你解决了问题，欢迎收藏本站。配置过程中不要在评论区公开服务器 IP、面板路径、管理员密码、API Token 或证书私钥。</p>]]>
    </content>
    <id>https://skylink9119.github.io/2026/08/14/3x-ui-site-connection-not-secure-https-ssl-fix/</id>
    <link href="https://skylink9119.github.io/2026/08/14/3x-ui-site-connection-not-secure-https-ssl-fix/"/>
    <published>2026-08-14T11:30:00.000Z</published>
    <summary>3x-ui 面板提示“此站点的连接不安全”的原因与解决方法，涵盖域名解析、Let's Encrypt 证书、裸 IP 证书、Cloudflare DNS 验证、反向代理及常见证书错误排查。</summary>
    <title>3x-ui 提示“此站点的连接不安全”怎么办？HTTPS 与 SSL 证书完整解决教程</title>
    <updated>2026-08-14T11:30:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Skyline</name>
      <email>sky13712559955@gmail.com</email>
    </author>
    <category term="技术教程" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/"/>
    <category term="网络链路" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/%E7%BD%91%E7%BB%9C%E9%93%BE%E8%B7%AF/"/>
    <category term="Debian" scheme="https://skylink9119.github.io/tags/Debian/"/>
    <category term="Xray" scheme="https://skylink9119.github.io/tags/Xray/"/>
    <category term="3x-ui" scheme="https://skylink9119.github.io/tags/3x-ui/"/>
    <category term="VLESS" scheme="https://skylink9119.github.io/tags/VLESS/"/>
    <category term="REALITY" scheme="https://skylink9119.github.io/tags/REALITY/"/>
    <category term="Vision" scheme="https://skylink9119.github.io/tags/Vision/"/>
    <content>
      <![CDATA[<div class="video-container">  <iframe    src="https://www.youtube.com/embed/f-tnS52pb9Y"    title="2026年8月 Debian 搭建 VLESS TCP RAW REALITY Vision 视频教程"    loading="lazy"    frameborder="0"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"    allowfullscreen>  </iframe></div><style>.video-container {    position: relative;    width: 100%;    padding-top: 56.25%;    border-radius: 12px;    overflow: hidden;    box-shadow: 0 8px 20px rgba(0,0,0,0.1);    margin-bottom: 20px;}.video-container iframe {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;}</style><a class="btn-beautify red larger" href="https://www.youtube.com/watch?v=f-tnS52pb9Y" title="在 YouTube 观看完整视频"><i class="fab fa-youtube"></i><span>在 YouTube 观看完整视频</span></a><a class="btn-beautify blue larger" href="https://www.youtube.com/@guo1986" title="订阅 Skyline YouTube 频道"><i class="fab fa-youtube"></i><span>订阅 Skyline YouTube 频道</span></a><h2 id="📖-摘要"><a href="#📖-摘要" class="headerlink" title="📖 摘要"></a>📖 摘要</h2><p>如果把优先级明确设为“稳定第一、兼容第二、前沿第三”，那么在这份 <strong>2026 年 8 月版教程</strong>中，推荐长期使用的默认基线依然是：</p><p><code>VLESS + TCP(RAW) + REALITY + xtls-rprx-vision</code></p><p>这套方案不是概念最新的一套，但它仍然是当前 Xray 体系里最成熟、最少变量、最容易长期稳定运行的组合。相比 <code>XHTTP + ECH + 后量子</code> 这类更前沿的路线，它更适合日常主力节点。</p><span id="more"></span><h2 id="🎯-为什么现在仍然推荐这套方案"><a href="#🎯-为什么现在仍然推荐这套方案" class="headerlink" title="🎯 为什么现在仍然推荐这套方案"></a>🎯 为什么现在仍然推荐这套方案</h2><p>原因很简单：<strong>变量越少，稳定性越高</strong>。</p><ul><li>不叠加 WebSocket、XHTTP、ECH、后量子等新变量，故障点更少</li><li><code>REALITY + Vision</code> 仍然是官方长期维护、文档明确支持的成熟组合</li><li>客户端兼容面更广，导入订阅后更不容易出兼容问题</li><li>排障更简单，节点异常时更容易定位问题来源</li></ul><p>如果你的目标是“长期稳定不死”，那就不要先追求参数花样，而要先追求链路干净。</p><h2 id="🧰-一、底层环境准备"><a href="#🧰-一、底层环境准备" class="headerlink" title="🧰 一、底层环境准备"></a>🧰 一、底层环境准备</h2><p>登录 Debian VPS 后，按下面顺序执行即可。</p><blockquote><p>如果你当前就是 <code>root</code> 登录，推荐直接用 <code>apt-get</code>，不需要再额外写 <code>sudo</code>。</p></blockquote><h3 id="1-先更新系统"><a href="#1-先更新系统" class="headerlink" title="1. 先更新系统"></a>1. 先更新系统</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">apt-get update</span><br><span class="line">apt-get full-upgrade -y</span><br></pre></td></tr></table></figure><h3 id="2-安装基础工具"><a href="#2-安装基础工具" class="headerlink" title="2. 安装基础工具"></a>2. 安装基础工具</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt-get install -y curl wget vim socat ca-certificates lsb-release gnupg ufw</span><br></pre></td></tr></table></figure><h3 id="3-设置时区"><a href="#3-设置时区" class="headerlink" title="3. 设置时区"></a>3. 设置时区</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">timedatectl set-timezone Asia/Shanghai</span><br></pre></td></tr></table></figure><p>这样拆开执行更好，因为：</p><ul><li>如果第一步更新失败，你能马上知道</li><li>不会一串命令里前面报错，后面还继续跑</li><li>更方便排查到底卡在哪一步</li></ul><h3 id="4-开启-BBR"><a href="#4-开启-BBR" class="headerlink" title="4. 开启 BBR"></a>4. 开启 BBR</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">sh -c <span class="string">&#x27;echo &quot;net.core.default_qdisc=fq&quot; &gt;&gt; /etc/sysctl.conf&#x27;</span></span><br><span class="line">sh -c <span class="string">&#x27;echo &quot;net.ipv4.tcp_congestion_control=bbr&quot; &gt;&gt; /etc/sysctl.conf&#x27;</span></span><br><span class="line">sysctl -p</span><br><span class="line">lsmod | grep bbr</span><br></pre></td></tr></table></figure><p>如果 <code>lsmod | grep bbr</code> 有返回值，就说明 BBR 已启用。</p><blockquote><p>注意：前两行是追加写入，重复执行会在 <code>/etc/sysctl.conf</code> 里留下重复配置，因此正常执行一次即可。</p></blockquote><h2 id="🖥️-二、安装-3x-ui-面板"><a href="#🖥️-二、安装-3x-ui-面板" class="headerlink" title="🖥️ 二、安装 3x-ui 面板"></a>🖥️ 二、安装 3x-ui 面板</h2><h3 id="1-执行官方安装脚本"><a href="#1-执行官方安装脚本" class="headerlink" title="1. 执行官方安装脚本"></a>1. 执行官方安装脚本</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">bash &lt;(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)</span><br></pre></td></tr></table></figure><h3 id="2-安装时记住这三项"><a href="#2-安装时记住这三项" class="headerlink" title="2. 安装时记住这三项"></a>2. 安装时记住这三项</h3><ul><li>面板用户名</li><li>面板密码</li><li>面板端口</li></ul><p>建议避开 <code>80</code>、<code>443</code>、<code>8080</code>，例如使用 <code>54321</code>。</p><blockquote><p>面板端口只是给管理后台用，不要和你后面节点入站端口混在一起。</p></blockquote><p>截至 <strong>2026 年 7 月 30 日</strong>，3x-ui 官方稳定发布页显示最新版本为 <strong>v3.6.0</strong>，并集成 <strong>Xray-core v26.7.28</strong>。Xray-core 官方将该核心版本标记为预发布，因此新手建议使用 3x-ui 的稳定更新通道，不要切换到 Dev 通道；安装后再到面板中确认实际版本。</p><h3 id="安装完成后立即开启防火墙"><a href="#安装完成后立即开启防火墙" class="headerlink" title="安装完成后立即开启防火墙"></a>安装完成后立即开启防火墙</h3><p>面板装好后，不要急着直接裸奔使用，先把系统防火墙开起来。</p><p>如果你是 <code>root</code> 登录，直接执行下面这组命令即可：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">ufw default deny incoming</span><br><span class="line">ufw default allow outgoing</span><br><span class="line"></span><br><span class="line">ufw allow 22/tcp</span><br><span class="line">ufw allow 80/tcp</span><br><span class="line">ufw allow 443/tcp</span><br><span class="line">ufw allow 你的面板端口/tcp</span><br><span class="line"></span><br><span class="line">ufw <span class="built_in">enable</span></span><br><span class="line">ufw status</span><br></pre></td></tr></table></figure><p>这几条规则分别对应：</p><ul><li><code>22/tcp</code> 是 SSH 远程登录端口</li><li><code>80/tcp</code> 是给 Let’s Encrypt 申请和续签证书用的</li><li><code>443/tcp</code> 是后面节点常见使用端口</li><li><code>你的面板端口/tcp</code> 指的是你安装 3x-ui 时自己设置的管理面板端口，例如 <code>54321/tcp</code></li></ul><blockquote><p>如果你的 SSH 端口不是 <code>22</code>，这里也要改成真实端口，否则可能把自己锁在服务器外面。</p></blockquote><blockquote><p>另外，除了系统里的 <code>ufw</code>，云厂商后台的安全组也要同步放行对应端口。很多人以为自己已经开了防火墙，结果其实是被安全组挡住了。</p></blockquote><h3 id="开了防火墙后，怎么查自己的订阅端口"><a href="#开了防火墙后，怎么查自己的订阅端口" class="headerlink" title="开了防火墙后，怎么查自己的订阅端口"></a>开了防火墙后，怎么查自己的订阅端口</h3><p>很多人第一次装好 <code>3x-ui / x-ui</code> 后，只记住了面板端口和节点端口，结果开了 <code>ufw</code> 以后发现：</p><ul><li>面板能登录</li><li>节点本身也在监听</li><li>但客户端更新订阅一直提示超时</li></ul><p>这时候最常见的原因不是节点坏了，而是<strong>订阅端口没有放行</strong>。</p><p>先把这 3 类端口分清楚：</p><ul><li>面板端口：登录 <code>3x-ui</code> 后台用</li><li>节点端口：客户端实际连接入站用，例如 <code>443</code></li><li>订阅端口：客户端拉取订阅链接时访问的端口</li></ul><p>它们完全可以不同。比如：</p><ul><li>面板端口：<code>54321</code></li><li>节点端口：<code>443</code></li><li>订阅端口：<code>2096</code></li></ul><h4 id="1-直接看订阅链接本身"><a href="#1-直接看订阅链接本身" class="headerlink" title="1. 直接看订阅链接本身"></a>1. 直接看订阅链接本身</h4><p>这是最直接的办法。</p><ul><li>如果链接是 <code>https://example.com:2096/sub/...</code>，那客户端实际访问的订阅端口就是 <code>2096</code></li><li>如果链接是 <code>https://example.com/sub/...</code>，那对客户端来说默认就是 <code>443</code></li><li>如果链接是 <code>http://example.com/sub/...</code>，那默认就是 <code>80</code></li></ul><p>也就是说，<strong>订阅链接里显式写了端口，就看那个端口；没写端口，就按协议默认端口算。</strong></p><h4 id="2-在服务器日志里看-Sub-server"><a href="#2-在服务器日志里看-Sub-server" class="headerlink" title="2. 在服务器日志里看 Sub server"></a>2. 在服务器日志里看 <code>Sub server</code></h4><p>如果你有服务器权限，直接看 <code>x-ui</code> 日志最稳：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">journalctl -u x-ui -n 50 --no-pager</span><br></pre></td></tr></table></figure><p>你通常会看到类似输出：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">Web server running HTTPS on [::]:25731</span><br><span class="line">Sub server running HTTPS on [::]:2096</span><br></pre></td></tr></table></figure><p>这里：</p><ul><li><code>Web server</code> 后面的端口是面板端口</li><li><code>Sub server</code> 后面的端口才是订阅服务端口</li></ul><h4 id="3-用监听端口反查"><a href="#3-用监听端口反查" class="headerlink" title="3. 用监听端口反查"></a>3. 用监听端口反查</h4><p>如果你不想翻太多日志，也可以直接看 <code>x-ui</code> 当前监听了哪些端口：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ss -tlnp | grep x-ui</span><br></pre></td></tr></table></figure><p>通常你会同时看到面板端口和订阅端口都被 <code>x-ui</code> 监听。</p><h4 id="4-开了-ufw-记得把订阅端口也一起放行"><a href="#4-开了-ufw-记得把订阅端口也一起放行" class="headerlink" title="4. 开了 ufw 记得把订阅端口也一起放行"></a>4. 开了 <code>ufw</code> 记得把订阅端口也一起放行</h4><p>如果你确认订阅端口是 <code>2096</code>，那除了节点端口和面板端口，还要额外放行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">ufw allow 2096/tcp</span><br><span class="line">ufw reload</span><br></pre></td></tr></table></figure><p>如果你开了云厂商安全组，也要同步把这个端口放行。</p><blockquote><p>注意：如果你的订阅链接前面套了 <code>Nginx</code> 或 <code>Caddy</code> 反代，那么客户端真正访问的可能是 <code>443</code>，而不是 <code>x-ui</code> 内部的订阅监听端口。最终以你<strong>客户端实际访问的订阅链接</strong>为准。</p></blockquote><h3 id="首次登录后怎么修改面板密码并开启-2FA"><a href="#首次登录后怎么修改面板密码并开启-2FA" class="headerlink" title="首次登录后怎么修改面板密码并开启 2FA"></a>首次登录后怎么修改面板密码并开启 2FA</h3><p>第一次打开面板后，建议立刻把认证信息处理好，再去建入站。</p><h3 id="面板里按这个顺序操作"><a href="#面板里按这个顺序操作" class="headerlink" title="面板里按这个顺序操作"></a>面板里按这个顺序操作</h3><ol><li>登录 3x-ui 面板</li><li>进入 <code>Panel Settings</code></li><li>找到 <code>Authentication</code></li><li>修改用户名和密码</li><li>开启 <code>Two-Factor Authentication</code></li></ol><p>如果你安装时已经让脚本生成了一组随机用户名和随机密码，也可以先不改用户名，但密码一定要确保足够强。</p><p>开启 2FA 时，一般会看到二维码或一串密钥。<br>这时用手机上的验证器 App 扫码即可，例如：</p><ul><li><code>Google Authenticator</code></li><li><code>Microsoft Authenticator</code></li><li><code>Aegis</code></li></ul><p>扫码后，App 会每 30 秒生成一个新的 6 位验证码。把当前验证码填回 3x-ui 面板并保存，之后你登录面板时就会多一道动态验证码校验。</p><h3 id="这里有两个细节一定别省"><a href="#这里有两个细节一定别省" class="headerlink" title="这里有两个细节一定别省"></a>这里有两个细节一定别省</h3><ul><li>把 2FA 的密钥或恢复信息单独保存好，不要只留在手机里</li><li>开完 2FA 后，退出面板重新登录一次，确认用户名、密码和动态验证码都正常</li></ul><p>如果你后面忘了面板密码，或者 2FA 配错导致进不去，可以在服务器里执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">x-ui</span><br></pre></td></tr></table></figure><p>然后走重置账号密码流程。新版菜单里也会问你是否禁用当前已经配置好的 2FA，到时按提示操作即可。</p><h2 id="🚀-三、添加-VLESS-REALITY-Vision-入站"><a href="#🚀-三、添加-VLESS-REALITY-Vision-入站" class="headerlink" title="🚀 三、添加 VLESS + REALITY + Vision 入站"></a>🚀 三、添加 VLESS + REALITY + Vision 入站</h2><p>在 3x-ui 面板中进入“入站列表”，点击“添加入站”，按下面填写：</p><h3 id="基础设置"><a href="#基础设置" class="headerlink" title="基础设置"></a>基础设置</h3><ul><li>协议：<code>vless</code></li><li>监听 IP：留空</li><li>端口：<code>443</code></li><li>客户端 ID：随机 UUID</li><li>Email：随意填写</li><li>Flow：<strong>必须选择</strong> <code>xtls-rprx-vision</code></li></ul><h3 id="传输设置"><a href="#传输设置" class="headerlink" title="传输设置"></a>传输设置</h3><ul><li>网络：<code>tcp</code> 或 <code>raw</code></li><li>安全：<code>reality</code></li></ul><p>说明一下：新版 Xray 文档中，<code>TCP</code> 的主名已改成 <code>RAW</code>，但在很多面板和客户端里仍然会显示成 <code>TCP</code>，两者本质上是同一类传输。</p><h2 id="🔐-四、REALITY-核心参数怎么填"><a href="#🔐-四、REALITY-核心参数怎么填" class="headerlink" title="🔐 四、REALITY 核心参数怎么填"></a>🔐 四、REALITY 核心参数怎么填</h2><p>REALITY 开启后，重点只看这几项：</p><ul><li><code>target</code> &#x2F; <code>dest</code>：伪装目标站，例如 <code>dl.google.com:443</code></li><li><code>serverNames</code>：对应 SNI，例如 <code>dl.google.com</code></li><li><code>privateKey</code>：点击生成 X25519 密钥</li><li><code>shortIds</code>：随机生成</li><li><code>fingerprint</code> &#x2F; uTLS：<code>chrome</code></li><li><code>spiderX</code>：留空或填 <code>/</code></li></ul><p>这里有几个稳定派原则：</p><ul><li>目标站必须能从当前 VPS 正常访问，并支持 TLS 1.3、证书与 SNI 匹配</li><li>示例使用 <code>dl.google.com</code>，但不同 VPS 线路的可用性可能不同，不能机械照抄</li><li>如果客户端反复出现 <code>REALITY authentication failed</code> 或连接超时，应先检查 SNI、密钥和 Short ID，再更换一个从 VPS 实测可访问的目标站</li><li><code>uTLS</code> 用 <code>chrome</code> 就够了，不建议乱改</li><li><code>spiderX</code> 保持简单即可，没必要过度设计</li></ul><h2 id="✅-五、保存并重启核心"><a href="#✅-五、保存并重启核心" class="headerlink" title="✅ 五、保存并重启核心"></a>✅ 五、保存并重启核心</h2><p>配置完成后保存入站，然后重启 Xray 核心。<br>接着在入站列表中复制节点链接或二维码，导入客户端。</p><h3 id="导入客户端后重点确认这几项"><a href="#导入客户端后重点确认这几项" class="headerlink" title="导入客户端后重点确认这几项"></a>导入客户端后重点确认这几项</h3><ul><li>Security：<code>reality</code></li><li>Network：<code>tcp</code> &#x2F; <code>raw</code></li><li>Flow：<code>xtls-rprx-vision</code></li><li>SNI：与你填写的伪装域名一致</li><li>Public Key：服务端生成的公钥</li><li>Short ID：与你分配的一致</li><li>Fingerprint：<code>chrome</code></li></ul><h2 id="🧪-六、为什么不把-XHTTP-ECH-后量子当默认主力"><a href="#🧪-六、为什么不把-XHTTP-ECH-后量子当默认主力" class="headerlink" title="🧪 六、为什么不把 XHTTP &#x2F; ECH &#x2F; 后量子当默认主力"></a>🧪 六、为什么不把 XHTTP &#x2F; ECH &#x2F; 后量子当默认主力</h2><p>这些技术并不差，但它们更适合进阶用户，而不是所有人的默认首选。</p><ul><li><code>XHTTP</code> 参数空间更大，配置复杂度更高</li><li><code>ECH</code> 在部分网络环境下可用性仍不稳定</li><li>后量子签名会增加握手材料体积，提高排障难度</li><li>新特性常常要求更高版本的客户端和更完整的兼容链路</li></ul><p>所以更现实的策略是：</p><ul><li>主力节点：<code>VLESS + TCP(RAW) + REALITY + Vision</code></li><li>实验节点：<code>XHTTP + REALITY</code> 或 <code>TLS + ECH</code></li><li>不要让实验方案直接替代主力方案</li></ul><h2 id="❓-FAQ"><a href="#❓-FAQ" class="headerlink" title="❓ FAQ"></a>❓ FAQ</h2><h3 id="1-现在最稳的方案到底是不是-VLESS-TCP-REALITY-Vision？"><a href="#1-现在最稳的方案到底是不是-VLESS-TCP-REALITY-Vision？" class="headerlink" title="1. 现在最稳的方案到底是不是 VLESS + TCP + REALITY + Vision？"></a>1. 现在最稳的方案到底是不是 VLESS + TCP + REALITY + Vision？</h3><p>如果你的目标是“长期稳定、尽量少折腾、兼容尽可能广”，那么在这份 <strong>2026 年 8 月版教程</strong>中，它依然是稳妥的默认基线。</p><h3 id="2-TCP-和-RAW-有什么区别？"><a href="#2-TCP-和-RAW-有什么区别？" class="headerlink" title="2. TCP 和 RAW 有什么区别？"></a>2. TCP 和 RAW 有什么区别？</h3><p>没有本质区别。新版 Xray 文档把原来的 TCP 主名改成了 RAW，旧写法仍兼容。</p><h3 id="3-Flow-为什么必须开-xtls-rprx-vision？"><a href="#3-Flow-为什么必须开-xtls-rprx-vision？" class="headerlink" title="3. Flow 为什么必须开 xtls-rprx-vision？"></a>3. Flow 为什么必须开 <code>xtls-rprx-vision</code>？</h3><p>因为 Vision 才是这套稳定派方案的核心之一。不开它，你得到的只是普通 VLESS + REALITY，而不是默认推荐的 Vision 组合。</p><h3 id="4-spiderX-一定要精细配置吗？"><a href="#4-spiderX-一定要精细配置吗？" class="headerlink" title="4. spiderX 一定要精细配置吗？"></a>4. <code>spiderX</code> 一定要精细配置吗？</h3><p>不一定。日常求稳可以直接留空或写 <code>/</code>。对大多数用户来说，这不是决定节点生死的关键项。</p><h3 id="5-要不要直接上-XHTTP-REALITY-后量子？"><a href="#5-要不要直接上-XHTTP-REALITY-后量子？" class="headerlink" title="5. 要不要直接上 XHTTP + REALITY + 后量子？"></a>5. 要不要直接上 XHTTP + REALITY + 后量子？</h3><p>如果你追求的是实验性增强和进阶玩法，可以单独开一条测试节点；如果你追求的是主力稳定性，不建议它直接取代 TCP(RAW) + REALITY + Vision。</p><h2 id="📝-结尾总结"><a href="#📝-结尾总结" class="headerlink" title="📝 结尾总结"></a>📝 结尾总结</h2><p>在 <strong>2026 年 8 月版教程</strong>中，如果只看“长期稳定、少踩坑、兼容更广”这三个指标，那么值得作为默认基线的仍然是：</p><p><code>VLESS + TCP(RAW) + REALITY + xtls-rprx-vision</code></p><p>真正适合长期使用的节点，核心不是参数有多新，而是链路足够干净、变量足够少、客户端足够好适配。<br>在今天这个阶段，<strong>大道至简，仍然是最稳的答案</strong>。</p><h2 id="🔗-参考来源"><a href="#🔗-参考来源" class="headerlink" title="🔗 参考来源"></a>🔗 参考来源</h2><ul><li><a href="https://xtls.github.io/en/config/inbounds/vless.html">Project X VLESS Inbound 文档</a></li><li><a href="https://xtls.github.io/en/config/outbounds/vless.html">Project X VLESS Outbound 文档</a></li><li><a href="https://xtls.github.io/en/config/transport.html">Project X Transport &#x2F; REALITY 文档</a></li><li><a href="https://github.com/XTLS/Xray-core/releases">Xray-core Releases</a></li><li><a href="https://github.com/MHSanaei/3x-ui/releases">3x-ui Releases</a></li><li><a href="https://github.com/XTLS/Xray-examples">XTLS&#x2F;Xray-examples 官方示例库</a></li><li><a href="https://github.com/XTLS/Xray-examples/tree/main/VLESS-TCP-XTLS-Vision-REALITY">VLESS-TCP-XTLS-Vision-REALITY 官方示例</a></li></ul>]]>
    </content>
    <id>https://skylink9119.github.io/2026/07/30/2026-august-debian-vless-tcp-raw-reality-vision/</id>
    <link href="https://skylink9119.github.io/2026/07/30/2026-august-debian-vless-tcp-raw-reality-vision/"/>
    <published>2026-07-30T02:30:00.000Z</published>
    <summary>2026年8月版 Debian 搭建教程，使用 3x-ui 部署 VLESS + TCP(RAW) + REALITY + Vision，包含系统准备、BBR、防火墙、面板、入站参数、订阅端口与排错步骤。</summary>
    <title>2026年8月最新稳定Debian搭建VLESS+TCPRAW+REALITY+Vision节点教程</title>
    <updated>2026-07-30T02:30:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Skyline</name>
      <email>sky13712559955@gmail.com</email>
    </author>
    <category term="VPS 选购" scheme="https://skylink9119.github.io/categories/VPS-%E9%80%89%E8%B4%AD/"/>
    <category term="VPS" scheme="https://skylink9119.github.io/tags/VPS/"/>
    <category term="搬瓦工" scheme="https://skylink9119.github.io/tags/%E6%90%AC%E7%93%A6%E5%B7%A5/"/>
    <category term="DMIT" scheme="https://skylink9119.github.io/tags/DMIT/"/>
    <category term="RackNerd" scheme="https://skylink9119.github.io/tags/RackNerd/"/>
    <category term="AkileCloud" scheme="https://skylink9119.github.io/tags/AkileCloud/"/>
    <category term="CN2 GIA" scheme="https://skylink9119.github.io/tags/CN2-GIA/"/>
    <category term="流媒体解锁" scheme="https://skylink9119.github.io/tags/%E6%B5%81%E5%AA%92%E4%BD%93%E8%A7%A3%E9%94%81/"/>
    <content>
      <![CDATA[<blockquote><p>更新于 2026 年 7 月。本文包含推广链接；通过链接购买可能为本站带来佣金，但不会增加你的购买价格。线路、库存、价格和流媒体解锁状态可能随时变化，请以下单页面与购买前实测为准。</p></blockquote><h2 id="2026-VPS-推荐：先看结论"><a href="#2026-VPS-推荐：先看结论" class="headerlink" title="2026 VPS 推荐：先看结论"></a>2026 VPS 推荐：先看结论</h2><p>如果你正在搜索“2026 VPS 推荐”“便宜年付 VPS”或“中国大陆访问快的 VPS”，可以先记住一句话：<strong>搬瓦工和 DMIT 主打中国方向精品线路，RackNerd 主打低价年付与通用计算，AkileCloud 更偏亚洲节点、原生 IP 与流媒体解锁。</strong></p><ul><li>**中国大陆访问与精品线路：**搬瓦工、DMIT；</li><li>**便宜年付 VPS 与开发测试：**RackNerd；</li><li>**TikTok、Netflix、原生 IP 与亚洲节点：**AkileCloud；</li><li>**正式建站：**优先比较网络稳定性、IP 信誉、备份与售后，不要只看跑分。</li></ul><p>不同 VPS 的“好”并不是同一回事。建站更看重稳定性与 IP 信誉，跨境业务更看重地区和 IP 属性，个人开发与备份则往往更在意价格。下面按线路、价格、解锁能力和使用场景进行对比。</p><h2 id="2026-VPS-推荐快速选型表"><a href="#2026-VPS-推荐快速选型表" class="headerlink" title="2026 VPS 推荐快速选型表"></a>2026 VPS 推荐快速选型表</h2><table><thead><tr><th>厂商</th><th>核心定位</th><th>线路与节点特点</th><th>主要优势</th><th>更适合谁</th></tr></thead><tbody><tr><td><strong><a href="https://bandwagonhost.com/aff.php?aff=83101" target="_blank" rel="sponsored noopener">搬瓦工</a></strong></td><td>高端中国方向优化</td><td>CN2 GIA、AS9929、CMI 等，具体以套餐可迁移机房为准</td><td>线路选择多、端口带宽高、KiwiVM 迁移灵活</td><td>预算充足，重视中国方向网络质量与可玩性</td></tr><tr><td><strong><a href="https://www.dmit.io/aff.php?aff=18635" target="_blank" rel="sponsored noopener">DMIT</a></strong></td><td>美亚精品云服务器</td><td>LAX &#x2F; HKG &#x2F; TYO 的 Pro、EB、T1 等系列定位不同</td><td>精品线路、硬件配置清晰，适合建站与高质量节点</td><td>商务建站、精品线路用户、对稳定性要求较高的人</td></tr><tr><td><strong><a href="https://my.racknerd.com/aff.php?aff=18647" target="_blank" rel="sponsored noopener">RackNerd</a></strong></td><td>低价年付 VPS</td><td>以普通国际线路和 1Gbps 端口为主，多机房可选</td><td>年付门槛低、KVM、适合跑常驻轻量服务</td><td>学生、新手、开发测试、备份和备用机</td></tr><tr><td><strong><a href="https://akile.ai/register?aff_code=0be67084-ae2e-4095-a586-2a3ee5c970f0" target="_blank" rel="sponsored noopener">AkileCloud</a></strong></td><td>亚洲节点与解锁特色</td><td>覆盖香港、日本、台湾、新加坡、美国等地，提供多种 BGP&#x2F;优化线路</td><td>节点多、带宽方案丰富、部分产品强调原生 IP 或流媒体解锁</td><td>TikTok、跨境业务、流媒体及亚洲低延迟需求</td></tr></tbody></table><h2 id="1-搬瓦工-VPS：CN2-GIA-与多机房迁移"><a href="#1-搬瓦工-VPS：CN2-GIA-与多机房迁移" class="headerlink" title="1. 搬瓦工 VPS：CN2 GIA 与多机房迁移"></a>1. 搬瓦工 VPS：CN2 GIA 与多机房迁移</h2><p>搬瓦工（BandwagonHost）是老牌 VPS 厂商，核心竞争力不只是某一个机房，而是 <strong>CN2 GIA、AS9929、CMI 等多种中国方向优化线路，以及 KiwiVM 后台的机房迁移能力</strong>。</p><h3 id="值得关注的优势"><a href="#值得关注的优势" class="headerlink" title="值得关注的优势"></a>值得关注的优势</h3><ul><li><strong>线路覆盖丰富</strong>：常见选择包括洛杉矶 CN2 GIA、AS9929，以及香港、日本等亚洲节点；实际可用机房取决于具体套餐。</li><li><strong>端口带宽高</strong>：部分高端套餐提供 2.5Gbps、10Gbps 等端口规格，适合大文件传输和高并发场景。</li><li><strong>迁移方便</strong>：不少套餐支持在 KiwiVM 中迁移机房，适合比较不同线路，或在需求变化后调整节点。</li><li><strong>生态成熟</strong>：使用教程、测速资料和社区经验较多，新手遇到问题更容易找到参考。</li></ul><h3 id="需要注意"><a href="#需要注意" class="headerlink" title="需要注意"></a>需要注意</h3><p>高端线路的价格明显高于普通 VPS；而且“10Gbps 端口”代表端口上限，并不等于中国大陆晚高峰一定能跑满。购买前应结合所在运营商、地区和测试 IP 判断。</p><h3 id="推荐人群"><a href="#推荐人群" class="headerlink" title="推荐人群"></a>推荐人群</h3><ul><li>预算较充足，希望中国方向延迟、抖动和丢包表现更稳；</li><li>需要在多个机房之间灵活切换；</li><li>希望一台机器兼顾代理节点、下载与轻量建站。</li></ul><p>**选购建议：**优先查看包含 DC6 CN2 GIA-E、AS9929 等机房的可迁移套餐；香港、日本产品延迟通常更低，但价格也更高。</p><p>👉 <a href="https://bandwagonhost.com/aff.php?aff=83101" target="_blank" rel="sponsored noopener">查看搬瓦工当前可售套餐</a></p><h2 id="2-DMIT-VPS：美西、香港与日本精品线路"><a href="#2-DMIT-VPS：美西、香港与日本精品线路" class="headerlink" title="2. DMIT VPS：美西、香港与日本精品线路"></a>2. DMIT VPS：美西、香港与日本精品线路</h2><p>DMIT 的产品线通常按地区和网络等级划分，例如 LAX、HKG、TYO，以及 Pro、EB、T1 等系列。它更适合愿意为线路质量、硬件和服务稳定性支付溢价的用户。</p><h3 id="值得关注的优势-1"><a href="#值得关注的优势-1" class="headerlink" title="值得关注的优势"></a>值得关注的优势</h3><ul><li><strong>美亚节点选择清晰</strong>：洛杉矶、香港、东京是重点区域，不同系列面向中国优化、高防或国际连接等不同需求。</li><li><strong>精品线路产品成熟</strong>：Pro 系列通常是中国方向用户重点关注的产品线，但路由仍应以下单时官方说明和实测为准。</li><li><strong>适合正式业务</strong>：相比纯低价促销机，DMIT 更适合作为博客、企业网站、API 或长期运行服务的主机。</li><li><strong>部分产品提供防护能力</strong>：EB 等产品线侧重防御或特定网络能力，购买前应确认防护范围、清洗策略和端口限制。</li></ul><h3 id="需要注意-1"><a href="#需要注意-1" class="headerlink" title="需要注意"></a>需要注意</h3><p>“原生 IP”和流媒体解锁不是永久属性。平台风控、IP 数据库和版权政策变化后，解锁结果可能改变；如果这是核心需求，购买前应查看商家说明，并在开通后立即测试。</p><h3 id="推荐人群-1"><a href="#推荐人群-1" class="headerlink" title="推荐人群"></a>推荐人群</h3><ul><li>需要长期稳定建站或部署线上服务；</li><li>对美西、香港、日本精品线路有明确需求；</li><li>希望线路、硬件和售后整体更均衡。</li></ul><p>**选购建议：**美西可重点比较 LAX.Pro 系列；亚洲低延迟需求可关注 HKG.Pro 与 TYO.Pro。套餐名称、库存和价格会调整，不建议只按旧促销名称下单。</p><p>👉 <a href="https://www.dmit.io/aff.php?aff=18635" target="_blank" rel="sponsored noopener">查看 DMIT 当前产品</a></p><h2 id="3-RackNerd-VPS：便宜年付与备用服务器"><a href="#3-RackNerd-VPS：便宜年付与备用服务器" class="headerlink" title="3. RackNerd VPS：便宜年付与备用服务器"></a>3. RackNerd VPS：便宜年付与备用服务器</h2><p>RackNerd 的优势非常直接：**低价年付、KVM 虚拟化、1Gbps 端口和多个海外机房。**它不以中国方向精品线路见长，但很适合对网络回程要求不高的轻量任务。</p><h3 id="值得关注的优势-2"><a href="#值得关注的优势-2" class="headerlink" title="值得关注的优势"></a>值得关注的优势</h3><ul><li><strong>购买门槛低</strong>：常规公开促销约从 21.99 美元&#x2F;年起；黑五、新年等限时活动偶尔会出现 10～20 美元档，但库存和续费政策要以活动页为准。</li><li><strong>适合常驻小服务</strong>：可运行个人博客、Docker 小应用、RSS、监控探针、DNS 辅助服务或异地备份。</li><li><strong>机房选择较多</strong>：美国多地及部分欧洲机房可选，适合根据目标用户位置选择。</li><li><strong>KVM 与独立 IPv4</strong>：公开套餐通常提供 KVM、root 权限和独立 IPv4，部署自由度较高。</li></ul><h3 id="需要注意-2"><a href="#需要注意-2" class="headerlink" title="需要注意"></a>需要注意</h3><p>普通国际线路在中国大陆晚高峰可能出现延迟上升、绕路或丢包。它更适合作为低成本计算资源，不宜直接和 CN2 GIA 等精品线路比较。</p><h3 id="推荐人群-2"><a href="#推荐人群-2" class="headerlink" title="推荐人群"></a>推荐人群</h3><ul><li>学生、新手和预算有限的开发者；</li><li>需要备用节点、备份机或低成本常驻服务；</li><li>访问人群主要位于海外，对中国方向网络要求不高。</li></ul><p>**选购建议：**优先根据目标访客所在地选机房。面向中国大陆时，洛杉矶通常比美国东部延迟更低，但仍建议先测试路由。</p><p>👉 <a href="https://my.racknerd.com/aff.php?aff=18647" target="_blank" rel="sponsored noopener">查看 RackNerd 当前年付套餐</a></p><h2 id="4-AkileCloud-VPS：亚洲节点、原生-IP-与流媒体解锁"><a href="#4-AkileCloud-VPS：亚洲节点、原生-IP-与流媒体解锁" class="headerlink" title="4. AkileCloud VPS：亚洲节点、原生 IP 与流媒体解锁"></a>4. AkileCloud VPS：亚洲节点、原生 IP 与流媒体解锁</h2><p>AkileCloud 主打全球大带宽节点、BGP 优化和流媒体解锁，覆盖香港、日本、台湾、韩国、新加坡、美国及欧洲等地区。它的产品差异较大，选择时应重点看地区、IP 类型、流量和线路说明。</p><h3 id="值得关注的优势-3"><a href="#值得关注的优势-3" class="headerlink" title="值得关注的优势"></a>值得关注的优势</h3><ul><li><strong>亚洲节点丰富</strong>：适合希望靠近目标市场、降低业务访问延迟的用户。</li><li><strong>部分产品强调原生 IP 与解锁</strong>：适合 Netflix、Disney+、TikTok 等有地区要求的场景。</li><li><strong>线路类型多</strong>：官网列有 CN2、AS9929、CMI、SoftBank 等优化方向，不同产品的实际路由和带宽差异较大。</li><li><strong>配置与计费选择灵活</strong>：适合按业务地区和流量规模精细挑选。</li></ul><h3 id="需要注意-3"><a href="#需要注意-3" class="headerlink" title="需要注意"></a>需要注意</h3><p>跨境电商或 TikTok 运营不能只看“原生 IP”。还应检查 IP 信誉、ASN 类型、DNS 区域、时区与账号环境一致性。任何平台解锁都可能因第三方策略变化而失效。</p><h3 id="推荐人群-3"><a href="#推荐人群-3" class="headerlink" title="推荐人群"></a>推荐人群</h3><ul><li>TikTok、跨境电商和地区化业务；</li><li>需要香港、日本、台湾、新加坡等亚洲节点；</li><li>把流媒体解锁作为主要需求，并愿意在购买后持续验证。</li></ul><p>**选购建议：**先确定目标国家或地区，再选择明确标注 IP 属性与解锁范围的产品；不要仅按带宽数字判断体验。</p><p>👉 <a href="https://akile.ai/register?aff_code=0be67084-ae2e-4095-a586-2a3ee5c970f0" target="_blank" rel="sponsored noopener">注册 AkileCloud 并查看当前节点</a></p><h2 id="2026-VPS-选购结论：四家厂商怎么选？"><a href="#2026-VPS-选购结论：四家厂商怎么选？" class="headerlink" title="2026 VPS 选购结论：四家厂商怎么选？"></a>2026 VPS 选购结论：四家厂商怎么选？</h2><ul><li>**追求中国方向精品线路和灵活迁移：**优先考虑 <a href="https://bandwagonhost.com/aff.php?aff=83101" target="_blank" rel="sponsored noopener">搬瓦工</a>。</li><li>**用于正式建站，希望线路与服务更均衡：**优先考虑 <a href="https://www.dmit.io/aff.php?aff=18635" target="_blank" rel="sponsored noopener">DMIT</a>。</li><li>**预算有限，主要跑测试、备份或轻量服务：**优先考虑 <a href="https://my.racknerd.com/aff.php?aff=18647" target="_blank" rel="sponsored noopener">RackNerd</a>。</li><li>**重点是 TikTok、流媒体解锁或亚洲节点：**优先考虑 <a href="https://akile.ai/register?aff_code=0be67084-ae2e-4095-a586-2a3ee5c970f0" target="_blank" rel="sponsored noopener">AkileCloud</a>。</li></ul><h2 id="购买前的-5-个检查项"><a href="#购买前的-5-个检查项" class="headerlink" title="购买前的 5 个检查项"></a>购买前的 5 个检查项</h2><ol><li>用测试 IP 或 Looking Glass 检查本地运营商的去程与回程。</li><li>确认端口带宽、月流量、超额计费和限速规则。</li><li>检查 IPv4 是否独享，以及 IP 信誉和目标平台解锁情况。</li><li>阅读退款、续费、迁移和数据备份政策。</li><li>重要业务至少准备异地备份，不要把“在线率高”等同于“数据不会丢失”。</li></ol><p>选好服务器后，可以继续阅读本站的 <a href="/2026/03/04/2026%20VPS%20%E6%90%AD%E5%BB%BA%E4%B8%8E%E7%BD%91%E7%BB%9C%E4%BC%98%E5%8C%96%E4%BF%9D%E5%A7%86%E7%BA%A7%E6%95%99%E7%A8%8B/">Debian VPS 搭建、BBR 与安全配置教程</a>；准备部署节点的读者可参考 <a href="/2026/07/21/sing-box-one-click-vless-reality-beginner/">sing-box VLESS + Reality 一键搭建教程</a>。</p><h2 id="VPS-选购常见问题"><a href="#VPS-选购常见问题" class="headerlink" title="VPS 选购常见问题"></a>VPS 选购常见问题</h2><h3 id="中国大陆访问，搬瓦工和-DMIT-哪个更好？"><a href="#中国大陆访问，搬瓦工和-DMIT-哪个更好？" class="headerlink" title="中国大陆访问，搬瓦工和 DMIT 哪个更好？"></a>中国大陆访问，搬瓦工和 DMIT 哪个更好？</h3><p>两家都有面向中国方向的精品线路。搬瓦工的优势是可迁移机房和线路选择丰富；DMIT 更适合看重美西、香港、日本精品产品与长期建站的用户。最终应使用测试 IP，结合所在省份和电信、联通、移动运营商实测。</p><h3 id="便宜年付-VPS-推荐哪一家？"><a href="#便宜年付-VPS-推荐哪一家？" class="headerlink" title="便宜年付 VPS 推荐哪一家？"></a>便宜年付 VPS 推荐哪一家？</h3><p>如果用途是开发测试、个人博客备份、监控探针或轻量 Docker 服务，RackNerd 的低价年付套餐通常更合适。需要注意，它主要是普通国际线路，不应按 CN2 GIA 的晚高峰表现来预期。</p><h3 id="TikTok、Netflix-和原生-IP-应该选哪家？"><a href="#TikTok、Netflix-和原生-IP-应该选哪家？" class="headerlink" title="TikTok、Netflix 和原生 IP 应该选哪家？"></a>TikTok、Netflix 和原生 IP 应该选哪家？</h3><p>AkileCloud 的亚洲节点和解锁型产品更贴近这类需求。但“原生 IP”不等于账号环境一定安全，购买前后都应检查 IP 信誉、ASN、DNS 区域和目标平台的实际解锁结果。</p><h3 id="CN2-GIA、AS9929-和-CMI-有什么区别？"><a href="#CN2-GIA、AS9929-和-CMI-有什么区别？" class="headerlink" title="CN2 GIA、AS9929 和 CMI 有什么区别？"></a>CN2 GIA、AS9929 和 CMI 有什么区别？</h3><p>它们分别对应不同运营商和跨境网络资源，实际体验还受地区、入口、回程、拥塞和商家带宽策略影响。线路名称只能用于初筛，不能替代晚高峰测试。</p><h3 id="VPS-端口是-10Gbps，实际速度就一定快吗？"><a href="#VPS-端口是-10Gbps，实际速度就一定快吗？" class="headerlink" title="VPS 端口是 10Gbps，实际速度就一定快吗？"></a>VPS 端口是 10Gbps，实际速度就一定快吗？</h3><p>不一定。端口速率只是理论上限，实际速度还取决于共享情况、月流量限制、国际出口、路由拥塞、客户端网络和单连接性能。</p><p>没有任何一家 VPS 能在所有维度都胜出。先明确自己最看重的是线路、预算、地区、解锁还是稳定性，再选产品，通常比单纯追逐“跑分最高”更可靠。</p>]]>
    </content>
    <id>https://skylink9119.github.io/2026/07/28/vps-bandwagonhost-dmit-racknerd-akilecloud-2026/</id>
    <link href="https://skylink9119.github.io/2026/07/28/vps-bandwagonhost-dmit-racknerd-akilecloud-2026/"/>
    <published>2026-07-28T07:20:00.000Z</published>
    <summary>2026 VPS 推荐与选购指南，对比搬瓦工、DMIT、RackNerd、AkileCloud 的线路、年付价格、原生 IP、Netflix/TikTok 解锁及建站场景，附快速选型表。</summary>
    <title>2026 VPS 推荐与选购指南：搬瓦工、DMIT、RackNerd、AkileCloud 对比</title>
    <updated>2026-07-28T08:10:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Skyline</name>
      <email>sky13712559955@gmail.com</email>
    </author>
    <category term="技术教程" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/"/>
    <category term="网络链路" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/%E7%BD%91%E7%BB%9C%E9%93%BE%E8%B7%AF/"/>
    <category term="VPS" scheme="https://skylink9119.github.io/tags/VPS/"/>
    <category term="Debian" scheme="https://skylink9119.github.io/tags/Debian/"/>
    <category term="Reality协议" scheme="https://skylink9119.github.io/tags/Reality%E5%8D%8F%E8%AE%AE/"/>
    <category term="VLESS" scheme="https://skylink9119.github.io/tags/VLESS/"/>
    <category term="sing-box" scheme="https://skylink9119.github.io/tags/sing-box/"/>
    <category term="一键脚本" scheme="https://skylink9119.github.io/tags/%E4%B8%80%E9%94%AE%E8%84%9A%E6%9C%AC/"/>
    <content>
      <![CDATA[<div class="video-container">  <iframe    src="https://www.youtube.com/embed/1UYMIMyTv9w"    title="sing-box 一键脚本搭建 VLESS Reality 节点零基础视频教程"    loading="lazy"    frameborder="0"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"    allowfullscreen>  </iframe></div><style>.video-container {    position: relative;    width: 100%;    padding-top: 56.25%;    border-radius: 12px;    overflow: hidden;    box-shadow: 0 8px 20px rgba(0,0,0,0.1);    margin-bottom: 20px;}.video-container iframe {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;}</style><a class="btn-beautify red larger" href="https://youtu.be/1UYMIMyTv9w" title="在 YouTube 观看完整视频"><i class="fab fa-youtube"></i><span>在 YouTube 观看完整视频</span></a><a class="btn-beautify blue larger" href="https://www.youtube.com/@guo1986" title="订阅 Skyline YouTube 频道"><i class="fab fa-youtube"></i><span>订阅 Skyline YouTube 频道</span></a><h2 id="📖-前言"><a href="#📖-前言" class="headerlink" title="📖 前言"></a>📖 前言</h2><p>如果你觉得手动编写 sing-box JSON 配置太复杂，可以使用一键脚本自动完成 sing-box 安装、Reality 密钥生成、节点配置和客户端信息导出。</p><p>本文采用 <code>fscarmen/sing-box</code> 开源项目，按最简单的路线只安装：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">VLESS + Reality + Vision</span><br></pre></td></tr></table></figure><p>这套方案不需要购买域名、不需要申请 TLS 证书，也不需要安装面板。</p><blockquote><p><strong>重要说明：</strong>本文使用的是社区维护的第三方脚本，并非 sing-box 官方安装脚本。脚本会以 <code>root</code> 权限修改系统、安装服务并配置端口。建议只在纯净 VPS 上使用，并在执行前查看项目源码和近期更新记录。sing-box 官方脚本只负责安装核心，不会自动创建 Reality 节点。</p></blockquote><blockquote><p>本文默认以 <code>root</code> 用户登录，因此命令中不添加 <code>sudo</code>。请勿公开节点链接、UUID、Reality 私钥或订阅地址。</p></blockquote><span id="more"></span><h2 id="🧰-一、搭建前准备"><a href="#🧰-一、搭建前准备" class="headerlink" title="🧰 一、搭建前准备"></a>🧰 一、搭建前准备</h2><table><thead><tr><th>项目</th><th>建议</th></tr></thead><tbody><tr><td>VPS 系统</td><td>Debian 12 &#x2F; 13 或 Ubuntu LTS 纯净系统</td></tr><tr><td>CPU &#x2F; 内存</td><td>1 核、512MB 以上</td></tr><tr><td>网络</td><td>具有公网可达的 IPv4 或 IPv6</td></tr><tr><td>登录权限</td><td><code>root</code> 用户</td></tr><tr><td>节点协议</td><td>VLESS + Reality + Vision</td></tr><tr><td>客户端</td><td>v2rayN、Clash Verge、Shadowrocket 或 sing-box</td></tr></tbody></table><p>还没有 VPS 的读者，可以先参考本站原有的 VPS 厂商推荐与购买说明。购买时优先选择支持 Debian、独立公网 IP 和自定义安全组的产品。</p><h2 id="🔐-二、连接-VPS"><a href="#🔐-二、连接-VPS" class="headerlink" title="🔐 二、连接 VPS"></a>🔐 二、连接 VPS</h2><p>在 Windows Terminal 或 PowerShell 中输入：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh root<span class="selector-tag">@</span>你的VPS_IP</span><br></pre></td></tr></table></figure><p>例如：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh root@<span class="number">1.2</span>.<span class="number">3.4</span></span><br></pre></td></tr></table></figure><p>首次连接出现指纹确认时输入 <code>yes</code>，然后输入 VPS 的 root 密码。</p><blockquote><p>后面的命令全部在 VPS 终端中执行，不是在本地 Windows PowerShell 中执行。</p></blockquote><h2 id="🚀-三、更新系统并安装-wget"><a href="#🚀-三、更新系统并安装-wget" class="headerlink" title="🚀 三、更新系统并安装 wget"></a>🚀 三、更新系统并安装 wget</h2><p>更新 Debian 软件包：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt update &amp;&amp; apt upgrade -y</span><br></pre></td></tr></table></figure><p>安装脚本需要的下载工具：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt install -y wget</span><br></pre></td></tr></table></figure><p>如果更新后提示需要重启，先执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">reboot</span><br></pre></td></tr></table></figure><p>等待约一分钟，然后重新连接 VPS。</p><h2 id="📦-四、运行-sing-box-一键脚本"><a href="#📦-四、运行-sing-box-一键脚本" class="headerlink" title="📦 四、运行 sing-box 一键脚本"></a>📦 四、运行 sing-box 一键脚本</h2><p>执行项目 README 提供的首次运行命令：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">bash &lt;(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-box.sh)</span><br></pre></td></tr></table></figure><p>脚本进入主菜单后，输入 <code>5</code>，选择“安装 Sing-box”。这种方式不会额外安装 Argo 和 Nginx，配置更简单。</p><p><img src="/img/posts/sing-box-one-click/01-install-sing-box.png" alt="sing-box 一键脚本主菜单选择安装 Sing-box"></p><p>进入协议选择页面后输入 <code>b</code>，只安装 <code>XTLS + Reality</code>。不要直接回车，否则会选择默认的 <code>a</code> 并安装全部协议。</p><p><img src="/img/posts/sing-box-one-click/02-select-xtls-reality.png" alt="sing-box 一键脚本选择 XTLS Reality 协议"></p><p>确认协议后，在起始端口处输入 <code>443</code>。如果 443 已被其他程序占用，可以改用 <code>8443</code>，并在云厂商安全组中放行相同的 TCP 端口。</p><p><img src="/img/posts/sing-box-one-click/03-set-port-443.png" alt="sing-box Reality 节点填写 443 起始端口"></p><p>接下来按下面的原则继续：</p><ol><li>节点名称可填写容易识别的名称，例如 <code>Skyline-Reality</code>。</li><li>UUID、Reality 密钥、Short ID 让脚本自动生成。</li><li>新手暂时不启用 Argo、WARP、端口跳跃等额外功能。</li><li>是否创建在线订阅可按需要选择；只使用一个节点时，可以不启用在线订阅，直接复制节点链接。</li></ol><blockquote><p>项目参数表中 <code>b</code> 对应 <code>XTLS + Reality</code>。不要使用 <code>-l</code> 极速模式：它会自动安装多种协议，不适合只想搭建一个 Reality 节点的新手。</p></blockquote><p>安装通常需要几分钟。完成后，终端会显示节点链接、二维码或客户端订阅信息。立即把需要的信息保存到自己的密码管理器中，不要发到群聊或公开网页。</p><h2 id="🧱-五、放行实际节点端口"><a href="#🧱-五、放行实际节点端口" class="headerlink" title="🧱 五、放行实际节点端口"></a>🧱 五、放行实际节点端口</h2><p>先在安装结果中确认 Reality 节点的实际端口。如果使用的是 <code>443</code>，需要在云厂商控制台的安全组或防火墙中放行：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">协议：TCP</span><br><span class="line">端口：443</span><br><span class="line">来源：0.0.0.0/0</span><br></pre></td></tr></table></figure><p>如果脚本分配的是其他端口，就放行实际端口，不要照抄 443。</p><p>脚本目前会自动检测 UFW，并在 UFW 未启用时使用 iptables 管理规则；但是它无法替你修改阿里云、腾讯云、AWS、甲骨文等云厂商控制台中的安全组，因此云端规则必须自己确认。</p><p>检查端口是否正在监听：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ss -lntp | grep <span class="string">&#x27;:443&#x27;</span></span><br></pre></td></tr></table></figure><p>如果你的节点不是 443，请把命令中的 <code>443</code> 换成实际端口。</p><h2 id="📱-六、导入客户端"><a href="#📱-六、导入客户端" class="headerlink" title="📱 六、导入客户端"></a>📱 六、导入客户端</h2><p>安装完成后，可以随时重新显示节点信息：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sb -n</span><br></pre></td></tr></table></figure><p>常见导入方法：</p><ul><li>**v2rayN：**复制 <code>vless://</code> 链接，在客户端中选择“从剪贴板导入”。</li><li>**Shadowrocket：**扫描脚本输出的二维码，或复制链接后从剪贴板导入。</li><li>**Clash Verge：**使用脚本生成的 Clash&#x2F;Mihomo 订阅或配置，不要把普通 <code>vless://</code> 链接直接当作 Clash 订阅地址。</li><li>**sing-box 客户端：**使用脚本导出的对应 sing-box 配置。</li></ul><p>导入后选择新节点，开启系统代理，再访问网站测试连接。</p><h2 id="✅-七、检查服务状态"><a href="#✅-七、检查服务状态" class="headerlink" title="✅ 七、检查服务状态"></a>✅ 七、检查服务状态</h2><p>查看 sing-box 服务：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl status sing-box --no-pager</span><br></pre></td></tr></table></figure><p>看到 <code>active (running)</code> 表示服务正在运行。</p><p>查看最近日志：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">journalctl -u sing-box -n 50 --no-pager</span><br></pre></td></tr></table></figure><p>检查公网时间，Reality 对系统时间比较敏感：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">timedatectl status</span><br></pre></td></tr></table></figure><h2 id="🛠️-八、常用管理命令"><a href="#🛠️-八、常用管理命令" class="headerlink" title="🛠️ 八、常用管理命令"></a>🛠️ 八、常用管理命令</h2><p>安装完成后，直接输入以下命令打开管理菜单：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sb</span><br></pre></td></tr></table></figure><p>常用参数：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">sb -n    <span class="comment"># 显示节点信息</span></span><br><span class="line">sb -d    <span class="comment"># 修改节点参数</span></span><br><span class="line">sb -s    <span class="comment"># 停止或启动 sing-box 服务</span></span><br><span class="line">sb -r    <span class="comment"># 添加或删除协议</span></span><br><span class="line">sb -u    <span class="comment"># 卸载</span></span><br></pre></td></tr></table></figure><p>需要修改端口、Reality SNI、节点名称、UUID 或服务器 IP 时，优先使用：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sb -d</span><br></pre></td></tr></table></figure><p>修改完成后再次执行 <code>sb -n</code>，重新导出并更新客户端节点。</p><h2 id="❌-九、连接失败排查"><a href="#❌-九、连接失败排查" class="headerlink" title="❌ 九、连接失败排查"></a>❌ 九、连接失败排查</h2><h3 id="1-云厂商安全组没有放行"><a href="#1-云厂商安全组没有放行" class="headerlink" title="1. 云厂商安全组没有放行"></a>1. 云厂商安全组没有放行</h3><p>最常见原因是 VPS 内部已经监听端口，但云厂商控制台仍然拦截。确认安全组已放行节点的实际 TCP 端口。</p><h3 id="2-端口被其他程序占用"><a href="#2-端口被其他程序占用" class="headerlink" title="2. 端口被其他程序占用"></a>2. 端口被其他程序占用</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ss -lntp | grep <span class="string">&#x27;:443&#x27;</span></span><br></pre></td></tr></table></figure><p>如果 443 已被 Nginx、Apache、3X-UI 或其他节点使用，通过 <code>sb -d</code> 把 Reality 改为一个未占用的 TCP 端口，并同步修改安全组与客户端。</p><h3 id="3-客户端参数不一致"><a href="#3-客户端参数不一致" class="headerlink" title="3. 客户端参数不一致"></a>3. 客户端参数不一致</h3><p>出现 <code>REALITY authentication failed</code> 时，重点核对：</p><ul><li>VPS 地址和端口</li><li>UUID</li><li>Flow 是否为 <code>xtls-rprx-vision</code></li><li>Reality 公钥</li><li>Short ID</li><li>SNI &#x2F; Server Name</li><li>客户端指纹是否为 <code>chrome</code></li></ul><p>不要把服务端的 Reality 私钥填入客户端。客户端使用的是公钥。</p><h3 id="4-修改服务端后仍使用旧链接"><a href="#4-修改服务端后仍使用旧链接" class="headerlink" title="4. 修改服务端后仍使用旧链接"></a>4. 修改服务端后仍使用旧链接</h3><p>运行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sb -n</span><br></pre></td></tr></table></figure><p>重新复制最新节点链接，删除客户端旧节点后再导入。</p><h3 id="5-系统时间不正确"><a href="#5-系统时间不正确" class="headerlink" title="5. 系统时间不正确"></a>5. 系统时间不正确</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">timedatectl set-ntp <span class="literal">true</span></span><br><span class="line">timedatectl status</span><br></pre></td></tr></table></figure><p>等待系统完成时间同步后重试。</p><h2 id="🔄-十、一键脚本和手动配置怎么选"><a href="#🔄-十、一键脚本和手动配置怎么选" class="headerlink" title="🔄 十、一键脚本和手动配置怎么选"></a>🔄 十、一键脚本和手动配置怎么选</h2><table><thead><tr><th>方式</th><th>优点</th><th>缺点</th></tr></thead><tbody><tr><td>一键脚本</td><td>安装快、自动生成参数、自动导出客户端</td><td>依赖第三方维护，配置内容较多</td></tr><tr><td>手动配置</td><td>结构透明、便于学习、容易精确控制</td><td>步骤更多，需要编辑 JSON</td></tr></tbody></table><p>只想尽快搭建节点，可以使用本文的一键脚本方案。希望真正理解每个参数，建议继续阅读：</p><a class="btn-beautify blue larger" href="/2026/05/05/sing-box-vps-vless-reality-vision-beginner/" title="sing-box VLESS + Reality 手动配置教程"><i class="fas fa-book"></i><span>sing-box VLESS + Reality 手动配置教程</span></a><h2 id="🔒-十一、安全提醒"><a href="#🔒-十一、安全提醒" class="headerlink" title="🔒 十一、安全提醒"></a>🔒 十一、安全提醒</h2><ul><li>不要公开节点链接、订阅地址、UUID、Reality 私钥和 Short ID。</li><li>不要在存有重要业务数据的服务器上直接运行陌生的一键脚本。</li><li>脚本和 sing-box 都会持续更新，执行前应查看项目 README 与近期变更。</li><li>节点只供自己管理的设备和合法用途使用，并遵守服务器所在地及使用地的法律法规。</li></ul><h2 id="📚-参考资料"><a href="#📚-参考资料" class="headerlink" title="📚 参考资料"></a>📚 参考资料</h2><ul><li><a href="https://github.com/fscarmen/sing-box">fscarmen&#x2F;sing-box 一键脚本项目</a></li><li><a href="https://sing-box.sagernet.org/installation/package-manager/">sing-box 官方安装文档</a></li><li><a href="https://sing-box.sagernet.org/configuration/inbound/vless/">sing-box 官方 VLESS 入站文档</a></li><li><a href="https://sing-box.sagernet.org/configuration/shared/tls/#reality-fields">sing-box 官方 Reality 配置文档</a></li></ul><hr><p>如果这篇教程对你有帮助，欢迎订阅 Skyline YouTube 频道。后续会继续更新 sing-box、VLESS Reality、Hysteria2 和 VPS 实操教程。</p><a class="btn-beautify red larger" href="https://www.youtube.com/@guo1986" title="订阅 Skyline YouTube 频道"><i class="fab fa-youtube"></i><span>订阅 Skyline YouTube 频道</span></a>]]>
    </content>
    <id>https://skylink9119.github.io/2026/07/21/sing-box-one-click-vless-reality-beginner/</id>
    <link href="https://skylink9119.github.io/2026/07/21/sing-box-one-click-vless-reality-beginner/"/>
    <published>2026-07-21T07:30:00.000Z</published>
    <summary>零基础搭建 sing-box VLESS + Reality + Vision 节点，使用第三方一键脚本完成安装，涵盖 VPS 准备、协议选择、端口放行、客户端导入、维护命令与故障排查。</summary>
    <title>🚀 搭建 sing-box 节点：一键脚本零基础详细教程（新手推荐）</title>
    <updated>2026-07-21T07:30:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Skyline</name>
      <email>sky13712559955@gmail.com</email>
    </author>
    <category term="技术教程" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/"/>
    <category term="网络链路" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/%E7%BD%91%E7%BB%9C%E9%93%BE%E8%B7%AF/"/>
    <category term="VPS" scheme="https://skylink9119.github.io/tags/VPS/"/>
    <category term="Cloudflare" scheme="https://skylink9119.github.io/tags/Cloudflare/"/>
    <category term="Hysteria2" scheme="https://skylink9119.github.io/tags/Hysteria2/"/>
    <category term="DNS" scheme="https://skylink9119.github.io/tags/DNS/"/>
    <category term="UFW" scheme="https://skylink9119.github.io/tags/UFW/"/>
    <category term="BBR" scheme="https://skylink9119.github.io/tags/BBR/"/>
    <category term="端口跳跃" scheme="https://skylink9119.github.io/tags/%E7%AB%AF%E5%8F%A3%E8%B7%B3%E8%B7%83/"/>
    <content>
      <![CDATA[<div class="video-container">  <iframe    src="https://www.youtube.com/embed/ELCVRcb8KfQ"    title="Hysteria2 服务端搭建教程：Cloudflare DNS + VPS 部署视频"    loading="lazy"    frameborder="0"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"    referrerpolicy="strict-origin-when-cross-origin"    allowfullscreen>  </iframe></div><style>.video-container {    position: relative;    width: 100%;    padding-top: 56.25%;    border-radius: 12px;    overflow: hidden;    box-shadow: 0 8px 20px rgba(0,0,0,0.1);    margin-bottom: 20px;}.video-container iframe {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;}</style><a class="btn-beautify red larger" href="https://www.youtube.com/watch?v=ELCVRcb8KfQ" title="在 YouTube 观看完整视频"><i class="fab fa-youtube"></i><span>在 YouTube 观看完整视频</span></a><a class="btn-beautify blue larger" href="https://www.youtube.com/@guo1986" title="订阅 Skyline YouTube 频道"><i class="fab fa-youtube"></i><span>订阅 Skyline YouTube 频道</span></a><p>本文记录如何使用自己的域名和 VPS 搭建 Hysteria2 服务端。示例中使用的子域名是：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hy2.example.com</span><br></pre></td></tr></table></figure><p>请把文中的域名、邮箱和 VPS IP 替换成你自己的真实信息。</p><p>本文只适合合法自用、远程办公、授权测试和个人网络环境优化。不要用于违法用途，也不要用于违反服务条款的场景。</p><span id="more"></span><h2 id="💡-一、准备工作"><a href="#💡-一、准备工作" class="headerlink" title="💡 一、准备工作"></a>💡 一、准备工作</h2><p>开始之前，你需要准备好以下内容：</p><ul><li>一个自己的域名；</li><li>一台 VPS，建议使用 Debian 12 或 Debian 13 纯净系统；</li><li>VPS 的公网 IPv4 地址；</li><li>可以 SSH 登录 VPS 的 root 权限；</li><li>域名 DNS 管理权限，例如 Cloudflare。</li></ul><p>本文默认使用的服务端域名是：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hy2.example.com</span><br></pre></td></tr></table></figure><p>后面所有命令里的 <code>hy2.example.com</code>、<code>your@email.com</code> 和 <code>你的VPS_IP</code> 都需要替换。</p><h2 id="🌐-二、进入-DNS-设置页面"><a href="#🌐-二、进入-DNS-设置页面" class="headerlink" title="🌐 二、进入 DNS 设置页面"></a>🌐 二、进入 DNS 设置页面</h2><p>先找到你的域名 DNS 设置页面。</p><p>如果你使用 Cloudflare，常见路径是：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">网站 -&gt; DNS -&gt; Records</span><br></pre></td></tr></table></figure><p>进入 DNS Records 页面后，准备添加一条新的 DNS 记录。</p><h2 id="🧭-三、添加子域名解析"><a href="#🧭-三、添加子域名解析" class="headerlink" title="🧭 三、添加子域名解析"></a>🧭 三、添加子域名解析</h2><p>添加一条 <code>A</code> 记录：</p><table><thead><tr><th>类型</th><th>名称</th><th>内容</th><th>TTL</th><th>代理状态</th></tr></thead><tbody><tr><td>A</td><td>hy2</td><td>你的 VPS IPv4 地址</td><td>Auto 或 300</td><td>DNS only &#x2F; 灰云</td></tr></tbody></table><p>示例：</p><table><thead><tr><th>类型</th><th>名称</th><th>内容</th><th>TTL</th><th>代理状态</th></tr></thead><tbody><tr><td>A</td><td>hy2</td><td>123.123.123.123</td><td>Auto</td><td>DNS only</td></tr></tbody></table><p>这里的最终访问域名就是：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hy2.example.com</span><br></pre></td></tr></table></figure><p>注意，Cloudflare 里一定不要开启橙云代理，要保持 <code>DNS only</code>，也就是灰云状态。</p><p>原因很简单：普通 Cloudflare CDN 不会直接代理 Hysteria2 的 UDP 443 流量。开启橙云后，客户端连接到的是 Cloudflare，而不是你的 VPS，Hysteria2 会连不上。</p><h2 id="⏳-四、等待-DNS-生效"><a href="#⏳-四、等待-DNS-生效" class="headerlink" title="⏳ 四、等待 DNS 生效"></a>⏳ 四、等待 DNS 生效</h2><p>添加 DNS 记录后，等待几分钟。</p><p>可以在本地电脑或 VPS 上测试：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ping hy2.example.com</span><br></pre></td></tr></table></figure><p>如果能解析到你的 VPS IPv4 地址，说明 DNS 已经生效。</p><p>如果暂时没有解析到，先等几分钟再试。DNS 生效时间和本地缓存、运营商缓存、域名服务商有关。</p><h2 id="🔐-五、SSH-登录-VPS"><a href="#🔐-五、SSH-登录-VPS" class="headerlink" title="🔐 五、SSH 登录 VPS"></a>🔐 五、SSH 登录 VPS</h2><p>DNS 准备好后，SSH 登录 VPS：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh root@你的VPS_IP</span><br></pre></td></tr></table></figure><p>示例：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh root@123.123.123.123</span><br></pre></td></tr></table></figure><p>登录后再继续执行下面的命令。</p><h2 id="🚀-六、更新系统并安装基础工具"><a href="#🚀-六、更新系统并安装基础工具" class="headerlink" title="🚀 六、更新系统并安装基础工具"></a>🚀 六、更新系统并安装基础工具</h2><p>先更新系统：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt update &amp;&amp; apt upgrade -y</span><br></pre></td></tr></table></figure><p>安装基础工具：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt install -y curl wget nano openssl ca-certificates nftables</span><br></pre></td></tr></table></figure><p>这些工具后面会用于下载安装脚本、编辑配置文件、生成随机密码和处理证书相关请求。</p><h2 id="⚡-七、开启-BBR-网络优化"><a href="#⚡-七、开启-BBR-网络优化" class="headerlink" title="⚡ 七、开启 BBR 网络优化"></a>⚡ 七、开启 BBR 网络优化</h2><p>BBR 不是 Hysteria2 的必需项，因为 Hysteria2 主要使用 UDP&#x2F;QUIC，<code>net.ipv4.tcp_congestion_control=bbr</code> 直接优化的是 TCP 拥塞控制。</p><p>不过 VPS 上通常还会跑 SSH、证书申请、网站伪装页、订阅服务或其他 TCP 服务，所以建议把 BBR 作为基础网络优化一起开启。</p><p>先写入 BBR 配置。注意：请点击代码块右上角的复制按钮完整复制，确保粘贴到终端时包含换行。下面这一段要从第一行复制到 <code>EOF</code>，作为一个整体执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">tee</span> /etc/sysctl.d/99-bbr.conf &gt; /dev/null &lt;&lt;<span class="string">&#x27;EOF&#x27;</span></span><br><span class="line">net.core.default_qdisc=fq</span><br><span class="line">net.ipv4.tcp_congestion_control=bbr</span><br><span class="line">EOF</span><br></pre></td></tr></table></figure><p>再应用系统参数：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sysctl --system</span><br></pre></td></tr></table></figure><p>检查是否生效：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">sysctl net.ipv4.tcp_congestion_control</span><br><span class="line">sysctl net.core.default_qdisc</span><br><span class="line">lsmod | grep bbr</span><br></pre></td></tr></table></figure><p>正常情况下可以看到类似结果：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">net.ipv4.tcp_congestion_control = bbr</span><br><span class="line">net.core.default_qdisc = fq</span><br><span class="line">tcp_bbr</span><br></pre></td></tr></table></figure><p>如果 <code>lsmod | grep bbr</code> 没有输出，但前面的 <code>sysctl</code> 已经显示 <code>bbr</code>，通常也可以继续部署。部分内核会把 BBR 编进内核，不一定以模块形式显示。</p><h2 id="🛡️-八、安装并配置-UFW-防火墙"><a href="#🛡️-八、安装并配置-UFW-防火墙" class="headerlink" title="🛡️ 八、安装并配置 UFW 防火墙"></a>🛡️ 八、安装并配置 UFW 防火墙</h2><p>Debian 可以直接安装 UFW：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">apt update</span><br><span class="line">apt install -y ufw</span><br></pre></td></tr></table></figure><p>先确认 SSH 实际监听端口：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sshd -T | grep <span class="string">&#x27;^port &#x27;</span></span><br></pre></td></tr></table></figure><p>如果输出是 <code>port 22</code>，再放行以下必要端口：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">ufw allow 22/tcp</span><br><span class="line">ufw allow 80/tcp</span><br><span class="line">ufw allow 443/udp</span><br></pre></td></tr></table></figure><p>启用 UFW：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ufw <span class="built_in">enable</span></span><br></pre></td></tr></table></figure><p>查看状态：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ufw status</span><br></pre></td></tr></table></figure><p>注意：一定要先放行 SSH 的实际端口，再执行 <code>ufw enable</code>。如果 SSH 不是 22 端口，请把命令中的 <code>22</code> 换成真实端口，否则可能会断开远程连接。</p><p>如果你的 VPS 服务商还有额外的安全组、防火墙或云防火墙，也需要同步放行：</p><ul><li><code>22/tcp</code>：SSH 登录；</li><li><code>80/tcp</code>：本文明确使用 ACME HTTP 验证申请证书；</li><li><code>443/udp</code>：Hysteria2 连接端口。</li></ul><h2 id="📦-九、安装-Hysteria2"><a href="#📦-九、安装-Hysteria2" class="headerlink" title="📦 九、安装 Hysteria2"></a>📦 九、安装 Hysteria2</h2><p>执行官方安装脚本：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">bash &lt;(curl -fsSL https://get.hy2.sh/)</span><br></pre></td></tr></table></figure><p>安装脚本会获取当前稳定版。安装后检查版本：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hysteria version</span><br></pre></td></tr></table></figure><p>建议服务端和客户端都使用当前稳定版。官方更新日志显示 2.8.2 包含重要安全修复；若版本更旧，请重新运行上面的官方脚本升级。</p><p>安装完成后，生成认证密码和混淆密码：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">AUTH=$(openssl rand -<span class="built_in">base64</span> 32)</span><br><span class="line">OBFS=$(openssl rand -<span class="built_in">base64</span> 32)</span><br></pre></td></tr></table></figure><p>这两个变量会写入 Hysteria2 配置文件。</p><h2 id="📝-十、创建-Hysteria2-配置文件"><a href="#📝-十、创建-Hysteria2-配置文件" class="headerlink" title="📝 十、创建 Hysteria2 配置文件"></a>📝 十、创建 Hysteria2 配置文件</h2><p>执行下面的命令创建配置文件：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cat</span> &gt; /etc/hysteria/config.yaml &lt;&lt;<span class="string">EOF</span></span><br><span class="line"><span class="string">listen: &quot;:443&quot;</span></span><br><span class="line"><span class="string"></span></span><br><span class="line"><span class="string">acme:</span></span><br><span class="line"><span class="string">  domains:</span></span><br><span class="line"><span class="string">    - hy2.example.com</span></span><br><span class="line"><span class="string">  email: your@email.com</span></span><br><span class="line"><span class="string">  type: http</span></span><br><span class="line"><span class="string"></span></span><br><span class="line"><span class="string">auth:</span></span><br><span class="line"><span class="string">  type: password</span></span><br><span class="line"><span class="string">  password: &quot;$AUTH&quot;</span></span><br><span class="line"><span class="string"></span></span><br><span class="line"><span class="string">obfs:</span></span><br><span class="line"><span class="string">  type: salamander</span></span><br><span class="line"><span class="string">  salamander:</span></span><br><span class="line"><span class="string">    password: &quot;$OBFS&quot;</span></span><br><span class="line"><span class="string"></span></span><br><span class="line"><span class="string">masquerade:</span></span><br><span class="line"><span class="string">  type: proxy</span></span><br><span class="line"><span class="string">  proxy:</span></span><br><span class="line"><span class="string">    url: &quot;https://www.microsoft.com/&quot;</span></span><br><span class="line"><span class="string">    rewriteHost: true</span></span><br><span class="line"><span class="string">EOF</span></span><br><span class="line"></span><br><span class="line"><span class="built_in">echo</span> <span class="string">&quot;auth password: <span class="variable">$AUTH</span>&quot;</span></span><br><span class="line"><span class="built_in">echo</span> <span class="string">&quot;obfs password: <span class="variable">$OBFS</span>&quot;</span></span><br></pre></td></tr></table></figure><p>这里需要替换两处：</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">hy2.example.com</span></span><br><span class="line"><span class="string">your@email.com</span></span><br></pre></td></tr></table></figure><p><code>hy2.example.com</code> 改成你自己的 Hysteria2 子域名，<code>your@email.com</code> 改成你的邮箱。</p><p>命令执行完成后，终端会输出两项重要信息：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">auth password: xxxxx</span><br><span class="line">obfs password: xxxxx</span><br></pre></td></tr></table></figure><p>请保存好这两个密码，后面配置客户端时会用到。</p><h2 id="✅-十一、检查配置文件"><a href="#✅-十一、检查配置文件" class="headerlink" title="✅ 十一、检查配置文件"></a>✅ 十一、检查配置文件</h2><p>写入配置后，先检查一下文件内容：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cat</span> -n /etc/hysteria/config.yaml</span><br></pre></td></tr></table></figure><p>重点确认下面几项：</p><ul><li>域名是否是你的真实域名；</li><li>邮箱是否填写正确；</li><li><code>acme.type</code> 是否为 <code>http</code>；</li><li><code>listen</code> 是否是 <code>&quot;:443&quot;</code>；</li><li><code>auth.password</code> 是否已经生成；</li><li><code>obfs.salamander.password</code> 是否已经生成；</li><li>YAML 缩进是否正常。</li></ul><h2 id="▶️-十二、启动并检查服务"><a href="#▶️-十二、启动并检查服务" class="headerlink" title="▶️ 十二、启动并检查服务"></a>▶️ 十二、启动并检查服务</h2><p>启用开机启动并立即启动 Hysteria2 服务：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl <span class="built_in">enable</span> --now hysteria-server.service</span><br></pre></td></tr></table></figure><p>查看服务状态：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl status hysteria-server.service</span><br></pre></td></tr></table></figure><p>如果正常运行，应该可以看到类似状态：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Active: active (running)</span><br></pre></td></tr></table></figure><p>这表示 Hysteria2 服务端已经启动成功。</p><h2 id="🔀-十三、可选：是否开启端口跳跃"><a href="#🔀-十三、可选：是否开启端口跳跃" class="headerlink" title="🔀 十三、可选：是否开启端口跳跃"></a>🔀 十三、可选：是否开启端口跳跃</h2><p>端口跳跃不是必选项。普通 VPS 如果 <code>443/udp</code> 稳定能连，建议继续保持前面的默认配置，不要一开始就放行一大段端口。</p><p>它主要适合下面这种情况：</p><ul><li>固定 UDP 端口晚高峰经常断流；</li><li><code>443/udp</code> 经常被限速，但换一个 UDP 端口后又恢复；</li><li>SSH、网页、TCP 服务正常，只有 Hysteria2 的 UDP 连接不稳定；</li><li>你使用的客户端明确支持 Hysteria2 端口范围或端口跳跃。</li></ul><p>如果要开启，可以把服务端配置里的：</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">listen:</span> <span class="string">&quot;:443&quot;</span></span><br></pre></td></tr></table></figure><p>改成一个 UDP 端口范围，例如：</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">listen:</span> <span class="string">&quot;:20000-20100&quot;</span></span><br></pre></td></tr></table></figure><p>Linux 版 Hysteria2 当前支持直接监听端口范围，并通过 nftables 或 iptables 建立转发规则。此功能需要 root 或 <code>CAP_NET_ADMIN</code> 权限；如果重启后日志提示防火墙权限错误，请先恢复单端口 <code>443</code>，不要盲目扩大权限。</p><p>然后放行这段 UDP 端口：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ufw allow 20000:20100/udp</span><br></pre></td></tr></table></figure><p>如果 VPS 服务商后台还有安全组、防火墙或云防火墙，也要同步放行：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">20000-20100/udp</span><br></pre></td></tr></table></figure><p>改完后重启服务：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">systemctl restart hysteria-server.service</span><br><span class="line">systemctl status hysteria-server.service</span><br></pre></td></tr></table></figure><p>客户端配置也要对应改成端口范围：</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">server:</span> <span class="string">hy2.example.com:20000-20100</span></span><br><span class="line"></span><br><span class="line"><span class="attr">transport:</span></span><br><span class="line">  <span class="attr">udp:</span></span><br><span class="line">    <span class="attr">minHopInterval:</span> <span class="string">15s</span></span><br><span class="line">    <span class="attr">maxHopInterval:</span> <span class="string">45s</span></span><br></pre></td></tr></table></figure><p>如果是手机图形客户端，要确认它是否支持 <code>20000-20100</code> 这种端口范围。客户端不支持的话，就不要开启端口跳跃，继续使用单端口 <code>443/udp</code> 更稳。</p><p>注意：端口跳跃不能解决 Cloudflare 橙云代理问题。Hysteria2 仍然需要 Cloudflare DNS 保持 <code>DNS only</code>，也就是灰云。</p><h2 id="🛠️-十四、常见问题排查"><a href="#🛠️-十四、常见问题排查" class="headerlink" title="🛠️ 十四、常见问题排查"></a>🛠️ 十四、常见问题排查</h2><h3 id="1-服务没有启动成功"><a href="#1-服务没有启动成功" class="headerlink" title="1. 服务没有启动成功"></a>1. 服务没有启动成功</h3><p>查看服务日志：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">journalctl --no-pager -e -u hysteria-server.service</span><br></pre></td></tr></table></figure><p>优先检查：</p><ul><li>DNS 是否已经解析到 VPS；</li><li>Cloudflare 是否保持灰云；</li><li>VPS 防火墙是否放行 <code>80/tcp</code> 和 <code>443/udp</code>；</li><li>如果开启了端口跳跃，VPS 防火墙和云厂商安全组是否放行对应的 UDP 端口范围；</li><li>配置文件缩进是否正确；</li><li>邮箱和域名是否填写正确。</li></ul><h3 id="2-客户端无法连接"><a href="#2-客户端无法连接" class="headerlink" title="2. 客户端无法连接"></a>2. 客户端无法连接</h3><p>先检查 UFW：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ufw status</span><br></pre></td></tr></table></figure><p>确认里面有：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">443/udp</span><br></pre></td></tr></table></figure><p>如果你开启了端口跳跃，还要确认里面有对应的 UDP 端口范围，例如：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">20000:20100/udp</span><br></pre></td></tr></table></figure><p>然后再检查 Cloudflare DNS 记录，代理状态必须是：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">DNS only</span><br></pre></td></tr></table></figure><p>也就是灰云，不能是橙云。</p><h3 id="3-域名能-ping-通但服务仍然连不上"><a href="#3-域名能-ping-通但服务仍然连不上" class="headerlink" title="3. 域名能 ping 通但服务仍然连不上"></a>3. 域名能 ping 通但服务仍然连不上</h3><p><code>ping</code> 只能说明域名解析到了某个 IP，并不代表 UDP 443 一定通。</p><p>继续检查：</p><ul><li>VPS 系统防火墙；</li><li>VPS 服务商安全组；</li><li>Hysteria2 服务状态；</li><li>Hysteria2 日志；</li><li>客户端里的认证密码和混淆密码是否填写正确。</li><li>如果开启了端口跳跃，客户端端口范围是否和服务端 <code>listen</code> 范围一致。</li></ul><h2 id="✅-总结"><a href="#✅-总结" class="headerlink" title="✅ 总结"></a>✅ 总结</h2><p>整个流程可以概括为：</p><ol><li>在 Cloudflare 添加 <code>hy2</code> 的 A 记录；</li><li>代理状态保持 <code>DNS only</code>，不要开启橙云；</li><li>等待 DNS 解析生效；</li><li>SSH 登录 VPS；</li><li>安装基础工具；</li><li>开启 BBR 基础网络优化；</li><li>安装 UFW，并放行 <code>22/tcp</code>、<code>80/tcp</code>、<code>443/udp</code>；</li><li>安装 Hysteria2；</li><li>写入 <code>/etc/hysteria/config.yaml</code>；</li><li>重启并检查 <code>hysteria-server.service</code>。</li></ol><p>如果你的网络环境对固定 UDP 端口有限速或阻断，再考虑开启端口跳跃；如果 <code>443/udp</code> 已经稳定，就不需要额外配置。</p><p>最后服务状态显示：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Active: active (running)</span><br></pre></td></tr></table></figure><p>就说明 Hysteria2 服务端已经正常运行，可以继续配置客户端。</p><h2 id="📺-观看配套视频"><a href="#📺-观看配套视频" class="headerlink" title="📺 观看配套视频"></a>📺 观看配套视频</h2><p>如果你更习惯跟着画面操作，可以观看本教程的完整视频。视频中会演示 Cloudflare DNS、VPS 命令和 Hysteria2 配置过程。</p><a class="btn-beautify red larger" href="https://www.youtube.com/watch?v=ELCVRcb8KfQ" title="在 YouTube 观看 Hysteria2 完整教程"><i class="fab fa-youtube"></i><span>在 YouTube 观看 Hysteria2 完整教程</span></a><a class="btn-beautify blue larger" href="https://www.youtube.com/@guo1986" title="订阅 Skyline，获取更多 VPS 教程"><i class="fab fa-youtube"></i><span>订阅 Skyline，获取更多 VPS 教程</span></a><h2 id="📚-官方参考资料"><a href="#📚-官方参考资料" class="headerlink" title="📚 官方参考资料"></a>📚 官方参考资料</h2><ul><li><a href="https://v2.hysteria.network/zh/docs/getting-started/Server/">Hysteria2 官方服务端教程</a></li><li><a href="https://v2.hysteria.network/zh/docs/getting-started/Installation/">Hysteria2 官方安装说明</a></li><li><a href="https://v2.hysteria.network/zh/docs/advanced/Full-Server-Config/">Hysteria2 服务端完整配置</a></li><li><a href="https://v2.hysteria.network/zh/docs/advanced/Port-Hopping/">Hysteria2 端口跳跃说明</a></li><li><a href="https://v2.hysteria.network/docs/Changelog/">Hysteria2 更新日志</a></li></ul>]]>
    </content>
    <id>https://skylink9119.github.io/2026/06/15/hysteria2-cloudflare-dns-vps/</id>
    <link href="https://skylink9119.github.io/2026/06/15/hysteria2-cloudflare-dns-vps/"/>
    <published>2026-06-15T14:47:56.000Z</published>
    <summary>从 Cloudflare DNS 灰云解析开始，在 Debian VPS 上安装和配置 Hysteria2，涵盖自动证书、UFW、BBR、服务检查、故障排查与可选端口跳跃。</summary>
    <title>🚀 Hysteria2 服务端搭建教程：Cloudflare DNS、VPS 与端口跳跃</title>
    <updated>2026-07-20T02:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Skyline</name>
      <email>sky13712559955@gmail.com</email>
    </author>
    <category term="技术教程" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/"/>
    <category term="网络链路" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/%E7%BD%91%E7%BB%9C%E9%93%BE%E8%B7%AF/"/>
    <category term="VPS" scheme="https://skylink9119.github.io/tags/VPS/"/>
    <category term="Debian" scheme="https://skylink9119.github.io/tags/Debian/"/>
    <category term="Reality协议" scheme="https://skylink9119.github.io/tags/Reality%E5%8D%8F%E8%AE%AE/"/>
    <category term="VLESS" scheme="https://skylink9119.github.io/tags/VLESS/"/>
    <category term="Vision" scheme="https://skylink9119.github.io/tags/Vision/"/>
    <category term="sing-box" scheme="https://skylink9119.github.io/tags/sing-box/"/>
    <content>
      <![CDATA[<div class="video-container">  <iframe    src="https://www.youtube.com/embed/h67zIOeu6x0"    title="sing-box VPS 部署 VLESS Reality Vision 新手视频教程"    loading="lazy"    frameborder="0"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"    allowfullscreen>  </iframe></div><style>.video-container {    position: relative;    width: 100%;    padding-top: 56.25%;    border-radius: 12px;    overflow: hidden;    box-shadow: 0 8px 20px rgba(0,0,0,0.1);    margin-bottom: 20px;}.video-container iframe {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;}</style><a class="btn-beautify red larger" href="https://www.youtube.com/watch?v=h67zIOeu6x0" title="在 YouTube 观看完整视频"><i class="fab fa-youtube"></i><span>在 YouTube 观看完整视频</span></a><a class="btn-beautify blue larger" href="https://www.youtube.com/@guo1986" title="订阅 Skyline YouTube 频道"><i class="fab fa-youtube"></i><span>订阅 Skyline YouTube 频道</span></a><h2 id="📖-前言"><a href="#📖-前言" class="headerlink" title="📖 前言"></a>📖 前言</h2><p>如果你刚开始折腾 VPS 节点，不想一上来就碰域名、证书、Nginx、CDN、面板，那么 <strong>sing-box + VLESS + Reality + Vision</strong> 是一个很适合入门的组合。</p><p>它的优点很直接：</p><ul><li>不需要域名</li><li>不需要申请 TLS 证书</li><li>服务端只跑 sing-box，一个配置文件就能启动</li><li><code>Reality</code> 负责伪装真实 TLS 握手</li><li><code>Vision</code> 负责 VLESS 在 TCP 场景下的高性能传输</li></ul><p>这篇教程会从一台全新的 Debian &#x2F; Ubuntu VPS 开始，带你完成安装、生成密钥、写服务端配置、启动服务、填写客户端参数和排错。</p><blockquote><p>本教程基于 sing-box 1.9+ 版本编写。sing-box 语法迭代较快，请尽量使用最新版服务端和客户端。</p></blockquote><span id="more"></span><h2 id="🎯-先说结论"><a href="#🎯-先说结论" class="headerlink" title="🎯 先说结论"></a>🎯 先说结论</h2><p>最终我们要部署的是：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">VLESS + TCP(RAW) + REALITY + xtls-rprx-vision</span><br></pre></td></tr></table></figure><p>在 sing-box 配置里，最关键的几个字段是：</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;vless&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;flow&quot;</span><span class="punctuation">:</span> <span class="string">&quot;xtls-rprx-vision&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;tls&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;reality&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><p>这里容易混淆的地方是：<strong>Vision 不是一个单独协议，也不是传输层，而是 VLESS 的 <code>flow</code> 参数</strong>。</p><h2 id="🖥️-一、准备条件"><a href="#🖥️-一、准备条件" class="headerlink" title="🖥️ 一、准备条件"></a>🖥️ 一、准备条件</h2><p>你需要准备：</p><ul><li>一台 VPS，推荐 Debian 12 或 Ubuntu 22.04 &#x2F; 24.04</li><li>一个可以 SSH 登录 VPS 的终端</li><li>VPS 公网 IP</li><li>放行一个 TCP 端口，本文默认使用 <code>443</code></li></ul><p>本文不需要：</p><ul><li>不需要域名</li><li>不需要 Cloudflare</li><li>不需要申请证书</li><li>不需要 3x-ui &#x2F; x-ui 面板</li></ul><blockquote><p>注意：请遵守你所在地区和服务商的使用规则。本文仅用于自有服务器远程访问、加密传输和网络调试场景。</p></blockquote><h2 id="🔄-二、更新系统"><a href="#🔄-二、更新系统" class="headerlink" title="🔄 二、更新系统"></a>🔄 二、更新系统</h2><p>SSH 登录 VPS 后，先更新系统。</p><p>如果你是 <code>root</code> 用户，按顺序一条一条执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt-get update</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt-get full-upgrade -y</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt-get install -y curl wget nano ca-certificates gnupg lsb-release ufw</span><br></pre></td></tr></table></figure><p>Reality 对服务端和客户端时间差比较敏感，时间明显不准时可能会连接失败。先查看时间状态：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">timedatectl</span><br></pre></td></tr></table></figure><p>重点看 <code>Local time</code>、<code>Universal time</code> 和 <code>System clock synchronized</code>。如果时间明显不对，优先到 VPS 服务商面板里检查系统时间；如果你用的是 LXC &#x2F; OpenVZ &#x2F; 容器环境，系统时间通常由宿主机控制，容器内不一定能直接修改。</p><h2 id="📦-三、安装-sing-box"><a href="#📦-三、安装-sing-box" class="headerlink" title="📦 三、安装 sing-box"></a>📦 三、安装 sing-box</h2><p>sing-box 官方提供了安装脚本。Debian &#x2F; Ubuntu 用户可以直接执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -fsSL https://sing-box.app/install.sh | sh</span><br></pre></td></tr></table></figure><p>安装完成后查看版本：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sing-box version</span><br></pre></td></tr></table></figure><p>如果能看到版本号，就说明安装成功。以后需要升级 sing-box，也可以再次运行上面的官方安装脚本。</p><h2 id="⚡-四、开启-BBR"><a href="#⚡-四、开启-BBR" class="headerlink" title="⚡ 四、开启 BBR"></a>⚡ 四、开启 BBR</h2><p>BBR 不是必须项，但大多数 VPS 上开启后 TCP 体验会更好。</p><p>先写入 BBR 配置。注意：请点击代码块右上角的复制按钮完整复制，确保粘贴到终端时包含换行。下面这一段要从第一行复制到 <code>EOF</code>，作为一个整体执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">tee</span> /etc/sysctl.d/99-bbr.conf &gt; /dev/null &lt;&lt;<span class="string">&#x27;EOF&#x27;</span></span><br><span class="line">net.core.default_qdisc=fq</span><br><span class="line">net.ipv4.tcp_congestion_control=bbr</span><br><span class="line">EOF</span><br></pre></td></tr></table></figure><p>再应用系统参数：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sysctl --system</span><br></pre></td></tr></table></figure><p>检查：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sysctl net.ipv4.tcp_congestion_control</span><br></pre></td></tr></table></figure><p>看到类似结果即可：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">net.ipv4.tcp_congestion_control = bbr</span><br></pre></td></tr></table></figure><h2 id="🔑-五、生成-UUID、Reality-密钥和-short-id"><a href="#🔑-五、生成-UUID、Reality-密钥和-short-id" class="headerlink" title="🔑 五、生成 UUID、Reality 密钥和 short_id"></a>🔑 五、生成 UUID、Reality 密钥和 short_id</h2><p>VLESS + Reality 需要 4 个关键参数：</p><ul><li><code>uuid</code>：用户 ID，客户端和服务端必须一致</li><li><code>private_key</code>：Reality 私钥，只放在服务端</li><li><code>public_key</code>：Reality 公钥，只放在客户端</li><li><code>short_id</code>：短 ID，客户端和服务端必须一致</li></ul><p>先生成 UUID：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sing-box generate uuid</span><br></pre></td></tr></table></figure><p>示例输出：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">0d72f5a1-1111-4a22-8888-123456789abc</span><br></pre></td></tr></table></figure><p>再生成 Reality 密钥对：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sing-box generate reality-keypair</span><br></pre></td></tr></table></figure><p>示例输出：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">PrivateKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</span><br><span class="line">PublicKey: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy</span><br></pre></td></tr></table></figure><p>最后生成 short_id：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sing-box generate rand --hex 8</span><br></pre></td></tr></table></figure><p>示例输出：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">7f3a91c6d8e24b10</span><br></pre></td></tr></table></figure><p>如果你的 sing-box 版本没有 <code>generate rand</code>，也可以用：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">openssl rand -hex 8</span><br></pre></td></tr></table></figure><p>把这 4 个值先记下来：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">UUID        = 你的 UUID</span><br><span class="line">PrivateKey  = 服务端 Reality 私钥</span><br><span class="line">PublicKey   = 客户端 Reality 公钥</span><br><span class="line">Short ID    = short_id</span><br></pre></td></tr></table></figure><blockquote><p>千万不要把 <code>PrivateKey</code> 发给别人。客户端只需要 <code>PublicKey</code>。</p></blockquote><h2 id="🌐-六、选择-Reality-伪装目标"><a href="#🌐-六、选择-Reality-伪装目标" class="headerlink" title="🌐 六、选择 Reality 伪装目标"></a>🌐 六、选择 Reality 伪装目标</h2><p>Reality 需要一个真实可访问的网站作为握手目标。新手可以先用：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">addons.mozilla.org</span><br></pre></td></tr></table></figure><p>在 VPS 上测试一下：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -I https://addons.mozilla.org --connect-timeout 5</span><br></pre></td></tr></table></figure><p>能看到 HTTP 响应头，说明 VPS 可以访问这个目标。</p><p>你也可以换成其他大型 HTTPS 网站，但建议满足这几点：</p><ul><li>支持 TLS 1.3</li><li>从你的 VPS 能正常访问</li><li>域名和证书正常</li><li>不要使用奇怪的小站或自建站</li></ul><p>本文后面的配置统一使用：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">server_name = addons.mozilla.org</span><br></pre></td></tr></table></figure><p>本文示例使用 <code>addons.mozilla.org</code>。实际搭建前必须先在 VPS 上测试目标网站是否可以正常连接；如果测试超时，请更换成 VPS 能稳定访问、支持 TLS 1.3 的目标域名。更换时，服务端的 <code>server_name</code>、<code>handshake.server</code> 与客户端的 SNI 必须保持一致。</p><h2 id="📝-七、写入服务端配置"><a href="#📝-七、写入服务端配置" class="headerlink" title="📝 七、写入服务端配置"></a>📝 七、写入服务端配置</h2><p>打开 sing-box 配置文件：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">nano /etc/sing-box/config.json</span><br></pre></td></tr></table></figure><p>把下面这一整份 JSON 写入 <code>/etc/sing-box/config.json</code>。如果文件里已经有默认配置，比如 <code>shadowsocks</code>、<code>mixed</code>、<code>tun</code> 等旧入站内容，不要和下面的配置混在一起；写入前先清空原文件内容，并替换 3 个地方：</p><ul><li><code>替换成你的UUID</code></li><li><code>替换成你的Reality私钥</code></li><li><code>替换成你的ShortID</code></li></ul><p>这里 <strong>不用填 VPS IP</strong>。服务端的 <code>&quot;listen&quot;: &quot;0.0.0.0&quot;</code> 表示监听这台 VPS 的所有公网和内网地址，保持不变即可。VPS IP 只填在后面的客户端配置里。</p><p>注意：这一段是 <strong>服务端配置</strong>，要写在 VPS 的 <code>/etc/sing-box/config.json</code> 里。服务端配置里应该看到 <code>inbounds</code> 里的 <code>&quot;type&quot;: &quot;vless&quot;</code> 和 <code>private_key</code>。如果你看到的是 <code>&quot;type&quot;: &quot;mixed&quot;</code>、<code>&quot;tag&quot;: &quot;mixed-in&quot;</code>、<code>&quot;server&quot;: &quot;你的VPS公网IP&quot;</code>、<code>public_key</code> 或 <code>&quot;final&quot;: &quot;proxy&quot;</code>，那是后面的客户端配置，不能粘到 VPS 服务端。</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;log&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;level&quot;</span><span class="punctuation">:</span> <span class="string">&quot;info&quot;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;timestamp&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span></span><br><span class="line">  <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;inbounds&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">    <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;vless&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;vless-reality-in&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;listen&quot;</span><span class="punctuation">:</span> <span class="string">&quot;0.0.0.0&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;listen_port&quot;</span><span class="punctuation">:</span> <span class="number">443</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;users&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">        <span class="punctuation">&#123;</span></span><br><span class="line">          <span class="attr">&quot;name&quot;</span><span class="punctuation">:</span> <span class="string">&quot;user1&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;uuid&quot;</span><span class="punctuation">:</span> <span class="string">&quot;替换成你的UUID&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;flow&quot;</span><span class="punctuation">:</span> <span class="string">&quot;xtls-rprx-vision&quot;</span></span><br><span class="line">        <span class="punctuation">&#125;</span></span><br><span class="line">      <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;tls&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;server_name&quot;</span><span class="punctuation">:</span> <span class="string">&quot;addons.mozilla.org&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;reality&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">          <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;handshake&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">            <span class="attr">&quot;server&quot;</span><span class="punctuation">:</span> <span class="string">&quot;addons.mozilla.org&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;server_port&quot;</span><span class="punctuation">:</span> <span class="number">443</span></span><br><span class="line">          <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;private_key&quot;</span><span class="punctuation">:</span> <span class="string">&quot;替换成你的Reality私钥&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;short_id&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">            <span class="string">&quot;替换成你的ShortID&quot;</span></span><br><span class="line">          <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;max_time_difference&quot;</span><span class="punctuation">:</span> <span class="string">&quot;1m&quot;</span></span><br><span class="line">        <span class="punctuation">&#125;</span></span><br><span class="line">      <span class="punctuation">&#125;</span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;outbounds&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">    <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;route&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;final&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">  <span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><p>这里解释几个重点：</p><ul><li><code>listen_port</code>：服务端监听端口，本文用 <code>443</code></li><li><code>uuid</code>：VLESS 用户 ID</li><li><code>flow</code>：必须填 <code>xtls-rprx-vision</code></li><li><code>server_name</code>：客户端填写的 SNI，也就是伪装目标域名</li><li><code>handshake.server</code>：Reality 实际转发握手的目标站</li><li><code>private_key</code>：只写服务端 Reality 私钥</li><li><code>short_id</code>：客户端也要填写同一个值</li></ul><p>如果你的 VPS 同时有 IPv6，并且你希望监听 IPv4 + IPv6，可以把：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&quot;listen&quot;: &quot;0.0.0.0&quot;</span><br></pre></td></tr></table></figure><p>改成：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&quot;listen&quot;: &quot;::&quot;</span><br></pre></td></tr></table></figure><p>新手优先用 <code>0.0.0.0</code>，排错更直观。</p><h2 id="✅-八、检查配置并启动服务"><a href="#✅-八、检查配置并启动服务" class="headerlink" title="✅ 八、检查配置并启动服务"></a>✅ 八、检查配置并启动服务</h2><p>编辑时看到 JSON 被挤成很长一行，或者自动折到下一行，是正常显示效果，不代表配置错了。不要靠肉眼判断，写入后用下面的命令检查。</p><p>下面几步建议一条一条执行，不要把多条命令粘在同一行。</p><p>第一步，检查配置文件：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sing-box check -c /etc/sing-box/config.json</span><br></pre></td></tr></table></figure><p>如果没有报错，第二步，格式化配置：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sing-box format -w -c /etc/sing-box/config.json</span><br></pre></td></tr></table></figure><p>第三步，设置开机自启并重启服务：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl <span class="built_in">enable</span> sing-box</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl restart sing-box</span><br></pre></td></tr></table></figure><p>第四步，查看运行状态：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl status sing-box --no-pager</span><br></pre></td></tr></table></figure><p>看到 <code>Active: active (running)</code>，并且日志里有 <code>tcp server started at 0.0.0.0:443</code>，说明 sing-box 已经启动成功。如果 <code>Loaded</code> 那一行显示 <code>disabled</code>，表示当前服务虽然在运行，但还没有设置开机自启，再执行一次 <code>systemctl enable sing-box</code> 即可。</p><p>如果误把几条命令粘在同一行，可能会看到 <code>unknown flag: --no-pager</code>。这不是配置错了，只是 shell 把后面的命令当成前一条命令的参数了，重新按上面四步分开执行即可。</p><p>查看日志：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">journalctl -u sing-box --output <span class="built_in">cat</span> -f</span><br></pre></td></tr></table></figure><p>检查端口是否监听：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ss -tlnp | grep <span class="string">&#x27;:443&#x27;</span></span><br></pre></td></tr></table></figure><p>正常情况下，你应该能看到 sing-box 正在监听 <code>443</code>。</p><h2 id="🧱-九、放行防火墙端口"><a href="#🧱-九、放行防火墙端口" class="headerlink" title="🧱 九、放行防火墙端口"></a>🧱 九、放行防火墙端口</h2><p>如果你使用 <code>ufw</code>，先确认 SSH 端口已经放行。若执行 <code>ufw</code> 时提示 <code>ufw: command not found</code>，说明系统里还没安装 <code>ufw</code>，可以先安装。下面两条命令要分开执行，不要粘在同一行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt-get update</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt-get install -y ufw</span><br></pre></td></tr></table></figure><p>如果误粘成 <code>apt-get update apt-get install -y ufw</code>，会看到 <code>E: The update command takes no arguments</code>。这不是系统坏了，重新按上面两条分别执行即可。</p><p>如果你用的是容器环境，系统可能不支持 <code>ufw</code>。这种情况下可以先跳过系统内防火墙，只去服务商后台安全组放行 <code>22/tcp</code> 和 <code>443/tcp</code>。</p><p>默认 SSH 是 <code>22</code>：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ufw allow 22/tcp</span><br></pre></td></tr></table></figure><p>放行 sing-box 节点端口：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ufw allow 443/tcp</span><br></pre></td></tr></table></figure><p>启用防火墙：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ufw <span class="built_in">enable</span></span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ufw status</span><br></pre></td></tr></table></figure><p>如果你改过 SSH 端口，比如 SSH 是 <code>2222</code>，那就必须放行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ufw allow 2222/tcp</span><br></pre></td></tr></table></figure><blockquote><p>云厂商后台的安全组也要同步放行 <code>443/tcp</code>。很多连接超时不是 sing-box 配置错了，而是云防火墙没开。</p></blockquote><h2 id="📱-十、客户端怎么填"><a href="#📱-十、客户端怎么填" class="headerlink" title="📱 十、客户端怎么填"></a>📱 十、客户端怎么填</h2><p>不同客户端界面不一样，但核心参数是一样的。</p><h3 id="图形客户端通用参数"><a href="#图形客户端通用参数" class="headerlink" title="图形客户端通用参数"></a>图形客户端通用参数</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">协议：VLESS</span><br><span class="line">地址 / Server：你的 VPS 公网 IP</span><br><span class="line">端口 / Port：443</span><br><span class="line">UUID：服务端生成的 UUID</span><br><span class="line">传输 / Network：TCP / RAW</span><br><span class="line">加密 / Encryption：none</span><br><span class="line">Flow：xtls-rprx-vision</span><br><span class="line">TLS：开启</span><br><span class="line">TLS 类型：Reality</span><br><span class="line">SNI / Server Name：addons.mozilla.org</span><br><span class="line">Fingerprint / uTLS：chrome</span><br><span class="line">Public Key：服务端生成的 PublicKey</span><br><span class="line">Short ID：服务端配置里的 short_id</span><br><span class="line">ALPN：留空</span><br></pre></td></tr></table></figure><p>注意两点：</p><ol><li><code>地址 / Server</code> 填你的 VPS IP，不是 <code>addons.mozilla.org</code></li><li><code>SNI / Server Name</code> 才填 <code>addons.mozilla.org</code></li></ol><p>这两个填反了，是新手最常见的错误。</p><h3 id="桌面端-sing-box-客户端示例"><a href="#桌面端-sing-box-客户端示例" class="headerlink" title="桌面端 sing-box 客户端示例"></a>桌面端 sing-box 客户端示例</h3><p>如果你在电脑本地也用 sing-box，可以参考下面这份配置。这一段适合 macOS &#x2F; Windows &#x2F; Linux 桌面端使用，因为它只是在本机开一个 <code>127.0.0.1:7890</code> 代理端口。</p><p>注意：这不是手机端整机代理配置。手机端如果直接照抄这个 <code>mixed-in</code> 配置，客户端可能显示已经启动，但系统流量不会自动走代理。</p><p>把这几个值替换掉：</p><ul><li><code>你的VPS公网IP</code></li><li><code>你的UUID</code></li><li><code>你的Reality公钥</code></li><li><code>你的ShortID</code></li></ul><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;log&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;level&quot;</span><span class="punctuation">:</span> <span class="string">&quot;info&quot;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;timestamp&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span></span><br><span class="line">  <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;inbounds&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">    <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;mixed&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;mixed-in&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;listen&quot;</span><span class="punctuation">:</span> <span class="string">&quot;127.0.0.1&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;listen_port&quot;</span><span class="punctuation">:</span> <span class="number">7890</span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;outbounds&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">    <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;vless&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;proxy&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;server&quot;</span><span class="punctuation">:</span> <span class="string">&quot;你的VPS公网IP&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;server_port&quot;</span><span class="punctuation">:</span> <span class="number">443</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;uuid&quot;</span><span class="punctuation">:</span> <span class="string">&quot;你的UUID&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;flow&quot;</span><span class="punctuation">:</span> <span class="string">&quot;xtls-rprx-vision&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;tls&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;server_name&quot;</span><span class="punctuation">:</span> <span class="string">&quot;addons.mozilla.org&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;utls&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">          <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;fingerprint&quot;</span><span class="punctuation">:</span> <span class="string">&quot;chrome&quot;</span></span><br><span class="line">        <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;reality&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">          <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;public_key&quot;</span><span class="punctuation">:</span> <span class="string">&quot;你的Reality公钥&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;short_id&quot;</span><span class="punctuation">:</span> <span class="string">&quot;你的ShortID&quot;</span></span><br><span class="line">        <span class="punctuation">&#125;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;packet_encoding&quot;</span><span class="punctuation">:</span> <span class="string">&quot;xudp&quot;</span></span><br><span class="line">    <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;route&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;final&quot;</span><span class="punctuation">:</span> <span class="string">&quot;proxy&quot;</span></span><br><span class="line">  <span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><p>启动客户端后，把系统代理或浏览器代理指向：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">127.0.0.1:7890</span><br></pre></td></tr></table></figure><p>如果客户端日志里只看到终端测试请求，比如 <code>api.ipify.org:443</code>，但浏览器没有任何连接记录，说明浏览器还没有走这个本地代理。</p><h3 id="手机端-sing-box-使用要点"><a href="#手机端-sing-box-使用要点" class="headerlink" title="手机端 sing-box 使用要点"></a>手机端 sing-box 使用要点</h3><p>手机端不要只看 <code>sing-box started</code>。关键是确认它有没有用 VPN &#x2F; TUN 模式接管系统流量。</p><p>正常情况下，手机端启动后应该出现系统 VPN 图标，sing-box 日志里也应该能看到手机浏览器或 App 发出的连接。如果没有 VPN 图标，或者日志里没有任何新的访问记录，通常说明手机流量没有进入 sing-box。</p><p>手机端建议优先使用客户端图形界面填写上面的“图形客户端通用参数”，或使用客户端提供的导入功能。不要把桌面端的 <code>127.0.0.1:7890</code> 当成手机整机代理来用。</p><p>如果手机端提供运行模式，优先选择类似下面的模式：</p><ul><li>VPN</li><li>TUN</li><li>全局代理 &#x2F; Global</li></ul><p>如果只提供本地 HTTP &#x2F; SOCKS 代理模式，那就还需要在系统 Wi-Fi 代理里手动填写手机本机代理地址；这个方式容易漏掉 App 流量，新手更推荐直接用 VPN &#x2F; TUN 模式。</p><h2 id="🧪-十一、测试是否成功"><a href="#🧪-十一、测试是否成功" class="headerlink" title="🧪 十一、测试是否成功"></a>🧪 十一、测试是否成功</h2><p>桌面端客户端连接后，打开终端测试：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -x socks5h://127.0.0.1:7890 https://api.ipify.org</span><br></pre></td></tr></table></figure><p>如果返回的是你的 VPS 出口 IP，说明客户端到 VPS 的代理链路已经工作。此时如果浏览器仍然没网，重点检查浏览器或系统代理是否真的指向 <code>127.0.0.1:7890</code>。</p><p>也可以测试 HTTPS：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -x socks5h://127.0.0.1:7890 https://www.google.com -I</span><br></pre></td></tr></table></figure><p>手机端测试时，直接用手机浏览器打开：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">https://api.ipify.org</span><br></pre></td></tr></table></figure><p>如果显示的是 VPS IP，说明手机端已经走代理。如果显示的还是手机运营商或家里宽带 IP，说明手机端 VPN &#x2F; TUN 没有接管流量，优先回到客户端里检查运行模式和配置是否启用。</p><p>服务端日志里如果有连接记录，也说明入站正在工作：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">journalctl -u sing-box --output <span class="built_in">cat</span> -f</span><br></pre></td></tr></table></figure><h2 id="❌-十二、常见错误排查"><a href="#❌-十二、常见错误排查" class="headerlink" title="❌ 十二、常见错误排查"></a>❌ 十二、常见错误排查</h2><h3 id="1-客户端连接超时"><a href="#1-客户端连接超时" class="headerlink" title="1. 客户端连接超时"></a>1. 客户端连接超时</h3><p>优先检查端口：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ss -tlnp | grep <span class="string">&#x27;:443&#x27;</span></span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ufw status</span><br></pre></td></tr></table></figure><p>再检查云厂商安全组是否放行了 <code>443/tcp</code>。</p><p>如果端口没监听，说明 sing-box 没启动成功：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl status sing-box --no-pager</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">journalctl -u sing-box --output <span class="built_in">cat</span> -e</span><br></pre></td></tr></table></figure><h3 id="2-reality-verification-failed"><a href="#2-reality-verification-failed" class="headerlink" title="2. reality verification failed"></a>2. reality verification failed</h3><p>通常是这些参数不一致：</p><ul><li>客户端 <code>PublicKey</code> 填错</li><li>服务端 <code>PrivateKey</code> 填错</li><li><code>short_id</code> 不一致</li><li><code>server_name</code> &#x2F; SNI 不一致</li><li>客户端时间或服务端时间偏差太大</li><li>客户端 sing-box 核心太旧</li></ul><p>先检查时间：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">timedatectl</span><br></pre></td></tr></table></figure><p>再升级 sing-box，按顺序一条一条执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt-get update</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt-get install --only-upgrade sing-box</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl restart sing-box</span><br></pre></td></tr></table></figure><h3 id="3-TLS-handshake-invalid-connection-processed-invalid-connection"><a href="#3-TLS-handshake-invalid-connection-processed-invalid-connection" class="headerlink" title="3. TLS handshake invalid connection &#x2F; processed invalid connection"></a>3. TLS handshake invalid connection &#x2F; processed invalid connection</h3><p>服务端日志里偶尔出现 <code>TLS handshake invalid connection</code> 或 <code>processed invalid connection</code>，不一定代表配置错了。公网端口会被扫描，陌生连接打到 Reality 入站时可能会被拒绝。</p><p>如果 <code>systemctl status</code> 里已经看到 <code>Active: active (running)</code>，并且日志里出现 <code>inbound connection from ...</code>，说明外部连接已经能打到 VPS，端口和安全组大概率是通的。</p><p>判断是不是自己的客户端：先在本地查公网 IP，再打开客户端连接，看服务端日志里是否出现同一个 IP。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl https://api.ipify.org</span><br></pre></td></tr></table></figure><p>如果日志里的 IP 不是你的公网 IP，多半只是公网扫描，可以忽略。如果日志里的 IP 是你的公网 IP，但仍然报 Reality &#x2F; TLS 握手错误，再重点检查 UUID、Reality 公钥、short_id、SNI 和 <code>flow</code> 是否完全一致。</p><h3 id="4-客户端显示-connected，但网页打不开"><a href="#4-客户端显示-connected，但网页打不开" class="headerlink" title="4. 客户端显示 connected，但网页打不开"></a>4. 客户端显示 connected，但网页打不开</h3><p>先在本机确认本地代理是否工作：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -x socks5h://127.0.0.1:7890 https://api.ipify.org</span><br></pre></td></tr></table></figure><p>如果这条命令能返回 VPS 出口 IP，说明节点本身是通的。浏览器打不开通常是浏览器没有走代理：把 macOS 系统代理或浏览器代理设置为 <code>SOCKS5 127.0.0.1 7890</code>，再打开 <code>https://api.ipify.org</code> 验证。</p><p>检查服务端出站是否能访问外网：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -I https://www.google.com --connect-timeout 5</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -I https://addons.mozilla.org --connect-timeout 5</span><br></pre></td></tr></table></figure><p>如果服务端自己都访问不了目标网站，那不是客户端问题，而是 VPS 出口网络问题。</p><h3 id="5-手机端-sing-box-启动了，但没网络"><a href="#5-手机端-sing-box-启动了，但没网络" class="headerlink" title="5. 手机端 sing-box 启动了，但没网络"></a>5. 手机端 sing-box 启动了，但没网络</h3><p>如果电脑端用 <code>curl -x socks5h://127.0.0.1:7890 https://api.ipify.org</code> 能返回 VPS IP，但手机端不行，优先怀疑手机端没有用 VPN &#x2F; TUN 接管系统流量，而不是 VPS 或防火墙坏了。</p><p>手机端按这个顺序排查：</p><ol><li>启动后手机状态栏是否出现 VPN 图标</li><li>手机浏览器打开 <code>https://api.ipify.org</code> 是否显示 VPS IP</li><li>VPS 上执行 <code>journalctl -u sing-box --output cat -f</code> 时，手机访问网页后是否出现新的 <code>inbound connection</code></li></ol><p>如果没有 VPN 图标，也没有服务端新连接，说明手机流量根本没有进入 sing-box。回到手机客户端里选择 VPN &#x2F; TUN &#x2F; 全局代理模式。</p><p>如果服务端有手机的新连接，但仍然打不开网页，再检查客户端参数是否和服务端一致，尤其是 <code>UUID</code>、<code>Public Key</code>、<code>Short ID</code>、<code>SNI</code>、<code>Flow</code> 和端口 <code>443</code>。</p><h3 id="6-速度不理想"><a href="#6-速度不理想" class="headerlink" title="6. 速度不理想"></a>6. 速度不理想</h3><p>VLESS + Reality + Vision 是稳定路线，不是暴力提速路线。速度主要取决于：</p><ul><li>VPS 线路质量</li><li>本地运营商到 VPS 的路由</li><li>晚高峰丢包</li><li>VPS 带宽限制</li><li>客户端分流和 DNS 配置</li></ul><p>如果 TCP 晚高峰丢包严重，可以再额外部署 Hysteria2 &#x2F; TUIC 作为 UDP 加速备用节点。但这已经是另一套方案，不建议新手一开始就混在同一个教程里。</p><h2 id="🛠️-十三、升级和维护"><a href="#🛠️-十三、升级和维护" class="headerlink" title="🛠️ 十三、升级和维护"></a>🛠️ 十三、升级和维护</h2><p>以后升级 sing-box，按顺序一条一条执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt-get update</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt-get install --only-upgrade sing-box</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sing-box check -c /etc/sing-box/config.json</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl restart sing-box</span><br></pre></td></tr></table></figure><p>查看服务状态：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl status sing-box --no-pager</span><br></pre></td></tr></table></figure><p>查看实时日志：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">journalctl -u sing-box --output <span class="built_in">cat</span> -f</span><br></pre></td></tr></table></figure><p>修改配置后，一定先检查：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sing-box check -c /etc/sing-box/config.json</span><br></pre></td></tr></table></figure><p>没报错再重启：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl restart sing-box</span><br></pre></td></tr></table></figure><h2 id="📋-十四、参数速查表"><a href="#📋-十四、参数速查表" class="headerlink" title="📋 十四、参数速查表"></a>📋 十四、参数速查表</h2><table><thead><tr><th>参数</th><th>服务端填写</th><th>客户端填写</th></tr></thead><tbody><tr><td>VPS IP</td><td>不需要</td><td><code>server</code></td></tr><tr><td>端口</td><td><code>listen_port</code></td><td><code>server_port</code></td></tr><tr><td>UUID</td><td><code>users.uuid</code></td><td><code>uuid</code></td></tr><tr><td>Vision</td><td><code>users.flow</code></td><td><code>flow</code></td></tr><tr><td>Reality 私钥</td><td><code>tls.reality.private_key</code></td><td>不填</td></tr><tr><td>Reality 公钥</td><td>不填</td><td><code>tls.reality.public_key</code></td></tr><tr><td>short_id</td><td><code>tls.reality.short_id</code></td><td><code>tls.reality.short_id</code></td></tr><tr><td>伪装域名</td><td><code>tls.server_name</code> 和 <code>handshake.server</code></td><td><code>tls.server_name</code> &#x2F; SNI</td></tr><tr><td>uTLS 指纹</td><td>不填</td><td><code>chrome</code></td></tr></tbody></table><h2 id="🎉-结语"><a href="#🎉-结语" class="headerlink" title="🎉 结语"></a>🎉 结语</h2><p>如果你只是想先搭一个稳定、干净、可维护的 VPS 节点，那么这套 <code>sing-box + VLESS + Reality + Vision</code> 就足够作为第一套配置。</p><p>它不追求花哨，但胜在链路简单、依赖少、排错容易。等你把这套跑稳之后，再去加 Hysteria2、TUIC、CDN 备用通道或更复杂的分流，会轻松很多。</p><h2 id="📎-附录：配套客户端配置示例"><a href="#📎-附录：配套客户端配置示例" class="headerlink" title="📎 附录：配套客户端配置示例"></a>📎 附录：配套客户端配置示例</h2><p>下面这份是 <code>sing-box</code> 客户端 Fake-IP + TUN 分流模板，不是 VPS 服务端配置。使用前先把 <code>你的VPS公网IP</code>、<code>你的UUID</code>、<code>你的Reality公钥</code>、<code>你的ShortID</code> 改成你自己的参数。</p><p>它和前面的桌面端 <code>mixed-in</code> 示例用途不同：前面的示例只提供本机代理端口，这份模板用于接管系统流量并做分流。</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br><span class="line">176</span><br><span class="line">177</span><br><span class="line">178</span><br><span class="line">179</span><br><span class="line">180</span><br><span class="line">181</span><br><span class="line">182</span><br><span class="line">183</span><br><span class="line">184</span><br><span class="line">185</span><br><span class="line">186</span><br><span class="line">187</span><br><span class="line">188</span><br><span class="line">189</span><br><span class="line">190</span><br><span class="line">191</span><br><span class="line">192</span><br><span class="line">193</span><br><span class="line">194</span><br><span class="line">195</span><br><span class="line">196</span><br><span class="line">197</span><br><span class="line">198</span><br><span class="line">199</span><br><span class="line">200</span><br><span class="line">201</span><br><span class="line">202</span><br><span class="line">203</span><br><span class="line">204</span><br><span class="line">205</span><br><span class="line">206</span><br><span class="line">207</span><br><span class="line">208</span><br><span class="line">209</span><br><span class="line">210</span><br><span class="line">211</span><br><span class="line">212</span><br><span class="line">213</span><br><span class="line">214</span><br><span class="line">215</span><br><span class="line">216</span><br><span class="line">217</span><br><span class="line">218</span><br><span class="line">219</span><br><span class="line">220</span><br><span class="line">221</span><br><span class="line">222</span><br><span class="line">223</span><br><span class="line">224</span><br><span class="line">225</span><br><span class="line">226</span><br><span class="line">227</span><br><span class="line">228</span><br><span class="line">229</span><br><span class="line">230</span><br><span class="line">231</span><br><span class="line">232</span><br><span class="line">233</span><br><span class="line">234</span><br><span class="line">235</span><br><span class="line">236</span><br><span class="line">237</span><br><span class="line">238</span><br><span class="line">239</span><br><span class="line">240</span><br><span class="line">241</span><br><span class="line">242</span><br><span class="line">243</span><br><span class="line">244</span><br><span class="line">245</span><br><span class="line">246</span><br><span class="line">247</span><br><span class="line">248</span><br><span class="line">249</span><br><span class="line">250</span><br><span class="line">251</span><br><span class="line">252</span><br><span class="line">253</span><br><span class="line">254</span><br><span class="line">255</span><br><span class="line">256</span><br><span class="line">257</span><br><span class="line">258</span><br><span class="line">259</span><br><span class="line">260</span><br><span class="line">261</span><br><span class="line">262</span><br><span class="line">263</span><br><span class="line">264</span><br><span class="line">265</span><br><span class="line">266</span><br><span class="line">267</span><br><span class="line">268</span><br><span class="line">269</span><br><span class="line">270</span><br><span class="line">271</span><br><span class="line">272</span><br><span class="line">273</span><br><span class="line">274</span><br><span class="line">275</span><br><span class="line">276</span><br><span class="line">277</span><br><span class="line">278</span><br><span class="line">279</span><br><span class="line">280</span><br><span class="line">281</span><br><span class="line">282</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;log&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;level&quot;</span><span class="punctuation">:</span> <span class="string">&quot;info&quot;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;timestamp&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span></span><br><span class="line">  <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;dns&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;servers&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;local&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;address&quot;</span><span class="punctuation">:</span> <span class="string">&quot;223.5.5.5&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;address&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://1.1.1.1/dns-query&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;address_resolver&quot;</span><span class="punctuation">:</span> <span class="string">&quot;local&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;proxy&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;fakeip&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;address&quot;</span><span class="punctuation">:</span> <span class="string">&quot;fakeip&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span></span><br><span class="line">    <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;rules&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;rule_set&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-category-ads-all&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;reject&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;domain_suffix&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">          <span class="string">&quot;bing.com&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;copilot.microsoft.com&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;copilot.cloud.microsoft&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;githubcopilot.com&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;tv.apple.com&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;news.apple.com&quot;</span></span><br><span class="line">        <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;route&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;server&quot;</span><span class="punctuation">:</span> <span class="string">&quot;fakeip&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;rule_set&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">          <span class="string">&quot;geosite-private&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-apple&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-microsoft&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-geolocation-cn&quot;</span></span><br><span class="line">        <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;route&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;server&quot;</span><span class="punctuation">:</span> <span class="string">&quot;local&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;rule_set&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">          <span class="string">&quot;geosite-openai&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-google&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-youtube&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-telegram&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-github&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-geolocation-!cn&quot;</span></span><br><span class="line">        <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;route&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;server&quot;</span><span class="punctuation">:</span> <span class="string">&quot;fakeip&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span></span><br><span class="line">    <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;final&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;strategy&quot;</span><span class="punctuation">:</span> <span class="string">&quot;ipv4_only&quot;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;fakeip&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;inet4_range&quot;</span><span class="punctuation">:</span> <span class="string">&quot;198.18.0.0/15&quot;</span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;inbounds&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">    <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;tun&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;tun-in&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;address&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">        <span class="string">&quot;172.19.0.1/30&quot;</span></span><br><span class="line">      <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;auto_route&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;strict_route&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;stack&quot;</span><span class="punctuation">:</span> <span class="string">&quot;system&quot;</span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;outbounds&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">    <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;vless&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;proxy&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;server&quot;</span><span class="punctuation">:</span> <span class="string">&quot;你的VPS公网IP&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;server_port&quot;</span><span class="punctuation">:</span> <span class="number">443</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;uuid&quot;</span><span class="punctuation">:</span> <span class="string">&quot;你的UUID&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;flow&quot;</span><span class="punctuation">:</span> <span class="string">&quot;xtls-rprx-vision&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;tls&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;server_name&quot;</span><span class="punctuation">:</span> <span class="string">&quot;addons.mozilla.org&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;utls&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">          <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;fingerprint&quot;</span><span class="punctuation">:</span> <span class="string">&quot;chrome&quot;</span></span><br><span class="line">        <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;reality&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">          <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;public_key&quot;</span><span class="punctuation">:</span> <span class="string">&quot;你的Reality公钥&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;short_id&quot;</span><span class="punctuation">:</span> <span class="string">&quot;你的ShortID&quot;</span></span><br><span class="line">        <span class="punctuation">&#125;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;packet_encoding&quot;</span><span class="punctuation">:</span> <span class="string">&quot;xudp&quot;</span></span><br><span class="line">    <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;route&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;rules&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;sniff&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;protocol&quot;</span><span class="punctuation">:</span> <span class="string">&quot;dns&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;hijack-dns&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;network&quot;</span><span class="punctuation">:</span> <span class="string">&quot;udp&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;port&quot;</span><span class="punctuation">:</span> <span class="number">53</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;hijack-dns&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;network&quot;</span><span class="punctuation">:</span> <span class="string">&quot;udp&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;port&quot;</span><span class="punctuation">:</span> <span class="number">443</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;reject&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;ip_is_private&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;route&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;outbound&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;rule_set&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-category-ads-all&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;reject&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;ip_cidr&quot;</span><span class="punctuation">:</span> <span class="string">&quot;198.18.0.0/15&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;route&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;outbound&quot;</span><span class="punctuation">:</span> <span class="string">&quot;proxy&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;domain_suffix&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">          <span class="string">&quot;bing.com&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;copilot.microsoft.com&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;copilot.cloud.microsoft&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;githubcopilot.com&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;tv.apple.com&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;news.apple.com&quot;</span></span><br><span class="line">        <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;route&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;outbound&quot;</span><span class="punctuation">:</span> <span class="string">&quot;proxy&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;rule_set&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">          <span class="string">&quot;geosite-openai&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-google&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-youtube&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-telegram&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-github&quot;</span></span><br><span class="line">        <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;route&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;outbound&quot;</span><span class="punctuation">:</span> <span class="string">&quot;proxy&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;rule_set&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">          <span class="string">&quot;geosite-private&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-apple&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-microsoft&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="string">&quot;geosite-geolocation-cn&quot;</span></span><br><span class="line">        <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;route&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;outbound&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;rule_set&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-geolocation-!cn&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;route&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;outbound&quot;</span><span class="punctuation">:</span> <span class="string">&quot;proxy&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;rule_set&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geoip-cn&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;action&quot;</span><span class="punctuation">:</span> <span class="string">&quot;route&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;outbound&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span></span><br><span class="line">    <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;rule_set&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-category-ads-all&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-category-ads-all.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-private&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-private.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-openai&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-openai.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-google&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-google.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-youtube&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-youtube.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-telegram&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-telegram.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-github&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-github.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-apple&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-apple.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-microsoft&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-microsoft.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-geolocation-!cn&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-geolocation-!cn.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geosite-geolocation-cn&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geosite@rule-set/geosite-geolocation-cn.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;tag&quot;</span><span class="punctuation">:</span> <span class="string">&quot;geoip-cn&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;remote&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;format&quot;</span><span class="punctuation">:</span> <span class="string">&quot;binary&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://cdn.jsdelivr.net/gh/SagerNet/sing-geoip@rule-set/geoip-cn.srs&quot;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;download_detour&quot;</span><span class="punctuation">:</span> <span class="string">&quot;direct&quot;</span></span><br><span class="line">      <span class="punctuation">&#125;</span></span><br><span class="line">    <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;final&quot;</span><span class="punctuation">:</span> <span class="string">&quot;proxy&quot;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;auto_detect_interface&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span></span><br><span class="line">  <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;experimental&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;cache_file&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;enabled&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><h2 id="📚-参考资料"><a href="#📚-参考资料" class="headerlink" title="📚 参考资料"></a>📚 参考资料</h2><ul><li><a href="https://sing-box.sagernet.org/installation/package-manager/">sing-box 官方安装文档</a></li><li><a href="https://sing-box.sagernet.org/configuration/inbound/vless/">sing-box VLESS 入站文档</a></li><li><a href="https://sing-box.sagernet.org/configuration/outbound/vless/">sing-box VLESS 出站文档</a></li><li><a href="https://sing-box.sagernet.org/configuration/shared/tls/">sing-box TLS &#x2F; Reality 文档</a></li><li><a href="https://sing-box.sagernet.org/configuration/">sing-box 配置检查与格式化</a></li></ul>]]>
    </content>
    <id>https://skylink9119.github.io/2026/05/05/sing-box-vps-vless-reality-vision-beginner/</id>
    <link href="https://skylink9119.github.io/2026/05/05/sing-box-vps-vless-reality-vision-beginner/"/>
    <published>2026-05-05T05:30:00.000Z</published>
    <summary>面向新手的 sing-box VPS 部署完整教程，使用 VLESS + Reality + Vision 搭建无域名节点，涵盖安装、密钥生成、服务端配置、防火墙、客户端参数、验证和故障排查。</summary>
    <title>🚀 sing-box VPS 部署 VLESS + Reality + Vision：无域名纯配置新手教程</title>
    <updated>2026-07-22T02:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Skyline</name>
      <email>sky13712559955@gmail.com</email>
    </author>
    <category term="技术教程" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/"/>
    <category term="网络链路" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/%E7%BD%91%E7%BB%9C%E9%93%BE%E8%B7%AF/"/>
    <category term="VPS" scheme="https://skylink9119.github.io/tags/VPS/"/>
    <category term="Debian" scheme="https://skylink9119.github.io/tags/Debian/"/>
    <category term="Reality协议" scheme="https://skylink9119.github.io/tags/Reality%E5%8D%8F%E8%AE%AE/"/>
    <category term="3X-UI" scheme="https://skylink9119.github.io/tags/3X-UI/"/>
    <category term="服务器运维" scheme="https://skylink9119.github.io/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/"/>
    <content>
      <![CDATA[<div class="video-container">  <iframe    src="https://www.youtube.com/embed/rbvd4RZQaNY"    title="Debian VPS 搭建 VLESS Reality、3X-UI、BBR 与 UFW 视频教程"    frameborder="0"    loading="lazy"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"    allowfullscreen>  </iframe></div><style>.video-container {    position: relative;    width: 100%;    padding-top: 56.25%;    border-radius: 12px;    overflow: hidden;    box-shadow: 0 8px 20px rgba(0,0,0,0.1);    margin-bottom: 20px;}.video-container iframe {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;}</style><a class="btn-beautify red larger" href="https://www.youtube.com/watch?v=rbvd4RZQaNY" title="在 YouTube 观看完整视频"><i class="fab fa-youtube"></i><span>在 YouTube 观看完整视频</span></a><a class="btn-beautify blue larger" href="https://www.youtube.com/@guo1986" title="订阅 Skyline YouTube 频道"><i class="fab fa-youtube"></i><span>订阅 Skyline YouTube 频道</span></a><p>这是一份面向 <strong>Debian 纯净系统</strong>的完整教程，不混用 Ubuntu、CentOS 或 Alpine 命令。请严格按照本文顺序操作：先确认 SSH 可以登录，再开启防火墙；安装面板并取得实际端口后，才放行面板端口；创建 Reality 入站后，才放行节点端口。</p><p>REALITY 不要求你购买域名，也不需要为节点单独申请 TLS 证书。它会利用目标 HTTPS 站点的握手特征和证书外观进行伪装，但并不是把目标网站的证书复制或安装到你的 VPS。</p><blockquote><p>本文默认使用 <code>root</code> 用户，因此命令中不添加 <code>sudo</code>。</p></blockquote><h2 id="🛠️-一、选择-VPS-与厂商推荐"><a href="#🛠️-一、选择-VPS-与厂商推荐" class="headerlink" title="🛠️ 一、选择 VPS 与厂商推荐"></a>🛠️ 一、选择 VPS 与厂商推荐</h2><p>在开始搭建前，需要准备一台具有公网可达 IP 的海外 VPS。线路质量、机房位置和晚高峰拥塞情况，都会直接影响实际体验。</p><h3 id="核心选购指标"><a href="#核心选购指标" class="headerlink" title="核心选购指标"></a>核心选购指标</h3><ul><li><strong>线路质量</strong>：可优先测试 <strong>CN2-GIA</strong>（电信）、<strong>AS9929</strong>（联通）或 <strong>CMI</strong>（移动）等优化线路。实际表现取决于所在地、运营商、路由和晚高峰拥塞。</li><li><strong>机房位置</strong>：通常距离越近，基础延迟越低，但应以测试 IP 的 <code>ping</code>、路由追踪、丢包率和晚高峰测速为准。</li><li><strong>系统支持</strong>：确认服务商可以安装 Debian 12 或 Debian 13 64 位纯净系统。</li><li><strong>公网 IP</strong>：确认 VPS 具有公网可达 IP，并了解服务商是否额外提供安全组或云防火墙。</li><li><strong>付款方式</strong>：根据自己的需求选择月付或年付，首次购买不建议一次预付太长时间。</li></ul><h3 id="VPS-服务商对比"><a href="#VPS-服务商对比" class="headerlink" title="VPS 服务商对比"></a>VPS 服务商对比</h3><table><thead><tr><th align="left">服务商</th><th align="left">主要特点</th><th align="left">推荐线路&#x2F;地区</th><th align="left">适用场景</th><th align="left">价格定位</th></tr></thead><tbody><tr><td align="left"><strong><a class="btn-beautify blue" href="https://www.dmit.io/aff.php?aff=18635" title="DMIT"><i class="anzhiyu-icon-external-link"></i><span>DMIT</span></a></strong></td><td align="left">线路质量较高，提供多种优化网络产品</td><td align="left">CN2 GIA &#x2F; 香港 &#x2F; 日本 &#x2F; 美国</td><td align="left">对线路稳定性要求较高</td><td align="left">较高</td></tr><tr><td align="left"><strong><a class="btn-beautify orange" href="https://bandwagonhost.com/aff.php?aff=80916" title="搬瓦工"><i class="anzhiyu-icon-gift"></i><span>搬瓦工</span></a></strong></td><td align="left">支持多个机房和线路方案</td><td align="left">CN2 GIA-E &#x2F; 日本软银等</td><td align="left">需要灵活切换机房</td><td align="left">中高</td></tr><tr><td align="left"><strong><a class="btn-beautify blue" href="https://akile.io/register?aff_code=0be67084-ae2e-4095-a586-2a3ee5c970f0" title="Akile Cloud"><i class="anzhiyu-icon-gift"></i><span>Akile Cloud</span></a></strong></td><td align="left">支持按量或月付，地区选择较多</td><td align="left">香港 &#x2F; 台湾 &#x2F; 日本 &#x2F; 韩国等</td><td align="left">临时测试和短期项目</td><td align="left">中低</td></tr><tr><td align="left"><strong><a class="btn-beautify orange" href="https://my.racknerd.com/aff.php?aff=18647" title="RackNerd"><i class="anzhiyu-icon-gift"></i><span>RackNerd</span></a></strong></td><td align="left">年付产品价格较低</td><td align="left">美国常规线路</td><td align="left">预算有限、博客和测试环境</td><td align="left">较低</td></tr><tr><td align="left"><strong><a class="btn-beautify blue" href="https://www.vultr.com/?ref=9876529" title="Vultr"><i class="anzhiyu-icon-gift"></i><span>Vultr</span></a></strong></td><td align="left">全球机房较多，支持按小时计费和 API</td><td align="left">国际标准 BGP</td><td align="left">临时部署和开发测试</td><td align="left">中等</td></tr></tbody></table><blockquote><p>线路、IP 属性、库存和价格会随时变化，请以服务商实时页面及测试 IP 为准。上表部分按钮包含推广参数，购买价格通常不因此增加。</p></blockquote><hr><h2 id="💡-二、搭建前准备"><a href="#💡-二、搭建前准备" class="headerlink" title="💡 二、搭建前准备"></a>💡 二、搭建前准备</h2><ul><li>一台具有公网可达 IP 的 VPS，优先选择 <strong>Debian 13 64 位</strong>，也可使用 <strong>Debian 12 64 位</strong>。</li><li>VPS 的公网 IP，以及服务商提供的 <code>root</code> 初始登录凭据。</li><li>SSH 工具：Windows 可使用 Windows Terminal &#x2F; PowerShell，macOS 可使用系统自带终端。</li><li>一个部署时经过测试的 Reality Target&#x2F;SNI。无需拥有这个域名，但不能把网上的示例当成永久可用配置。</li></ul><p>截至 2026 年 7 月，Debian 11 LTS 将于 2026 年 8 月 31 日结束，不建议再用于新装服务器。Debian 12 LTS 持续至 2028 年 6 月 30 日。</p><hr><h2 id="🚀-三、更新-Debian-并安装基础工具"><a href="#🚀-三、更新-Debian-并安装基础工具" class="headerlink" title="🚀 三、更新 Debian 并安装基础工具"></a>🚀 三、更新 Debian 并安装基础工具</h2><p>通过 SSH 登录 VPS：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh root<span class="selector-tag">@</span>你的VPS_IP</span><br></pre></td></tr></table></figure><p>把 <code>你的VPS_IP</code> 替换为真实公网 IP。登录后执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">apt update</span><br><span class="line">apt upgrade -y</span><br><span class="line">apt install -y curl wget ca-certificates tar ufw</span><br></pre></td></tr></table></figure><p>如果系统更新了内核，建议先重启，再重新连接：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">reboot</span><br></pre></td></tr></table></figure><hr><h2 id="⚡-四、开启并验证-BBR"><a href="#⚡-四、开启并验证-BBR" class="headerlink" title="⚡ 四、开启并验证 BBR"></a>⚡ 四、开启并验证 BBR</h2><p>使用独立配置文件，避免重复执行时不断向 <code>/etc/sysctl.conf</code> 追加相同内容：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cat</span> &gt; /etc/sysctl.d/99-bbr.conf &lt;&lt;<span class="string">&#x27;EOF&#x27;</span></span><br><span class="line">net.core.default_qdisc = fq</span><br><span class="line">net.ipv4.tcp_congestion_control = bbr</span><br><span class="line">EOF</span><br><span class="line"></span><br><span class="line">sysctl --system</span><br></pre></td></tr></table></figure><p>验证当前算法及内核可用算法：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">sysctl net.ipv4.tcp_congestion_control</span><br><span class="line">sysctl net.ipv4.tcp_available_congestion_control</span><br></pre></td></tr></table></figure><p>第一条应显示当前算法为 <code>bbr</code>，第二条的列表中也应包含 <code>bbr</code>。不要只依靠 <code>lsmod | grep bbr</code> 判断，因为 BBR 编译进内核时可能不会出现在模块列表中。</p><hr><h2 id="🛡️-五、配置-UFW：此时只放行-SSH"><a href="#🛡️-五、配置-UFW：此时只放行-SSH" class="headerlink" title="🛡️ 五、配置 UFW：此时只放行 SSH"></a>🛡️ 五、配置 UFW：此时只放行 SSH</h2><h3 id="1-确认-SSH-实际端口"><a href="#1-确认-SSH-实际端口" class="headerlink" title="1. 确认 SSH 实际端口"></a>1. 确认 SSH 实际端口</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sshd -T | grep <span class="string">&#x27;^port &#x27;</span></span><br></pre></td></tr></table></figure><p>如果输出是 <code>port 22</code>，下面使用 <code>22</code>；如果输出为其他端口，必须把命令中的 <code>22</code> 换成实际值。</p><h3 id="2-设置策略、放行-SSH-并开启-UFW"><a href="#2-设置策略、放行-SSH-并开启-UFW" class="headerlink" title="2. 设置策略、放行 SSH 并开启 UFW"></a>2. 设置策略、放行 SSH 并开启 UFW</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">ufw default deny incoming</span><br><span class="line">ufw default allow outgoing</span><br><span class="line">ufw allow 22/tcp comment <span class="string">&#x27;SSH&#x27;</span></span><br><span class="line">ufw <span class="built_in">enable</span></span><br><span class="line">ufw status verbose</span><br></pre></td></tr></table></figure><p>看到 <code>Status: active</code> 和实际 SSH 端口规则后，不要立即关闭当前窗口。先新开一个终端再次连接 VPS，确认 SSH 仍然可用。</p><blockquote><p>此时 3X-UI 尚未安装，Reality 入站也尚未创建，因此不要提前开放面板端口、<code>443</code> 或 <code>2096</code>。</p></blockquote><hr><h2 id="🖥️-六、安装-3X-UI-面板"><a href="#🖥️-六、安装-3X-UI-面板" class="headerlink" title="🖥️ 六、安装 3X-UI 面板"></a>🖥️ 六、安装 3X-UI 面板</h2><p>执行 3X-UI 官方安装脚本：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">bash &lt;(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)</span><br></pre></td></tr></table></figure><p>安装脚本会持续更新，应以屏幕上的实际提示为准。当前版本会生成随机用户名、密码和 WebBasePath，并在安装结束时显示面板端口、访问地址、账号以及 API Token。请立即保存完整输出，不要套用旧教程中的默认账号、固定端口或固定路径。</p><p>如果安装器提供 HTTPS、IP 证书、反向代理或仅监听 <code>127.0.0.1</code> 等选项，请根据实际访问方式选择。公网 HTTP 会明文传输面板登录信息，不适合长期使用。</p><h3 id="安装完成后再放行面板端口"><a href="#安装完成后再放行面板端口" class="headerlink" title="安装完成后再放行面板端口"></a>安装完成后再放行面板端口</h3><p>假设安装结果显示面板端口为 <code>28530</code>，有固定公网 IP 时，建议只允许自己的 IP：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">ufw allow from 你的公网IP to any port 28530 proto tcp comment <span class="string">&#x27;3X-UI Admin&#x27;</span></span><br><span class="line">ufw status numbered</span><br></pre></td></tr></table></figure><p>必须把 <code>你的公网IP</code> 和 <code>28530</code> 换成真实值，不能原样执行。</p><p>没有固定 IP、确实需要临时公网访问时，可以开放实际面板端口：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">ufw allow 28530/tcp comment <span class="string">&#x27;3X-UI Admin&#x27;</span></span><br><span class="line">ufw status numbered</span><br></pre></td></tr></table></figure><p>更安全的方式是不向公网开放面板端口，而是在本地建立 SSH 隧道：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh <span class="literal">-L</span> <span class="number">28530</span>:<span class="number">127.0</span>.<span class="number">0.1</span>:<span class="number">28530</span> root<span class="selector-tag">@</span>你的VPS_IP</span><br></pre></td></tr></table></figure><p>随后通过 <code>http://127.0.0.1:28530/你的WebBasePath/</code> 访问。端口和路径都必须使用安装器实际给出的值。</p><hr><h2 id="📡-七、配置-VLESS-REALITY-XTLS-Vision"><a href="#📡-七、配置-VLESS-REALITY-XTLS-Vision" class="headerlink" title="📡 七、配置 VLESS + REALITY + XTLS Vision"></a>📡 七、配置 VLESS + REALITY + XTLS Vision</h2><p>登录面板，进入 <strong>入站列表（Inbounds）</strong>，点击 <strong>添加入站（Add Inbound）</strong>。</p><h3 id="基础参数"><a href="#基础参数" class="headerlink" title="基础参数"></a>基础参数</h3><table><thead><tr><th align="left">配置项</th><th align="left">填写内容</th><th align="left">说明</th></tr></thead><tbody><tr><td align="left">备注（Remark）</td><td align="left"><code>VLESS-REALITY</code></td><td align="left">仅用于自己识别</td></tr><tr><td align="left">协议（Protocol）</td><td align="left"><code>VLESS</code></td><td align="left">入站协议</td></tr><tr><td align="left">监听 IP</td><td align="left"><code>0.0.0.0</code></td><td align="left">监听服务器公网网卡</td></tr><tr><td align="left">端口（Port）</td><td align="left"><code>443</code>（示例）</td><td align="left">使用前确认没有被网站或其他服务占用</td></tr><tr><td align="left">客户端 ID &#x2F; UUID</td><td align="left">点击生成</td><td align="left">每位用户建议使用独立 UUID</td></tr><tr><td align="left">Flow</td><td align="left"><code>xtls-rprx-vision</code></td><td align="left">与 TCP&#x2F;RAW + Reality 配合</td></tr><tr><td align="left">传输方式</td><td align="left"><code>TCP</code>，新版内核可能显示 <code>RAW</code></td><td align="left">以当前面板字段为准</td></tr><tr><td align="left">安全（Security）</td><td align="left"><code>reality</code></td><td align="left">开启 Reality</td></tr><tr><td align="left">Fingerprint &#x2F; uTLS</td><td align="left"><code>chrome</code></td><td align="left">客户端也要使用兼容指纹</td></tr><tr><td align="left">Private&#x2F;Public Key</td><td align="left">点击生成</td><td align="left">私钥只保留在服务器端，客户端使用公钥</td></tr><tr><td align="left">Short ID</td><td align="left">点击生成</td><td align="left">必须为偶数长度的十六进制字符串，最长 16 个字符</td></tr></tbody></table><h3 id="Target-与-SNI"><a href="#Target-与-SNI" class="headerlink" title="Target 与 SNI"></a>Target 与 SNI</h3><p>旧教程中常见 <code>dl.google.com:443</code>、<code>www.microsoft.com:443</code> 或 <code>itunes.apple.com:443</code>，但它们只能作为候选示例，不能保证在所有 VPS、地区和时间都适用。</p><ul><li>Target（旧版界面可能显示 Dest）应填写经过测试的 HTTPS 站点和端口。</li><li>Server Names &#x2F; SNI 通常应与 Target 接受的证书域名一致。</li><li>Target 应支持所需 TLS 特性，并且从 VPS 所在网络能够稳定访问。</li><li>不要机械照抄 CDN 或特殊目标。未通过 Reality 验证的流量可能被转发至 Target，错误选择可能导致服务器被滥用为转发器。</li></ul><p>设置完成后点击 <strong>添加（Add）</strong> 保存入站。</p><h3 id="保存入站后再放行节点端口"><a href="#保存入站后再放行节点端口" class="headerlink" title="保存入站后再放行节点端口"></a>保存入站后再放行节点端口</h3><p>本例使用 TCP <code>443</code>，因此执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">ufw allow 443/tcp comment <span class="string">&#x27;VLESS Reality&#x27;</span></span><br><span class="line">ufw status numbered</span><br></pre></td></tr></table></figure><p>如果入站使用其他端口，就把 <code>443</code> 换成实际端口。本文采用 TCP&#x2F;RAW + Reality，不需要额外执行 <code>ufw allow 443/udp</code>。只有服务确实监听 UDP 时才开放 UDP。</p><p>如果面板端口和入站端口相同，或者 <code>443</code> 已被 Nginx、Caddy 等程序占用，入站将无法正常启动。可先检查：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ss -lntp | grep <span class="string">&#x27;:443&#x27;</span></span><br></pre></td></tr></table></figure><hr><h2 id="📱-八、导出节点并连接客户端"><a href="#📱-八、导出节点并连接客户端" class="headerlink" title="📱 八、导出节点并连接客户端"></a>📱 八、导出节点并连接客户端</h2><p>在入站列表中找到刚创建的记录，点击二维码或复制链接，获取 <code>vless://</code> 节点链接。导入后核对服务器地址、端口、公钥、SNI、Short ID、Fingerprint 和 Flow。</p><table><thead><tr><th align="left">平台</th><th align="left">可选客户端</th></tr></thead><tbody><tr><td align="left">Windows</td><td align="left">v2rayN、sing-box</td></tr><tr><td align="left">macOS</td><td align="left">sing-box 等支持 Reality 的客户端</td></tr><tr><td align="left">Android</td><td align="left">v2rayNG、NekoBox、sing-box</td></tr><tr><td align="left">iOS &#x2F; iPadOS</td><td align="left">Shadowrocket、Stash、sing-box</td></tr></tbody></table><p>Shadowrocket（小火箭）本身没有固定服务器端口。它连接哪个端口，取决于你创建的入站配置。</p><hr><h2 id="☁️-九、同步检查云厂商安全组"><a href="#☁️-九、同步检查云厂商安全组" class="headerlink" title="☁️ 九、同步检查云厂商安全组"></a>☁️ 九、同步检查云厂商安全组</h2><p>如果使用阿里云、腾讯云、AWS、Oracle Cloud 等带有安全组或云防火墙的平台，还必须在服务商控制台同步开放实际使用的端口：</p><ul><li>SSH 的实际 TCP 端口。</li><li>面板的实际 TCP 端口——仅当面板需要公网访问时。</li><li>Reality 入站的实际 TCP 端口。</li></ul><p>云安全组和 UFW 是两道独立防火墙。任何一层没有放行，外部都无法访问。不要为了省事开放全部端口或 <code>0-65535</code>。</p><hr><h2 id="🛠️-十、排查与维护命令"><a href="#🛠️-十、排查与维护命令" class="headerlink" title="🛠️ 十、排查与维护命令"></a>🛠️ 十、排查与维护命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 打开 3X-UI 管理菜单</span></span><br><span class="line">x-ui</span><br><span class="line"></span><br><span class="line"><span class="comment"># 查看面板服务状态</span></span><br><span class="line">systemctl status x-ui --no-pager</span><br><span class="line"></span><br><span class="line"><span class="comment"># 检查节点端口和面板端口（按实际端口替换）</span></span><br><span class="line">ss -lntp | grep -E <span class="string">&#x27;:(443|28530)\b&#x27;</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 查看防火墙规则</span></span><br><span class="line">ufw status verbose</span><br><span class="line">ufw status numbered</span><br><span class="line"></span><br><span class="line"><span class="comment"># 修改规则后重新加载</span></span><br><span class="line">ufw reload</span><br></pre></td></tr></table></figure><p>如果服务正在监听但外部无法访问，应依次检查：服务商安全组、UFW、入站端口、客户端参数、VPS 系统时间和 Target 可达性。不要直接关闭全部防火墙来排错。</p><p>若误封 SSH，请通过 VPS 服务商的 VNC、Web Console 或 Serial Console 登录，修正规则后再继续。</p><hr><h2 id="✅-总结"><a href="#✅-总结" class="headerlink" title="✅ 总结"></a>✅ 总结</h2><p>正确的安全顺序是：</p><ol><li>选择支持 Debian 和公网 IP 的 VPS。</li><li>更新 Debian 并确认 SSH 登录。</li><li>开启并验证 BBR。</li><li>只放行 SSH 后开启 UFW。</li><li>安装 3X-UI，取得真实面板端口后再决定是否放行。</li><li>创建 VLESS + Reality 入站，保存后只开放实际节点 TCP 端口。</li><li>同步检查云厂商安全组，最后导入客户端测试。</li></ol><p>如果这篇教程对你有帮助，欢迎前往 <strong><a href="https://www.youtube.com/@guo1986">Skyline YouTube 技术频道</a></strong> 观看配套视频。视频会展示面板界面和实际操作过程，后续更新也会优先发布在频道中。</p><p>官方参考：<a href="https://www.debian.org/News/2026/20260712">Debian 版本支持周期</a>、<a href="https://manpages.debian.org/bookworm/ufw/ufw.8.en.html">Debian UFW 手册</a>、<a href="https://github.com/MHSanaei/3x-ui/wiki/Installation">3X-UI 安装说明</a>、<a href="https://xtls.github.io/config/transports/reality.html">Xray REALITY 配置说明</a></p>]]>
    </content>
    <id>https://skylink9119.github.io/2026/03/04/2026%20VPS%20%E6%90%AD%E5%BB%BA%E4%B8%8E%E7%BD%91%E7%BB%9C%E4%BC%98%E5%8C%96%E4%BF%9D%E5%A7%86%E7%BA%A7%E6%95%99%E7%A8%8B/</id>
    <link href="https://skylink9119.github.io/2026/03/04/2026%20VPS%20%E6%90%AD%E5%BB%BA%E4%B8%8E%E7%BD%91%E7%BB%9C%E4%BC%98%E5%8C%96%E4%BF%9D%E5%A7%86%E7%BA%A7%E6%95%99%E7%A8%8B/"/>
    <published>2026-03-04T11:08:02.000Z</published>
    <summary>Debian 12/13 纯净系统搭建教程，按照系统初始化、BBR、UFW、3X-UI 和 VLESS + Reality 的安全顺序完成部署，无需自购域名或单独申请 TLS 证书。</summary>
    <title>🚀 Debian VPS 搭建 VLESS + REALITY 全流程：3X-UI、BBR 与 UFW</title>
    <updated>2026-07-20T04:30:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Skyline</name>
      <email>sky13712559955@gmail.com</email>
    </author>
    <category term="技术教程" scheme="https://skylink9119.github.io/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/"/>
    <category term="macOS" scheme="https://skylink9119.github.io/tags/macOS/"/>
    <category term="MDM" scheme="https://skylink9119.github.io/tags/MDM/"/>
    <category term="系统工具" scheme="https://skylink9119.github.io/tags/%E7%B3%BB%E7%BB%9F%E5%B7%A5%E5%85%B7/"/>
    <content>
      <![CDATA[<h1 id="2026-最新-macOS-MDM-远程管理（Remote-Management）绕过全攻略"><a href="#2026-最新-macOS-MDM-远程管理（Remote-Management）绕过全攻略" class="headerlink" title="2026 最新 macOS MDM 远程管理（Remote Management）绕过全攻略"></a>2026 最新 macOS MDM 远程管理（Remote Management）绕过全攻略</h1><p>在重装 macOS 系统后，如果遇到”远程管理”（MDM）提示无法进入桌面，本教程将通过简单的自动化脚本，帮助你在<strong>恢复模式</strong>下跳过 MDM 注册流程。</p><blockquote><p><strong>免责声明：</strong> 本教程仅供个人技术研究和合法找回设备所有权使用。请勿用于任何违反法律或公司政策的用途。</p></blockquote><hr><h2 id="🔍-核心原理"><a href="#🔍-核心原理" class="headerlink" title="🔍 核心原理"></a>🔍 核心原理</h2><p>本方法利用 macOS 恢复模式下的终端权限，通过脚本修改系统 Hosts 文件屏蔽 Apple 的 MDM 验证域名，并手动创建本地管理员账户，从而跳过强制注册过程。</p><hr><h2 id="🛠️-第一阶段：进入恢复模式并准备"><a href="#🛠️-第一阶段：进入恢复模式并准备" class="headerlink" title="🛠️ 第一阶段：进入恢复模式并准备"></a>🛠️ 第一阶段：进入恢复模式并准备</h2><h3 id="1-强制关机并重新启动"><a href="#1-强制关机并重新启动" class="headerlink" title="1. 强制关机并重新启动"></a>1. 强制关机并重新启动</h3><ul><li><strong>Apple Silicon（M 系列）：</strong> 关机后，按住<strong>电源按钮</strong>直到看到”正在加载启动选项”。点击<strong>选项（Options）→ 继续</strong>。</li><li><strong>Intel 处理器：</strong> 重启时立即按住 <code>Command (⌘) + R</code> 键，直到出现 Apple Logo。</li></ul><h3 id="2-激活网络连接"><a href="#2-激活网络连接" class="headerlink" title="2. 激活网络连接"></a>2. 激活网络连接</h3><p>在菜单栏点击 Wi-Fi 图标并联网。<strong>注意：</strong> 脚本需要联网下载。</p><h3 id="3-启动终端（Terminal）"><a href="#3-启动终端（Terminal）" class="headerlink" title="3. 启动终端（Terminal）"></a>3. 启动终端（Terminal）</h3><p>在顶部菜单栏选择 <strong>实用工具（Utilities）→ 终端（Terminal）</strong>。</p><hr><h2 id="🚀-第二阶段：执行-MDM-绕过脚本"><a href="#🚀-第二阶段：执行-MDM-绕过脚本" class="headerlink" title="🚀 第二阶段：执行 MDM 绕过脚本"></a>🚀 第二阶段：执行 MDM 绕过脚本</h2><p>在终端中粘贴以下命令并回车执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -L https://raw.githubusercontent.com/assafdori/bypass-mdm/main/bypass-mdm-v2.sh -o bypass-mdm.sh &amp;&amp; <span class="built_in">chmod</span> +x ./bypass-mdm.sh &amp;&amp; ./bypass-mdm.sh</span><br></pre></td></tr></table></figure><h3 id="脚本交互步骤说明"><a href="#脚本交互步骤说明" class="headerlink" title="脚本交互步骤说明"></a>脚本交互步骤说明</h3><ol><li><strong>卷检测</strong>：脚本会自动识别 Macintosh HD 路径。</li><li><strong>模式选择</strong>：输入 <code>1</code>，选择 “From Recovery Bypass MDM”。</li><li><strong>账户设置</strong>：用户名建议使用默认 <code>Apple</code>（或自定义英文字符），密码设置一个简单的临时密码（如 <code>1234</code>），后续可以更改。</li><li><strong>自动执行</strong>：脚本会自动执行”屏蔽 MDM 域”和”写入配置文件”操作。</li></ol><p>当看到 <strong>“MDM Bypass Successfully”</strong> 提示时，即可关闭终端并<strong>重新启动</strong>。</p><hr><h2 id="🔄-第三阶段：登录与账户清理"><a href="#🔄-第三阶段：登录与账户清理" class="headerlink" title="🔄 第三阶段：登录与账户清理"></a>🔄 第三阶段：登录与账户清理</h2><ol><li>使用脚本创建的 <code>Apple</code> 账户登录。</li><li>登录后出现的设置向导全部选择”稍后设置”或”跳过”。</li><li>前往 <strong>系统设置 → 用户与组</strong>，新建你自己的管理员账户。</li><li>切换到新账户后，删除最初的临时 <code>Apple</code> 账户。</li></ol><hr><h2 id="❓-常见问题排查（FAQ）"><a href="#❓-常见问题排查（FAQ）" class="headerlink" title="❓ 常见问题排查（FAQ）"></a>❓ 常见问题排查（FAQ）</h2><p><strong>Q1：脚本报错 “Could not resolve host”</strong></p><p>原因是 Wi-Fi 未连接或 DNS 解析失败。检查恢复模式右上角的网络图标，确保已联网后重试。</p><p><strong>Q2：提示 “Read-only file system”</strong></p><p>磁盘未挂载或处于保护状态。打开”磁盘工具”，选择主硬盘卷（如 Macintosh HD），点击”挂载”，输入密码后重试脚本。</p><p><strong>Q3：重启后 MDM 弹窗又出现了</strong></p><p>确保脚本运行中成功执行了”Block MDM Domains”步骤。如未生效，可手动在 <code>/etc/hosts</code> 中添加：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">127.0.0.1 iprofiles.apple.com</span><br></pre></td></tr></table></figure><hr><h2 id="💡-总结"><a href="#💡-总结" class="headerlink" title="💡 总结"></a>💡 总结</h2><p>通过上述步骤，可以解决二手 Mac 或公司回收设备在重装系统后的 MDM 锁定问题。</p><h2 id="📺-观看更多视频教程"><a href="#📺-观看更多视频教程" class="headerlink" title="📺 观看更多视频教程"></a>📺 观看更多视频教程</h2><p>更多 macOS、VPS 和服务器运维实操视频，请访问 <strong><a href="https://www.youtube.com/@guo1986">Skyline YouTube 技术频道</a></strong>。</p><a class="btn-beautify red larger" href="https://www.youtube.com/@guo1986" title="前往 YouTube 频道"><i class="fab fa-youtube"></i><span>前往 YouTube 频道</span></a>]]>
    </content>
    <id>https://skylink9119.github.io/2026/03/04/%E7%BB%95%E8%BF%87MDM%E6%95%99%E7%A8%8B/</id>
    <link href="https://skylink9119.github.io/2026/03/04/%E7%BB%95%E8%BF%87MDM%E6%95%99%E7%A8%8B/"/>
    <published>2026-03-03T16:00:00.000Z</published>
    <summary>详细指导如何通过终端脚本在全新安装 macOS 时跳过 Remote Management (MDM) 注册。适用于所有现代 Mac 设备。</summary>
    <title>2026 最新 macOS MDM 远程管理绕过教程：支持 M1/M2/M3/M4 及 Intel 芯片</title>
    <updated>2026-07-20T08:54:36.000Z</updated>
  </entry>
</feed>
