V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wanmyj
V2EX  ›  程序员

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

  •  
  •   wanmyj · 1 天前 · 1434 次点击

    接上次我发帖征求家庭监控部署方案,在 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

    10 条回复    2025-04-13 14:42:14 +08:00
    fivemoons
        1
    fivemoons  
       1 天前
    sentryshot 支持 rtsp 、录制回放、移动侦测,自托管完用 web 访问,刚用了不到一个月,稳定
    https://github.com/SentryShot/sentryshot
    HackerTerry
        2
    HackerTerry  
       1 天前
    您好,请问这些开源方案支持控制云台的旋转吗?
    wanmyj
        3
    wanmyj  
    OP
       1 天前 via iPhone
    @HackerTerry homekit 原生是无法支持的。ispy 支持设置 ptz ,有 ptz 巡逻和跟踪的选项,但是因为我家的监控没有 ptz 所以没有实验
    yinmin
        4
    yinmin  
       1 天前 via iPhone
    windows server 内置“路由和远程访问”支持多网段路由和 vpn ( l2tp 、ikev2 、sstp ),可以替代 openwrt 虚拟机
    wanmyj
        5
    wanmyj  
    OP
       1 天前
    @yinmin 是的没错,WinServer 里面内置路由功能。但是从易用性和通用性的角度来说还是 openwrt 虚拟机或者实体机方便一些,遇到问题网上基本可以搜到。
    dacancc
        6
    dacancc  
       1 天前
    @fivemoons 好用,计算了下,家里两个头,保存 1 周的录像得 1T ,本地化成本有点高
    fivemoons
        7
    fivemoons  
       23 小时 30 分钟前
    @dacancc 看来是高端摄像头,我 1 个最便宜的天地伟业摄像头对着车库,300 万像素,H265 取流有问题,还要联系客服,我就改成 H264 了,一小时不到 1G ,后来在设置里开启 S+,现在一个小时才 300M
    foru17
        8
    foru17  
       22 小时 53 分钟前
    https://luolei.org/secure-home-camera-setup
    ONVIF 摄像头 + Surveillance + HomeKit + NodeRed
    搭配自己写的 https://github.com/foru17/deepface-api 照片人脸识别,基本满足所有需求了。
    kofjerrylee
        9
    kofjerrylee  
       21 小时 56 分钟前   ❤️ 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  
       21 小时 35 分钟前 via Android
    折腾成这样,离易用有点远了,前帖里有个回复用 tplink 局域网设备的方案就很完美,只需要让家人打开 wireguard ,就能跟之前保持相同的使用体验。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3701 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 04:17 · PVG 12:17 · LAX 21:17 · JFK 00:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.