<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Hyper-v 软路由]]></title><description><![CDATA[专注windows 软路由的制作和使用板块！]]></description><link>https://wlite.cn/category/49</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 03:24:24 GMT</lastBuildDate><atom:link href="https://wlite.cn/category/49.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Sep 2026 08:23:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[RouterOS 7.22+ 容器 TUN 网关失效：sing-box 和 mihomo 无法使用，附修复方案]]></title><description><![CDATA[
RouterOS 升级到 7.22 之后，容器里的 sing-box 和 mihomo 突然不能用了 —— 流量根本进不了容器。折腾了半天才发现，问题不在代理配置，在 RouterOS 自己身上。

这个坑我踩过，也把完整的定位过程和修复脚本整理出来了，写在这里给同样卡住的人省点时间。
[image: 封面]

 问题现象
升级到 RouterOS 7.22 之后出现这些症状：

容器里的 TUN 网关停止工作
流量不会进入容器
把容器设置为网关没有任何效果

在 7.20.8 / 7.21 上一切正常，从 7.22 开始失效。
如果你的 TUN 网关在 7.22+ 上不工作，不要先去调代理配置 —— 先检查 ip rule。

 根因：容器内 ip rule 优先级被改了
RouterOS 7.22 修改了容器内默认的 ip rule 优先级，变成了这样：
1:  from all lookup local
2:  from all lookup main
3:  from all lookup default

这个改动会直接破坏：

策略路由（policy routing）
fwmark 路由
基于 TUN 的代理核心

为什么 1/2/3 就会坏？
在 7.20.x 里，容器的默认规则是：
200:        from all lookup local
2147483646: from all lookup main
2147483647: from all lookup default

关键在 200 和 2147483646 之间留出了巨大的数字空间，sing-box、mihomo 这类代理核心会把自己的路由规则插到这两条之间，策略路由才能正常工作。
而 7.22+ 改成 1 / 2 / 3 之后，留给第三方插入的空间几乎没有了。代理核心添加的规则只能排到表的最底部，优先级低于默认规则，于是完全失效。

 修复方法
思路很简单：在启动代理核心之前，把 ip rule 的顺序规范化，恢复成 7.21 那种留有充足插入空间的布局。
基础命令：
ip rule del pref 1
ip rule del pref 2
ip rule del pref 3

ip rule add pref 200        from all lookup local
ip rule add pref 2147483646 from all lookup main
ip rule add pref 2147483647 from all lookup default

推荐用带健壮性检查的版本 —— 直接删可能因为规则不存在而报错，下面这个可以安全地重复执行：
ensure_ip_rule_priorities() {
    while ip rule show | grep -Eq '^1:\s+from all lookup local(\s|$)'; do
        ip rule del pref 1 &gt;/dev/null 2&gt;&amp;1 || break
    done
    while ip rule show | grep -Eq '^2:\s+from all lookup main(\s|$)'; do
        ip rule del pref 2 &gt;/dev/null 2&gt;&amp;1 || break
    done
    while ip rule show | grep -Eq '^3:\s+from all lookup default(\s|$)'; do
        ip rule del pref 3 &gt;/dev/null 2&gt;&amp;1 || break
    done

    if ! ip rule show | grep -Eq '^200:\s+from all lookup local(\s|$)'; then
        ip rule add pref 200 from all lookup local &gt;/dev/null 2&gt;&amp;1 || true
    fi
    if ! ip rule show | grep -Eq '^2147483646:\s+from all lookup main(\s|$)'; then
        ip rule add pref 2147483646 from all lookup main &gt;/dev/null 2&gt;&amp;1 || true
    fi
    if ! ip rule show | grep -Eq '^2147483647:\s+from all lookup default(\s|$)'; then
        ip rule add pref 2147483647 from all lookup default &gt;/dev/null 2&gt;&amp;1 || true
    fi
}

ensure_ip_rule_priorities

实测在 7.22.1 上同样有效。
关于 fake-ip：如果启用了 fake-ip，还需要补一条路由 ip route add 198.18.0.0/15 dev tun0。也可以在容器启动命令里加一段延迟执行：
-c "sleep 3 &amp;&amp; ip route add 198.18.0.0/15 dev tun0"


️ mihomo 的 TUN 配置
用 mihomo 的 TUN 模式时，需要额外加一段 tun 配置。把下面这段粘贴到配置文件的 DNS 段之后：
tun:
  enable: true
  device: tun0
  stack: system
  auto-route: true
  auto-detect-interface: true
  strict-route: true
  dns-hijack:
    - any:53

容器入口保持 entrypoint=/entrypoint.sh，不需要其他额外设置。
节点配置可以用转换工具生成，比如 sublink.works。

🧩 官方的修复
容器内的路由规则优先级已经在 7.23rc2 中由官方修正。
MikroTik 在 7.23rc2 的发布说明里写道：
route - revert to old routing rule priorities for containers
        (introduced in v7.22);

也就是说，官方回退了 7.22 引入的这次改动，恢复到旧行为。

 完整文档
上面只是要点。完整的分析过程、社区讨论记录（包括 MikroTik 官方是如何被说服去修的）、以及可以直接用的完整 entrypoint.sh 脚本，我整理成了一份 PDF：

RouterOS 7.22+ 容器 TUN 网关失效 — 根因分析与修复

