旁路由homeproxy(部署于immortalwrt)
家族科学上网的总闸:ImmortalWrt 旁路由跑 homeproxy 透明代理 + DNS 分流,同时是 Tailscale mesh 节点。它挂在 pve-home 上,宿主机重启全家"翻墙"中断。
访问方式
- Web 管理:
http://192.168.1.134(LuCI,HTTP 明文)
- SSH:
ssh -i ~/.ssh/external_ai_key root@100.64.0.17(busybox/ash,无 bash,命令需 busybox 兼容)
- 内网设备使用:把网关/DNS 指向 192.168.1.134,或 dnsmasq 分流(待确认家族设备接入方式)
技术架构
- ImmortalWrt(OpenWrt 分支,procd init),跑在 pve-home VM105(pangluyou,4C/2G)
- 网络:br-lan(eth0)DHCP 从主路由获取 192.168.1.134(旁路由模式,不接管 DHCP),ULA fd72:2557:fc9d::/48
- homeproxy:透明代理主组件,/etc/homeproxy/scripts/clean_log.sh 常驻清理日志/缓存
- dnsmasq:53 端口应答(127.0.0.1/192.168.1.134/Tailscale/IPv6),分流配合 homeproxy
- Tailscaled:mesh 节点 100.64.0.17(--port 41641);dbclient 用 /root/.ssh/mesh_pang_key 维持 SSH 隧道(mesh_pang = 与 pangluyou 体系的网格链路)
- 基础组件:uhttpd(80 LuCI)、dropbear(22)、odhcpd、ntpd、crond、rpcd
数据(存储/备份情况,重点标注风险盘)
- 根分区仅 290M、用 66%(剩 96M)—— OpenWrt 常见紧张水位,装新包/升级易满
- 零配置备份:/etc/config(network/firewall/dhcp)+ /etc/homeproxy(节点与分流规则)从未导出,VM 盘损或误升级 = 从零重建
- 无数据盘;/boot 分区(31.5M)有少量余量可放配置导出
使用方法
- 节点/分流变更:LuCI → 服务 → homeproxy
- 查代理状态:LuCI 首页或
cat /tmp/homeproxy_* 2>/dev/null | head(细节待确认)
- DNS 验证:
nslookup baidu.com 192.168.1.134
维护方式(启停/日志/配置)
- 重启代理:LuCI 操作或
/etc/init.d/homeproxy restart(init 名待确认)
- 日志:homeproxy 自带日志(由 clean_log.sh 定期清);系统日志
logread | tail
- 网络配置:/etc/config/network(已实采:lan 桥接 eth0,DHCP 客户端)
现状与风险
- 中:根分区 66% 剩 96M;无任何配置备份,重建成本约半天
- 中:单点依赖 pve-home——宿主机高负载(load 7.6)或维护重启时,家族代理与 DNS 分流全断
- 低:LuCI 仅 HTTP 明文;dropbear 22 对全内网
- 低:tailscaled 常驻吃内存(VSZ 1287m,RSS 低),2G 内存 VM 尚可
优化建议(3-6条,给可直接执行的命令)
- 立即导出配置备份(busybox 兼容):
tar -czf /mnt/sda1/wrt-conf-$(date +%m%d).tar.gz /etc/config /etc/homeproxy 2>/dev/null; ls -lh /mnt/sda1/
- 把配置定期推到 NAS(加 crontab):
echo '30 4 * * 0 tar -czf /tmp/wrt.tgz /etc/config /etc/homeproxy 2>/dev/null; scp -i /root/.ssh/mesh_pang_key /tmp/wrt.tgz root@100.64.0.15:/vol2/服务器档案/immortalwrt/' >> /etc/crontabs/root && /etc/init.d/cron restart(目标路径待确认)
- VM 开机自启 + 高优先级(pve-home 上):
qm set 105 --onboot 1 --startup order=1
- 降内存压力:
/etc/init.d/tailscale restart 排查常驻泄漏;非必要时关 IPv6 ULA 公告
- 根分区腾空间:
opkg list-installed | wc -l 后删无用包:opkg remove <包名>;日志限幅:uci set system.@system[0].log_size='64'
- LuCI 上 HTTPS(可选):uci set uhttpd.main.listen_http='0.0.0.0:80' 保留 + 生成自签证书启用 443,弱网环境防嗅探