我的家庭监控的安全使用办法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
wanmyj
V2EX    程序员

我的家庭监控的安全使用办法

  •  
  •   wanmyj 183 天前 3005 次点击
    这是一个创建于 183 天前的主题,其中的信息可能已经有所发展或是发生改变。

    接上次我发帖征求家庭监控部署方案,在 v2ers 的帮助下,我了解到很多软件,也达成了满足需求的目的。
    原帖地址:t/1122241


    关于隐私与安全

    在家庭监控中,隐私不可避免地会有一定程度的暴露。彻底的安全需要牺牲很多便利,因此我们必须在安全与易用之间找到平衡,这就需要建立“信任链”。

    我个人信任路由器的防火墙和苹果的云服务,但国内厂商的软件及其云服务不在我的信任范围内。


    我的需求

    在有限信任链内搭建一套家庭监控系统,具备如下功能:

    • 本地录像
    • 局域网内直播与回放
    • 远程访问直播与回放
    • 尽量支持移动侦测
    • 少量订阅费用
    • 尽可能稳定、易用

    硬件部分

    • 闲鱼购入的 85 元 PoE 网络摄像头(三台,支持移动侦测)
    • 30 元的 PoE 傻瓜交换机
    • 一台 24 小时运行的双网口 Windows 服务器作为录像机
    • 一块 1TB 移动硬盘用作录像存储
    • 一台 Apple TV 作为 HomeKit 中枢

    网络结构

    我家服务器双网口分别连接:

    • 上网网络( 10.0.0.0/24 )
    • 摄像头局域网( 192.168.1.0/24 )
      这样能减少家庭主网的负载。如无双网口也可以用 VLAN 交换机隔离网络。

    服务器中通过 Hyper-V 启动一个 Linux 虚拟机
    使用 OpenWRT 作为软路由,方便配置 VPN 和内网转发。
    如果无公网 IP ,也可使用 SoftEther + OpenVPN 实现远程访问。


    软件组件

    • iSpy:运行在 Windows 上,支持录像、网页访问和移动 APP 。基础功能免费,穿透功能需订阅。
    • Scrypted:运行在 Linux 虚拟机里,通过 Docker 部署。可桥接 HomeKit ,实现苹果生态集成。但录像功能需订阅。
    • OpenVPN:用于远程安全访问内网。
    • Apple HomeKit ( Home App ):用于本地和远程监控查看。支持移动侦测录像,但不支持全程录像。

    以上实现的功能

    • 三台监控的实时录像保存在本地的移动硬盘中,并且循环保存不用手动清理。
    • 局域网内,使用 Home app 在手机上和电视上,或者使用 iSpy 在 APP 和网页端,看直播。
    • 局域网内,使用 Home app 在手机上,看移动侦测的回放片段
    • 局域网内使用 iSpy 在 APP 和网页端看回放
    • 在远程网络中,openvpn 翻回家后,使用 iSpy 的 APP 和网页端,看直播
    • 在远程网络中,openvpn 翻回家后,使用 iSpy 的 APP 和网页端,看回放
    • 在远程网络中,使用 Home app ,看移动侦测的回放片段
    • 在远程网络中,使用 Home app ,看直播(但不一定每次都能连上)
    • 订阅花费仅有 iCloud 的花费

    P 一个大 S

    如果你无所谓网络的性能的需求(200W 像素的码流大概 5Mbps),那你可以把摄像机直接放到上网的网段中,再通过路由器屏蔽连接外网的功能.

    如果你无所谓录像的功能,那你也可以不用 iSpy ,直接用 homekit 完成所有需求。

    设置 Scrypted 和 Homekit ,主要是解决老婆等家人对易用性的需求,其次 HomeKit 的体验度和视频的流畅度也是很高的。

    HomeKit 在我的环境中有一个问题,就是在远程访问时候经常出现连接不上 Scrypted 网桥的问题,现象就是看不了摄像头的直播画面,随机出现,时而秒连,目前无解。

    即使你没有 AppleTV ,或者对方便易用性要求不高,那么 iSpy 完全可以满足你的需求。在此基础上如果你对安全性要求也非极致的高,那其实 openvpn 也不需要,直接 ispy 设置访问密码,用公网端口转发就可以。


    总结

    这一条路我是已经完全走通的,但是这里边也有很多技术细节和踩坑的地方,我觉得一一写出来大家反倒太长不看。

    看真正需要的人现在可以去动手做这些事情,如果在做的时候有遇到任何问题可以在评论区留言,我看到后如果是我踩过的坑就会回复。


    致谢

    献给我家的小公主
    没办法,老父亲实在是太爱了


    附图

    使用蜂窝网络查看室内监控

    pic1

    iSpy 的 App 页面

    iSpy APP

    iSpy 的 web 页面

    iSpy WEB

    15 条回复    2025-04-15 09:57:06 +08:00
    fivemoons
        1
    fivemoons  
       183 天前
    sentryshot 支持 rtsp 、录制回放、移动侦测,自托管完用 web 访问,刚用了不到一个月,稳定
    https://github.com/SentryShot/sentryshot
    HackerTerry
        2
    HackerTerry  
       183 天前
    您好,请问这些开源方案支持控制云台的旋转吗?
    wanmyj
        3
    wanmyj  
    OP
       183 天前 via iPhone
    @HackerTerry homekit 原生是无法支持的。ispy 支持设置 ptz ,有 ptz 巡逻和跟踪的选项,但是因为我家的监控没有 ptz 所以没有实验
    yinmin
        4
    yinmin  
       183 天前 via iPhone
    windows server 内置“路由和远程访问”支持多网段路由和 vpn ( l2tp 、ikev2 、sstp ),可以替代 openwrt 虚拟机
    wanmyj
        5
    wanmyj  
    OP
       183 天前
    @yinmin 是的没错,WinServer 里面内置路由功能。但是从易用性和通用性的角度来说还是 openwrt 虚拟机或者实体机方便一些,遇到问题网上基本可以搜到。
    dacancc
        6
    dacancc  
       183 天前
    @fivemoons 好用,计算了下,家里两个头,保存 1 周的录像得 1T ,本地化成本有点高
    fivemoons
        7
    fivemoons  
       182 天前
    @dacancc 看来是高端摄像头,我 1 个最便宜的天地伟业摄像头对着车库,300 万像素,H265 取流有问题,还要联系客服,我就改成 H264 了,一小时不到 1G ,后来在设置里开启 S+,现在一个小时才 300M
    foru17
        8
    foru17  
       182 天前
    https://luolei.org/secure-home-camera-setup
    ONVIF 摄像头 + Surveillance + HomeKit + NodeRed
    搭配自己写的 https://github.com/foru17/deepface-api 照片人脸识别,基本满足所有需求了。
    kofjerrylee
        9
    kofjerrylee  
       182 天前   1
    我是使用一套更简单的办法:
    一、硬件资源
    1 、J4125*1 装 PVE
    2 、tplink 摄像头*2
    3 、routeros 主路由*1
    3 、阿里云清凉 VPS*1
    二、软件部分
    1 、虚拟黑群 surveillance station (负责录像),frpc 对接阿里,将 5001 端口映射,视频加密,并启用 https,安装 lucky 自动续期的 a.com 证书
    2 、阿里清凉,frps 对接群晖,dns 解析 a.com 到阿里
    2 、容器 lucky (负责证书续期更新)
    三、具体使用部分
    1 、手机无论何时何地何网,surveillance app 访问 https://a.com:5001 (阿里)->群晖 surveillance station:5001 读取录像,使用只读账号观看视频,实测手机观看单摄像头 h264 码流,家宽 5mbps 上传足以
    2 、routeros 封禁摄像头的 mac 地址访问任何外网,只允许群晖访问,防止被黑或网络暴露

    该方案虽然无法做到外网直连家里,但是我测试后最理性性价比较低的方案了。因为实测过使用 stun 打洞后动态重定向的方式不适合 surveillance app ,网页使用没问题,具体实测结果流程如下:
    1 、在 ros 上跑 containet 的 lucky:实现了通过 upnp 动态映射端口、并将端口通过 stun 成功在 NAT1 上打洞;
    2 、cloudflare 上添加 A 记录 IP 随便填给主域名(开启 CDN )
    3 、在 lucky 上跑 webhook 将最新的打洞地址 https://xxx.xxx.xxx.xxx:xxxx 通过 API PATCH 到 cloudflare 的动态重定向规则,访问主域名自动 307 重定向到该打洞地址,以实现访问主域名可以得到最新的打洞地址;
    4 、经过上述一番骚操作,浏览器访问主域名可以直接跳转到群晖的地址:5001 这个没有任何问题,但 surveillance station 无法直接通过该主域名访问,ios 的 ds cam 能够登入但会卡很久很久,登入后无法查看录像及实时视频流,经多次抓包调试及询问 GROK/GPT 最后基本确定是 APP 无法使用重定向的方式,固此这个方法以失败告终,无法满足手机访问家中群晖录像的需求
    lovelylain
        10
    lovelylain  
       182 天前 via Android
    折腾成这样离易用有点远了,前帖里有个回复用 tplink 局域网设备的方案就很完美,只需要让家人打开 wireguard ,就能跟之前保持相同的使用体验。
    rrubick
        11
    rrubick  
       181 天前
    有几个疑问请教:
    如果被入户盗窃机器被搬走
    1. 是否直接连上硬盘就能看到历史录像
    2. 能否在云上查看历史录像?能否缓存到手机?
    wanmyj
        12
    wanmyj  
    OP
       181 天前
    @magic3584 recordings 被记录在移动硬盘上了,任何获取到移动硬盘的人都可以看到录像,任何没有获取到移动硬盘的人都看不到录像

    可以实现远程查看历史录像,但录像还是存在移动硬盘里,不属于云上。
    rrubick
        13
    rrubick  
       181 天前
    @wanmyj #12
    虽说入室概率很小,但是我还是比较在意云备份,估计直接买支持 iCloud 的摄像头是最方便的了
    wanmyj
        14
    wanmyj  
    OP
       181 天前 via iPhone
    @magic3584 了解你的意思了。
    我以上介绍的方案,就支持 iCloud 云备份摄像头的录像,但是他无法做到全程录像,只有在触发一些事件的时候才能录像,比如移动侦测等等。每次录像大概 15 秒,这些录像是储存在云上,可以在移动端访问的。

    至于原生支持 iCloud 的摄像头能不能实现云端全程录像,我没买过也不是很确定了
    hgert
        15
    hgert  
       181 天前
    硬盘不上个阵列吗
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3478 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 04:42 PVG 12:42 LAX 21:42 JFK 00:42
    Do have faith i what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86