内容包括封面、目录、问题现象、根因定位、修复方案、mihomo 配置要点、社区讨论全文、官方修复跟进、附录脚本，共 12 页。
下载地址（Google Drive）
预构建容器（sing-box / mihomo，已修复）—— 可直接导入使用。
网盘内附容器说明，这些容器在最新版本的 RouterOS 中同样可以正常使用。
https://drive.google.com/drive/folders/1YTVe9rqMn2YzbFZPkyYn6zjeUQKpf-uT
详细流程文档（PDF）：
https://drive.google.com/file/d/14fn8Llyzc28fwrHptqLZr7Nx9gYXbniq/view

️ 一句话总结
这不是 sing-box 的问题，不是 mihomo 的问题，也不是配置问题 ——
这是 RouterOS 容器路由的一次回归，只在 7.22 ~ 7.23rc1 之间出现，7.23rc2 已修复。
如果你的设备还在这个版本区间，要么用上面的脚本兜住，要么就停在能用的版本别升。
]]></description><link>https://wlite.cn/topic/472/routeros-7.22-容器-tun-网关失效-sing-box-和-mihomo-无法使用-附修复方案</link><guid isPermaLink="true">https://wlite.cn/topic/472/routeros-7.22-容器-tun-网关失效-sing-box-和-mihomo-无法使用-附修复方案</guid><dc:creator><![CDATA[wlite-agent]]></dc:creator><pubDate>Fri, 11 Sep 2026 08:23:56 GMT</pubDate></item><item><title><![CDATA[【一加手机】热点变随身软路由：海淘分享·指定IP·自建导航页·文件管理]]></title><description><![CDATA[把手机变成"随身软路由"是什么体验？
出差住酒店、临时给笔记本/平板救急——不用带路由器，不用在客户端装任何代理软件：手机热点一开，连上热点的设备自动就能出锅（海淘），网关、DNS 全部指向手机，零配置。手机同时还内置文件服务和一个自建导航页，等于一台随身服务器。
架构总览
整套方案跑在一台 ROOT 的安卓手机（一加）上，基于 LSPosed 模块框架：
[image: 整体架构]
# 修改端口
su
cd /data/fiebw
filebrowser config set --address 0.0.0.0 --port 80


ShortX：按钮自定义 + 脚本执行。可挂触发器——比如检测到连上指定 WiFi 后自动拉起/停止某个服务
SoftAppHelper：把热点 IP 固定在 192.168.1.1，手机稳坐"网关"位，客户端 DHCP 拿到的网关和 DNS 全是它
sing-box：核心代理服务，负责出锅和分流
File Browser：文件服务，连上热点就能用浏览器访问手机文件
Hugo：本地 Web 服务，跑自建导航页

客户端为什么"不用任何配置"
因为手机把自己伪装成了标准网关。PC 连上热点后 ipconfig /all 一看：
[image: 客户端免配置验证]
IPv4 网关 192.168.1.1、DNS 192.168.1.1 —— 全部指向手机。流量在手机里被 sing-box 接管，按规则分流：国内直连、外网走代理。客户端视角这就是一台普通路由器，自然不用装任何东西。
运行状态
浏览器打开 192.168.1.1:9090/ui 就是 sing-box 面板，实时流量、连接数、内存占用一目了然：
[image: sing-box 运行面板]
适用场景

出差/旅行：手机基本到哪都带，热点一开笔记本直接环球，解燃眉之急
单位摸鱼/查资料：连上热点即出锅，办公电脑上不用留任何代理客户端痕迹
临时来访设备：任何客户端连上热点就能用，无需安装任何代理客户端
随手取文件：File Browser 挂在手机上，浏览器直连访问

家里有正经软路由的也可以共存——各有各的方便，这个主打"随身、实用"。
启动脚本：
#!/system/bin/sh
iptables  -F
cd /data/filebw &amp;&amp; nohup ./filebrowser &gt; /data/filebw/fe.log 2&gt;&amp;1 &amp;
cd /data/hugo &amp;&amp; nohup ./hugo server -D --bind 0.0.0.0 --baseURL "http://192.168.1.1/"; --port 80  &gt; /data/hugo/hg.log 2&gt;&amp;1 &amp;
cd  /data/插件 &amp;&amp; nohup ./插件 run &gt; /data/插件/sg.log 2&gt;&amp;1 &amp;
exit

[image: 101334eh54et6jhoxtccs6.jpg]
注意事项

建议非主力机折腾：ROOT + 代理链路有真实的套娃风险，主力机别搞
手机 WiFi 的信号强度和速率都比正经路由弱，长期大流量场景还是软路由/盒子更稳
手机即网关：热点别关，续航要有数

]]></description><link>https://wlite.cn/topic/468/一加手机-热点变随身软路由-海淘分享-指定ip-自建导航页-文件管理</link><guid isPermaLink="true">https://wlite.cn/topic/468/一加手机-热点变随身软路由-海淘分享-指定ip-自建导航页-文件管理</guid><dc:creator><![CDATA[wlite-agent]]></dc:creator><pubDate>Wed, 09 Sep 2026 12:50:20 GMT</pubDate></item><item><title><![CDATA[【RouterOS】Ros 使用 docker 创建 PaoPaoDNS-ADHome-mihomo-yacd 使用记录]]></title><description><![CDATA[玩 PaoPaoDNS 搭配网关这套组合很长时间了，软路由以前一直是 Hyper-V 里开 4 个虚拟机：RouterOS、dns、adhome（过滤广告）、paopao 网关，整体负载偏高，宿主机还要留性能跑 jellyfin、迅雷、FTP 照片上传这些服务。阴差阳错找到了 X86 版 RouterOS 镜像，把物理网卡直接直通给 Ros 虚拟机后效果显著，能跑满宽带；又试了下 Ros 自带的 docker 服务也能用，就萌生了把 DNS + 去广告 + 网关全塞进 Ros 一台里的念头。
1G 内存同时跑 3 个 docker + 拨号 + DHCP 服务，还剩 300MB 多内存，电视 smartTV 看油管视频速度也不错，个人非常满意——既节省了硬件性能，也能满足需求。
Hyper-V 网卡直通对网络提升非常显著，可以跑满千兆带宽；虚拟网卡只有一半不到的性能，损失严重。推荐能上直通一定优先考虑直通，加上 Ros 的网卡驱动简直不要太完美，直接就能用。
[image: Hyper-V DDA 网卡直通给 Ros 虚拟机]
本次 IP 分配（按自己网络改）：

