我有一台 n150 主机,作为主路由稳定使用了 1 年多时间,另外有一台小米 be6500pro 路由器,一直作为纯 ap 。
n150 主机使用 pve 虚拟平台,除了安装 openwrt 作为主路由,另外安装了一台 debian 虚拟机跑了很多 docker 服务( alist 、vaultwarden 之类),另外光猫通过 vlan 绑定实现了网络和 iptv 的单线复用,并将 iptv 直接接入局域网,方法是在 openwrt 中将 wan.43 ( 43 是 iptv 的 vlan 号)加入 br-lan 组。>>>光猫 iptv 单线复用方案详解
这个方案最大的优势是: 完全无感的透明代理,包括 ipv6 流量。配合 fakeip 模式也可实现:本地 v6 、节点 v4 时的自动 fallback 。
后来随着 debian 虚拟机的服务变多,发现偶尔会遇到轻微网络卡顿,网络满载时的波动也比较高,虽然可通过 SQM 队列优化,但其本身又会加剧 cpu 消耗。猜测还是虚拟机的资源占用导致 n150 产生 cpu 中断影响转发效率,多加内存应该能缓解但是现在太贵了,于是转而想完成 docker 服务和宽带的解耦,考虑现有硬件不变的前提下:将小米 be6500pro 当主路由,n150 主机只装 debian ,同时做旁路网关。
劣势是:
优势是:
另外之前部分 docker 服务,我通过 stun 打洞暴露端口,并用脚本动态修改 cloudflare 的 origin rules 回源,>>>stun 打洞+cloudflare 回源规则,将本地服务放进公网
新方案由于没有 nat1 ,放弃了这个方案,改用 cloudfalre tunnel 的“已发布应用程序路由”进行回源,这个情况下 debian 虚拟机,需要确保每次开机时,cloudflared 先于代理进程启动,以我使用的 sing-box 举例,需在**/usr/lib/systemd/system/sing-box.service**的[service]块中添加 1 行:
ExecStartPre=/bin/bash -c 'until curl -s -f http://127.0.0.1:20241/ready > /dev/null 2>&1; do sleep 1; done'
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.