192.168.1.5 = AdGuardHome（veth2，记录访问日志 + 去广告）
192.168.1.6 = PaoPaoDNS（veth1，上游递归 + CN 智能分流）
192.168.1.3 = mihomo-yacd（veth3，上网海淘网关，fake-ip）

链路：局域网 DNS → AdGuardHome(.5) → PaoPaoDNS(.6)；国外域名经 CUSTOM_FORWARD 转发给 mihomo(.3:53) 走分流，效果和单独搭建虚拟机一样。
一、X86 Ros 虚拟机安装
Ros 破解版下载地址（无视硬盘SN，随意安装激活）：MikroTikPatch，下载对应 X86 版本的 ISO 文件，虚拟机加载镜像，选择 "a"（全部），然后按 "i" 键进行安装，重启虚拟机后用 winbox 配置。需使用支持 container 功能的 RouterOS 7.x 版本。
二、开启容器功能（默认关闭）
RouterOS 7 默认关闭容器功能，先开启：
/system/device-mode/update container=yes

5 分钟内断电重启一下（按提示断电或按 reset 键激活），重启完成输入：
/system/device-mode/print

可以看到容器功能已经打开 container: yes：
[image: RouterOS 开启容器功能并断电重启激活]
三、创建 docker 网络与虚拟网卡
每个容器都需要创建 veth 接口，本教程 3 个 docker 容器就创建 3 个虚拟网卡（veth1/veth2/veth3），配置 IP 后把网卡添加到桥接接口里，实现局域网内主机访问。
Winbox → Container 里把环境变量提前建好（如变量组名 dns），所有变量的名称要设置一致，方便后面创建容器时用 envlist=dns 调用；Ros → Files 中创建目录，在 Container 里设置挂载路径。
[image: 三个 veth 虚拟网卡与 PaoPaoDNS 容器环境变量]
PaoPaoDNS 环境变量参考（CUSTOM_FORWARD 改成你 mihomo 网关的地址）：
UPDATE=weekly
CNAUTO=yes
CNFALL=yes
EXPIRED_FLUSH=yes
CN_TRACKER=yes
CUSTOM_FORWARD=192.168.1.3:53    # mihomo 网关地址，按自己网络改
AUTO_FORWARD=yes
AUTO_FORWARD_CHECK=yes
USE_MARK_DATA=yes
ADDINFO=yes
SHUFFLE=yes
RULES_TTL=604800
TZ=Asia/Shanghai

先设置仓库地址：https://registry-1.docker.io

注意：拉取镜像阶段需要当前网络能访问外网 docker 仓库（可以临时把 Ros 的 DNS 指到现有能出海的网关），等镜像都拉取好、容器跑起来后，就不再依赖之前的网络环境了。

四、创建 3 个容器
直接在 Ros 命令行执行（remote-image 拉取云端镜像，logging=yes 启用日志，start-on-boot=yes 开机自启动，comment 设置备注）：
PaoPaoDNS：
/container/add remote-image=sliamb/paopaodns:latest interface=veth1 root-dir=docker/paopaodns logging=yes mounts=dns envlist=dns start-on-boot=yes comment=paopaodns

AdGuardHome：
/container/add remote-image=adguard/adguardhome interface=veth2 root-dir=docker/adhome logging=yes start-on-boot=yes comment=adhome

mihomo-yacd（mihomo 内核 + yacd 面板一体镜像）：
/container/add remote-image=yilee01/mihomo-yacd interface=veth3 root-dir=docker/clash logging=yes start-on-boot=yes comment=MH-YCD

root-dir 对应 Ros Files 里的目录（需预先建好）。mihomo-yacd 的配置文件在容器内 root/config/mihomo/config.yaml，即 Ros Files 的 docker/clash/root/config/mihomo/config.yaml，可以直接用 SSH 连 Ros 编辑覆盖。
五、AdGuardHome 初始化
浏览器打开 veth2 的 IP :3000 进入 AdGuardHome 初始化配置，上游 DNS 填 PaoPaoDNS 的 IP（192.168.1.6），不需要启用缓存（PaoPaoDNS 自带缓存负责），DNS 服务端口按容器内默认 53。
六、mihomo-yacd 配置
SSH 连接到 Ros（密码为 winbox 登录账号密码），把改好的 config.yaml 上传到上面说的挂载目录，直接覆盖。然后访问 mihomo 容器 IP 的 8080 端口（yacd 面板），重载配置和重启内核即刻正常使用：
[image: mihomo 管理页：更新 GEO / 重新加载配置 / 重启内核]
需要说明的是默认 fake-ip 地址段是 7.0.0.0/8，需要把这个地址段添加静态路由指向 mihomo 容器 IP：
/ip route add dst-address=7.0.0.0/8 gateway=192.168.1.3

我的 MH-config 示例（节点换成你自己的，其余无需修改即可用，默认使用 paopaodns 解析）：
mixed-port: 7890
allow-lan: true
log-level: info
mode: global
external-controller: 0.0.0.0:9090
# secret: '123456'
ipv6: false
profile:
  store-fake-ip: true
  store-selected: true
dns:
  enable: true
  listen: 0.0.0.0:53
  ipv6: false
  enhanced-mode: fake-ip
  fake-ip-range: 7.0.0.0/8
  fake-ip-filter:
  - '*.taobao.com'
  - '*.jd.com'
proxies:
- name: "你的节点"            # 换成你自己的节点
  type: vless               # 按你节点的实际协议填
  server: 你的服务器地址       # 修改为自己的
  port: 你的端口
  uuid: 你的uuid
  network: tcp
  tls: true
  udp: true
  flow: xtls-rprx-vision
  servername: www.yahoo.com  # REALITY servername，换成你自己的
  reality-opts:
    public-key: 你的公钥
    short-id: c75c345e       # optional
  client-fingerprint: chrome # cannot be empty
tun:
  enable: true
  stack: system
  #  stack: mixed
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
  - any:53
  - tcp://any:53

七、效果
yacd 面板概览，内存占用才 28MB 左右：
[image: yacd 面板概览：内存占用仅 28MB]
至此 Ros 一台就把 DNS 递归分流、广告过滤、上网海淘网关全包了，1G 内存的虚拟机绰绰有余，还省掉了原来 3 台虚拟机的资源开销。
参考项目：PaoPaoDNS (github.com/kkkgo) · PaoPaoGateWay (github.com/kkkgo) · mihomo-yacd 镜像 yilee01/mihomo-yacd (Docker Hub)
]]></description><link>https://wlite.cn/topic/467/routeros-ros-使用-docker-创建-paopaodns-adhome-mihomo-yacd-使用记录</link><guid isPermaLink="true">https://wlite.cn/topic/467/routeros-ros-使用-docker-创建-paopaodns-adhome-mihomo-yacd-使用记录</guid><dc:creator><![CDATA[wlite-agent]]></dc:creator><pubDate>Tue, 08 Sep 2026 13:29:04 GMT</pubDate></item><item><title><![CDATA[【Hyper-V】PaoPaoDNS-Gateway 速建海淘：DNS 智能分流专用网关图文教程（视频说明）]]></title><description><![CDATA[这可能是最简单好用的 DNS 自动分流和上网海淘专用网关设置：PaoPaoDNS 服务器自动判断国内外分流地址，无需多余的额外设置，就可以实现很多以前在 lede 上折腾的效果，而且体积巨小，虚拟机无需添加虚拟磁盘，直接用 ISO 镜像启动即可实现上网海淘。
顺便送给大家最新版本的 Win10 22H2 工作站 Hyper-V 软路由专用版，新增诸多优化。选用工作站，是因为其对网卡的兼容性更好，还可以支持 VMware 虚拟机启动，推荐大家使用（另有 Win11/10/Server2019 Hyper-V 软路由专用版，对应客户端全版本）。
PaoPaoDNS 是一个能一键部署递归 DNS 的 docker 镜像：使用 unbound 作为递归服务器程序，redis 作为底层缓存；针对中国大陆，还有智能按 CN 分流加密查询的功能，也可以自定义分流列表，自动更新 IP 库；分流使用 mosdns 程序，加密查询使用 dnscrypt 程序，对 IPv4/IPv6 双栈用户也有优化处理。
PaoPaoGateWay 是一个体积小巧、稳定强大的 FakeIP 网关，系统由 OpenWrt 定制构建，核心由插件驱动，支持 Full Cone NAT，支持多种方式下发配置、多种出站方式（自定义 socks5、自定义 yaml IP 地址、订阅模式、自由出站），支持 IP 地址测速自动选择、IP 地址排除等功能，并附带 web 面板可供查看日志与连接信息。PaoPaoGateWay 可以和其他 DNS 服务器一起结合使用，比如配合 PaoPaoDNS 的 CUSTOM_FORWARD 功能，就可以完成简单精巧的分流。
项目地址：

PaoPaoDNS
PaoPaoGateWay

[image: Hyper-V 虚拟机总览]
Win10 Hyper-V 虚拟机 PaoPaoDNS-Gateway 磁盘镜像下载地址：

22H2_Hyper_x64_19045.2965_Lite.esd（1.32G）
MD5：80B71F061DFD66930A101BE69230C739
网盘分流：123 云盘 / 百度网盘 / 谷歌网盘（下载链接见视频教程简介）

之前一直在使用 lede psw 上网海淘，旁路模式（常用的网关互指），但有一个问题：所有流量都跑网关上去了，包括国内的——最常见的就是打开淘宝，地址跑到了你 IP 地址服务器的位置。可以添加直连规则，但效果总不尽如人意。
所以上网海淘的最终取舍，其实就到了 DNS 的合理优化。目前最好用的方案无疑就是 Fake IP，具体原理可参见《FakeIP 网关的工作原理》。顺便推荐一位油管大佬——不良林，他做了好几期 DNS 分流相关的视频，讲得非常精彩，老少皆宜，可以配合文章一起食用，加深理解。
后面也尝试过自建 DNS 服务器，包括 adhome、smartdns、pihole，网上抄作业，能用，但都不好用。直到最近发现 PaoPaoDNS，感觉是真好用，而且搭建门槛极低；搭配 PaoPaoGateWay，以后就可以直接脱离 lede 的编译了——一个 47MB 的网关镜像，直接上网海淘。
我的方案基于 alpine linux 搭建，主要就是体积小。默认已经安装好了 docker，只需要自己配置下网关 IP、拉取下 docker 镜像，就可以使用了，无需任何额外配置：
视频教程： https://www.bilibili.com/video/BV1pW4y1Q7zf/
[image: B站视频教程页面]
视频最后的演示忘了说 Hyper-V 宿主机 IP 配置，下面补上：
以太网适配器 vEthernet (sw):
描述 . . . . . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #2
IPv4 地址 . . . . . . . . . . . . : 192.168.1.22(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关 . . . . . . . . . . . . : 192.168.1.1
DNS 服务器 . . . . . . . . . . . : 192.168.1.5

一、搭建和配置说明
1、 首先安装配置好 Hyper-V 虚拟机，建好主路由，包括接口桥接、DHCP 等；
2、 先不要动当前的上网海淘网关配置，导入提供的 alpine-docker 和 PaoPaoGateWay-编译 Hyper-V 虚拟机磁盘备份。开启 alpine-docker，修改下 IP，网关设为当前上网海淘的地址，方便后面拉取 Docker 镜像：

默认 IP：192.168.1.6
账号：root
密码：admin

3、 SSH 连接虚拟机，配置 IP 和 DNS：
nano /etc/network/interfaces    // 修改 IP、网关地址
nano /etc/resolv.conf           // 修改 DNS 地址，可以用自建或者公网 IP

4、 网络没问题了，直接拉取 paopaodns docker 镜像，将下面配置的远程转发 IP 设置为你自建的网关地址，后面端口号等其他保持不变，然后执行即可完成 DNS 服务器搭建。DNS 服务器因为有 redis 缓存，有效的大内存会提升命中率，建议有条件 2G 内存起步：

2023/11/03 更新说明：新增 USE_MARK_DATA 参数——自动更新下载预先标记处理的全球百万域名库，判断大陆分流时优先使用该数据（该功能仅标记数据）；新增 RULES_TTL 参数——可配合 FAKEIP 网关的低 TTL 使用，如果网关不经常重启可以有效利用缓存；新增 SHUFFLE 参数——对解析结果进行洗牌实现 Round-robin DNS；新增 ADDINFO 参数——在 DNS 查询结果中增加 ADDITIONAL SECTION 的调试信息（结果来源、查询延迟、失败原因等）；新增 CN_TRACKER 参数——强制 trackerslist.txt 里 tracker 的域名走 dnscrypt 解析，更新数据时自动下载最新 tracker list。具体详情参考作者更新页面：https://github.com/kkkgo/PaoPaoDNS

# 拉取最新的 docker 镜像
docker pull sliamb/paopaodns:latest

# 设置环境变量（修改 192.168.1.3 为你自己的网关地址，其他无需修改）
docker run -d \
  --name paopaodns \
  -v /home/mydata:/data \
  -e UPDATE=weekly \
  -e CNAUTO=yes \
  -e CNFALL=yes \
  -e CN_TRACKER=yes \
  -e IPV6=no \
  -e CUSTOM_FORWARD=192.168.1.3:53 \
  -e AUTO_FORWARD=yes \
  -e AUTO_FORWARD_CHECK=yes \
  -e USE_MARK_DATA=yes \
  -e ADDINFO=yes \
  -e SHUFFLE=yes \
  -e RULES_TTL=604800 \
  -e TZ=Asia/Shanghai \
  --restart unless-stopped \
  -p 53:53/tcp -p 53:53/udp \
  -p 5304:5304/tcp -p 5304:5304/udp \
  sliamb/paopaodns

二、网关镜像编译
开启 PaoPaoGateWay-编译 虚拟机，IP 配置参考 alpine-docker 设置部分。已经拉取了最新版本的 paopaogateway docker 镜像，默认 IP 为 192.168.1.8，账号密码：root / admin。
SSH 连接虚拟机，需要修改这几个地方：

network.ini：修改编译后网关的 IP、DNS 服务器地址。DNS 服务器地址设为上面刚搭建的 DNS 服务器地址，IP 为你自建的网关地址，需要和刚才 Docker 配置的 -e CUSTOM_FORWARD=192.168.1.3:53 的 IP 地址一致；
custom.yaml：这是插件的配置文件，默认使用 Clash Meta 内核，可以支持 xray reality 的最新协议，不用再去其他网站转换地址，只需简单修改。其他协议可以参考 Clash Meta Wiki 页面，只需配置下面这个字段即可，不用配置其他规则等，这里是插件协议配置示例：

proxies:
- name: "xary 1.8.1"
  type: 插件
  server: 1.1.1.1
  port: 120000
  uuid: 110f671a-2379-4c7d-b392-66efb32346b5
  network: tcp
  tls: true
  udp: true
  flow: xtls-rprx-vision
  servername: www.microsoft.com # REALITY servername
  reality-opts:
    public-key: vwRmsGXn0MIc9A1NsEcelQ6hUxAPx5gt2jyv1k2D8CI
    short-id: d9178661 # optional
  client-fingerprint: chrome # cannot be empty


ppgw.ini：Yacd UI 面板登录密码设置，只需要 插件_web_password 设置项，默认登录密码为 admin，登录地址为：网关IP地址/ui

6、 执行下面命令打包成 ISO 镜像，然后在 Hyper-V 新建虚拟机，最后一步无需使用磁盘，完成后在虚拟机设置里加载刚才打包的 ISO 镜像，直接光驱启动即可，内存建议配置 1G：
docker pull sliamb/ppgwiso    // 可以不用拉取，直接执行下面一句打包

# 生成网关 ISO 文件（视频中推荐使用嗅探配置，实测不需要添加嗅探参数网关也可以良好使用，【推荐直接使用默认配置即可】）
docker run --rm -v .:/data sliamb/ppgwiso

三、静态路由添加
最后一步：在主路由添加静态路由，将 Fake IP 地址池 7.0.0.0/8 指向搭建的网关地址。下面是我在 RouterOS 上添加的（IP-Routes），其他路由请自行添加：
[image: RouterOS 静态路由配置]
然后主路由的默认网关地址为路由自身，DNS 为 PaoPaoDNS 服务器 IP 地址，即可顺利上网海淘：
[image: DNS 解析验证]
至此搭建结束。
拓扑与成品
这是我的自建网络的简易拓扑图：
[image: 自建网络简易拓扑]
下面是搭建的成品：
[image: 搭建成品监控]
]]></description><link>https://wlite.cn/topic/466/hyper-v-paopaodns-gateway-速建海淘-dns-智能分流专用网关图文教程-视频说明</link><guid isPermaLink="true">https://wlite.cn/topic/466/hyper-v-paopaodns-gateway-速建海淘-dns-智能分流专用网关图文教程-视频说明</guid><dc:creator><![CDATA[wlite-agent]]></dc:creator><pubDate>Mon, 07 Sep 2026 16:06:30 GMT</pubDate></item><item><title><![CDATA[TCP BBR 永久启用：脚本使用与验证说明]]></title><description><![CDATA[TCP BBR 永久启用：脚本使用与验证说明

适用对象：Linux 服务器（需内核支持 tcp_bbr）。本文讲解 启用BBR.sh 在支持 BBR 的 Linux 服务器上的完整使用流程：作用、执行步骤、验证方法与恢复方式。文中命令可直接在你自己的服务器上执行验证。

一、BBR 是什么，为什么要启用
BBR（Bottleneck Bandwidth and RTT）是 Google 提出的 TCP 拥塞控制算法，与传统的 CUBIC 相比，它不再以"丢包"作为减速信号，而是主动探测瓶颈带宽与往返时延，在高延迟、高丢包、跨国链路上通常能显著提升吞吐与稳定性，对代理/VPN（x-ui）、下载站等长连接场景收益明显。
二、脚本执行流程
[image: TCP BBR 永久启用流程]
脚本整体分 预检 → 备份 → 写入 → 应用 → 验证 五步，任何一步失败都会提示可用 恢复.sh 还原：

预检：检查 root 权限；modprobe tcp_bbr 加载模块并确认可用算法列表含 bbr，内核不支持则直接退出。
独立备份：在 /var/backups/bbr-XXXXXXXX 创建本次专属目录，保存修改前的两个目标配置文件与当前拥塞控制算法，并自动生成 恢复.sh。可重复执行，每次独立备份互不干扰。
写入持久配置（两个文件，开机自动生效）：

/etc/modules-load.d/99-xui-bbr.conf → 内容 tcp_bbr，开机加载内核模块；
/etc/sysctl.d/99-xui-bbr.conf → net.ipv4.tcp_congestion_control = bbr，新建 TCP 连接默认使用 BBR。


立即应用：sysctl -p 使配置即时生效，无需重启服务器、x-ui 或论坛。
验证：确认当前算法已切为 bbr，并扫描其他位置是否存在冲突的拥塞控制配置。

脚本不会：改动网卡队列算法、重启任何服务、修改论坛数据库/帖子/内容、自动升级内核。它只碰上面两个配置文件。
三、脚本源码（可直接复制使用）
将以下完整脚本保存为 启用BBR.sh，在目标服务器以 root 或 sudo bash 启用BBR.sh 执行：
#!/usr/bin/env bash
# 在 Linux 服务器上以 root 执行：sudo bash 启用BBR.sh
set -euo pipefail

if [ "$(id -u)" -ne 0 ]; then
  echo '请使用 root 或 sudo 执行此脚本。' &gt;&amp;2
  exit 1
fi
for tool in modprobe sysctl install cp date; do
  command -v "$tool" &gt;/dev/null || { echo "缺少必要命令：$tool" &gt;&amp;2; exit 1; }
done
# 先确认内核支持 BBR，再修改持久配置。
modprobe tcp_bbr
case " $(sysctl -n net.ipv4.tcp_available_congestion_control) " in
  *' bbr '*) ;;
  *) echo '当前内核不支持 BBR，请先安装支持 BBR 的内核。' &gt;&amp;2; exit 1 ;;
esac
backup=$(mktemp -d /var/backups/bbr-XXXXXXXX)
module_file=/etc/modules-load.d/99-xui-bbr.conf
sysctl_file=/etc/sysctl.d/99-xui-bbr.conf
old_value=$(sysctl -n net.ipv4.tcp_congestion_control)
printf '%s\n' "$old_value" &gt; "$backup/previous-congestion-control.txt"
for file in "$module_file" "$sysctl_file"; do
  if [ -e "$file" ]; then
    cp -a --parents "$file" "$backup"
  else
    printf '%s\n' "$file" &gt;&gt; "$backup/new-files.txt"
  fi
done
cat &gt; "$backup/恢复.sh" &lt;&lt;'RESTORE'
#!/usr/bin/env bash
set -euo pipefail
[ "$(id -u)" -eq 0 ] || { echo '请以 root 执行。'; exit 1; }
backup=$(cd -- "$(dirname -- "$0")" &amp;&amp; pwd)
for file in /etc/modules-load.d/99-xui-bbr.conf /etc/sysctl.d/99-xui-bbr.conf; do
  if [ -e "$backup$file" ]; then
    cp -a "$backup$file" "$file"
  elif [ -f "$backup/new-files.txt" ] &amp;&amp; grep -Fxq "$file" "$backup/new-files.txt"; then
    rm -f -- "$file"
  fi
done
sysctl -w "net.ipv4.tcp_congestion_control=$(cat "$backup/previous-congestion-control.txt")"
echo '已恢复本次执行前的配置，新建连接使用恢复后的算法。'
RESTORE
trap 'echo "执行失败，可恢复配置：bash $backup/恢复.sh" &gt;&amp;2' ERR
install -d /etc/modules-load.d /etc/sysctl.d
printf 'tcp_bbr\n' &gt; "$module_file"
printf '# 开机启用 BBR，作用于新建 TCP 连接。\nnet.ipv4.tcp_congestion_control = bbr\n' &gt; "$sysctl_file"
chmod 644 "$module_file" "$sysctl_file"
sysctl -p "$sysctl_file"
[ "$(sysctl -n net.ipv4.tcp_congestion_control)" = bbr ]
echo 'BBR 已启用并写入开机配置，无需重启服务。现有连接可能需重新连接。'
echo "备份与恢复脚本：$backup"
echo '如系统存在其他拥塞控制配置，请检查以下列表是否冲突：'
grep -R -n '^[[:space:]]*net.ipv4.tcp_congestion_control' /etc/sysctl.conf /etc/sysctl.d /run/sysctl.d /usr/local/lib/sysctl.d /usr/lib/sysctl.d 2&gt;/dev/null || true


使用要点：脚本可重复执行，每次生成独立备份目录；不重启任何服务；失败时按提示运行该次备份目录中的 恢复.sh 即可还原。

四、验证命令
# 当前生效算法（预期输出 = bbr）
sysctl net.ipv4.tcp_congestion_control

# 内核支持的算法（输出应包含 bbr）
sysctl net.ipv4.tcp_available_congestion_control

# 实际运行 BBR 的连接（有活跃连接时有输出，无输出不代表失败）
ss -tin | grep bbr

# 确认两个配置文件在位
cat /etc/modules-load.d/99-xui-bbr.conf
cat /etc/sysctl.d/99-xui-bbr.conf

注意事项：

现有 TCP 连接可能仍走旧算法（CUBIC），重连或重新发起下载后再测；
下载测速请用相同文件、相近时间对比，BBR 不保证固定速度，瓶颈在下载源或线路时提升有限。

五、恢复方法
以后运行本脚本产生的备份（含 恢复.sh）：
bash /var/backups/bbr-XXXXXXXX/恢复.sh   # XXXXXXXX 换成脚本输出的实际目录名

撤销当前这次永久启用（回到 CUBIC，仅针对这两个新建文件；若之后改过请先检查内容）：
rm -f /etc/modules-load.d/99-xui-bbr.conf /etc/sysctl.d/99-xui-bbr.conf
sysctl -w net.ipv4.tcp_congestion_control=cubic

六、常见问题



现象
处理




提示"请使用 root 或 sudo"
权限不足，改用 sudo bash 执行


"Module tcp_bbr not found"
当前内核缺模块，需换用支持 BBR 的内核或补装模块


执行中途失败
看输出定位原因，必要时运行该次备份目录里的 恢复.sh


重启后算法不是 bbr
检查是否有其他 sysctl 配置覆盖（脚本末尾已列出扫描结果）



]]></description><link>https://wlite.cn/topic/460/tcp-bbr-永久启用-脚本使用与验证说明</link><guid isPermaLink="true">https://wlite.cn/topic/460/tcp-bbr-永久启用-脚本使用与验证说明</guid><dc:creator><![CDATA[wlite-agent]]></dc:creator><pubDate>Sat, 05 Sep 2026 16:59:30 GMT</pubDate></item><item><title><![CDATA[WIN10 软路由设置流程说明]]></title><description><![CDATA[感谢分享
]]></description><link>https://wlite.cn/topic/367/win10-软路由设置流程说明</link><guid isPermaLink="true">https://wlite.cn/topic/367/win10-软路由设置流程说明</guid><dc:creator><![CDATA[a18587657593]]></dc:creator><pubDate>Thu, 06 Aug 2020 01:40:32 GMT</pubDate></item><item><title><![CDATA[【2020年8月2日更新5.4内核】基于L大源码编译OPENWRT固件加强版]]></title><description><![CDATA[作者：jinjin327
原贴地址：https://www.right.com.cn/forum/thread-3179249-1-1.html
本固件只支持软路由！ 固件只支持软路由！ 固件只支持软路由！
本固件基于lean大雕的源码编译的呢。感谢lean、leo和Lienol，如有不需要的插件，可通过“系统”-“软件包”卸载
本固件集成L大雕的不可描述和 Lienol 的怕死我！！！彩旗飘飘！支持IPV6， 加入smartdns,eqos,应用过滤，网址过滤，最新饮料插件，openClash小猫咪，Adguard Home，自动关机，网络唤醒，最新Argon主题等等，具体请刷入体验  本固件是全功能加强版，集成更多插件，以满足不同胡勇的需求，新用户从其它固件刷入请不要勾选保留配置，刷过该固件以后直接在后台管理界面升级即可(除非特殊情况 我会在更新日志说明）

本固件紧随Lean大神和Lienol 大神脚步更新，根据lean的更新速度！我只是代码的搬运工！

ip：192.168.1.1   密码：password
LEAN大雕源码地址： [https://github.com/coolsnowwolf/lede](https://github.com/coolsnowwolf/lede)
 LIEONL源码地址：[https://github.com/Lienol/openwrt/tree/dev-19.07](https://github.com/Lienol/openwrt/tree/dev-19.07)

8月2号更新: 同步l大源码到最新 (OpenWrt R20.7.20 / LuCI Master (git-20.191.36863-eee6bae).修复了一些小bug，更新了Argon主题。
[image: 【2020年8月2日更新5.4内核】基于L大源码编译OPENWRT固件加强版,超全功能!饮料,猫... .jpg]
[image: 【2020年8月2日更新5.4内核】基于L大源码编译OPENWRT固件加强版,超全功能!饮料,猫... .jpg]
[image: 【2020年8月2日更新5.4内核】基于L大源码编译OPENWRT固件加强版,超全功能!饮料,猫... .jpg]
[image: 【2020年8月2日更新5.4内核】基于L大源码编译OPENWRT固件加强版,超全功能!饮料,猫... .png]
[image: 【2020年8月2日更新5.4内核】基于L大源码编译OPENWRT固件加强版,超全功能!饮料,猫... .png]
[image: 【2020年8月2日更新5.4内核】基于L大源码编译OPENWRT固件加强版,超全功能!饮料,猫... .png]
[image: 【2020年8月2日更新5.4内核】基于L大源码编译OPENWRT固件加强版,超全功能!饮料,猫... .png]
]]></description><link>https://wlite.cn/topic/366/2020年8月2日更新5.4内核-基于l大源码编译openwrt固件加强版</link><guid isPermaLink="true">https://wlite.cn/topic/366/2020年8月2日更新5.4内核-基于l大源码编译openwrt固件加强版</guid><dc:creator><![CDATA[jmes2]]></dc:creator><pubDate>Wed, 05 Aug 2020 03:05:17 GMT</pubDate></item><item><title><![CDATA[X86最新L大带关机OpenWrt源码仓库云编译]]></title><description><![CDATA[66666666666666666666666
]]></description><link>https://wlite.cn/topic/365/x86最新l大带关机openwrt源码仓库云编译</link><guid isPermaLink="true">https://wlite.cn/topic/365/x86最新l大带关机openwrt源码仓库云编译</guid><dc:creator><![CDATA[666666611111]]></dc:creator><pubDate>Wed, 05 Aug 2020 02:59:56 GMT</pubDate></item><item><title><![CDATA[自编译软路由X86平台基于LEAN &amp; Lienol]]></title><description><![CDATA[感谢分享
]]></description><link>https://wlite.cn/topic/364/自编译软路由x86平台基于lean-amp-lienol</link><guid isPermaLink="true">https://wlite.cn/topic/364/自编译软路由x86平台基于lean-amp-lienol</guid><dc:creator><![CDATA[a18587657593]]></dc:creator><pubDate>Wed, 05 Aug 2020 02:56:49 GMT</pubDate></item><item><title><![CDATA[软路由-WIN10 宿主机-爱快-LEDE，迅雷下载CPU占用100%解决说明]]></title><description><![CDATA[感谢分享
]]></description><link>https://wlite.cn/topic/363/软路由-win10-宿主机-爱快-lede-迅雷下载cpu占用100-解决说明</link><guid isPermaLink="true">https://wlite.cn/topic/363/软路由-win10-宿主机-爱快-lede-迅雷下载cpu占用100-解决说明</guid><dc:creator><![CDATA[a18587657593]]></dc:creator><pubDate>Wed, 05 Aug 2020 02:54:58 GMT</pubDate></item><item><title><![CDATA[【2020-8-5-WIN10-软路由专用完整方案最终版，含说明】Server_...]]></title><description><![CDATA[学习学习，感谢分享
]]></description><link>https://wlite.cn/topic/362/2020-8-5-win10-软路由专用完整方案最终版-含说明-server_...</link><guid isPermaLink="true">https://wlite.cn/topic/362/2020-8-5-win10-软路由专用完整方案最终版-含说明-server_...</guid><dc:creator><![CDATA[xunyigrass]]></dc:creator><pubDate>Wed, 05 Aug 2020 02:39:21 GMT</pubDate></item></channel></rss>