千家信息网

高级定制数字监控主机(Debian+UBNT Unifi-V

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,1 介绍部分1.1 前言弟弟店铺要安装监控,故向其推荐企业级别的监控UBNT的产品Unifi-Video(笔者推荐UBNT的原因是其一直坚持软件免费,相比某些厂商软件按点数收取授权费的劣举UBNT算是
千家信息网最后更新 2025年01月20日高级定制数字监控主机(Debian+UBNT Unifi-V

1 介绍部分

1.1 前言

弟弟店铺要安装监控,故向其推荐企业级别的监控UBNT的产品Unifi-Video(笔者推荐UBNT的原因是其一直坚持软件免费,相比某些厂商软件按点数收取授权费的劣举UBNT算是非常有良心)。

由于官方的监控主机Unifi NVR配置比较低(其实是硬盘太小)价格相对贵,故自己定制6端口的工控机作为监控主机(可同时当路由和交换机用^_^,省钱),以下是硬件的截图。

1.2 功能简介

1)具有数字监控主机功能

2)充当路由功能(1口自动获取IP地址,2口待定)

3)充当交换机功能(3至6口可接摄像头)

1.3 系统架构图

注:以下实践部分就是定制软路由(工控主机)的配置过程。

2 实践部分

2.1 环境配置

2.1.1 系统环境

hostnanme=ubnt.cmdschool.org

eth0=dhcp

br0=10.168.1.1

eth[2-5]=10.168.1.x/24

OperatingSystem=Debian8.6

如果读者跟我一样是Debian的初学者,可参考以下系统层的配置教程:

http://cmdschool.blog.51cto.com/2420395/1877915

2.1.2 下载安装包

网页下载安装包

https://www.ubnt.com/download/unifi-video

命令行下载

wget http://dl.ubnt.com/firmwares/unifi-video/3.5.2/unifi-video_3.5.2~Debian7_amd64.deb

2.1.3 配置apt源

vi /etc/apt/sources.list

注解掉以下行

#deb cdrom:[Debian GNU/Linux 8.6.0 _Jessie_ - Official amd64 DVD Binary-1 20160917-14:25]/ jessie contrib main

保存退出后运行以下命令:

echo "deb http://ftp.cn.debian.org/debian Debian8.6 main" | tee /etc/apt/sources.list.d/debian.listecho "deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen" | tee /etc/apt/sources.list.d/mongodb-10gen.listecho "deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti" | tee /etc/apt/sources.list.d/unifi.listapt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50; apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

更新源仓库:

apt-get update

2.1.4 安装包管理工具并更新库

apt-get install aptitude; apt-get install -f; apt-get cleanaptitude update

2.1.5 配置时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2.1.6 时间同步

1)安装时间同步相关包

aptitude install chrony

2)同步时间

chronyc sources

2.2 安装unifi-video程序

2.2.1 安装unifi-video并解决依赖关系兼清理包缓存

dpkg -i unifi-video_3.5.2~Debian7_amd64.deb; apt-get install -f; apt-get clean

2.2.2 命令行检查服务启动

netstat -antp | grep unifi-video

显示如下:

tcp6       0      0 :::7080                 :::*                    LISTEN      7381/unifi-videotcp6       0      0 127.0.0.1:7081          :::*                    LISTEN      7381/unifi-videotcp6       0      0 :::7443                 :::*                    LISTEN      7381/unifi-video[...]

2.2.3 浏览器确认服务正常

2.3 修改数据存储位置

2.3.1 确定视频存储位置

find / -name \*.mp4\*

注:需要先配置枪录制视频(界面部分不详述)

显示如下:

[...]/var/lib/unifi-video/videos/e7219371-8d34-3744-a4b5-89acba09907c/2016/12/03/1480745255035_1480745257035_1480737512125_9603951.mp4/var/lib/unifi-video/videos/e7219371-8d34-3744-a4b5-89acba09907c/2016/12/03/1480743257037_1480743259037_1480737512125_7605951.mp4[...]

基于以上,可确定存储目录为(2TB的硬盘应挂在到这目录下):

/var/lib/unifi-video

2.3.2 确认系统检测到安装的硬盘

fdisk -l

显示如下:

[...]Disk /dev/sdb doesn't contain a valid partition table[...]

2.3.3 硬盘分区

fdisk /dev/sdb

显示如下:

[...]Command (m for help): n[...]Select (default p): pPartition number (1-4, default 1):[...]Command (m for help): w[...]

发现新分区:

partx /dev/sdb

2.3.4 创建PV

pvcreate /dev/sdb1

2.3.5 创建VG

vgcreate dataStore /dev/sdb1

2.3.6 创建LV

lvcreate -L 1999g -n data dataStore

2.3.7 格式化分区

mkfs.ext4 /dev/mapper/dataStore-data

2.3.8 取得格式化过分区的UUID

blkid /dev/mapper/dataStore-data

显示如下:

/dev/mapper/dataStore-data: UUID="0d1dc121-7bd0-46bd-8d85-5577ab322efc" TYPE="ext4"

2.3.9 停止unifi-video服务

/etc/init.d/unifi-video stop/etc/init.d/mongodb stop

2.3.10 数据迁移

mount /dev/mapper/dataStore-data /mnt/mv /var/lib/unifi-video/* /mntumount /mnt

2.3.11 挂载卷

echo 'UUID="0d1dc121-7bd0-46bd-8d85-5577ab322efc" /var/lib/unifi-video ext4 defaults 1 2' >> /etc/fstabmount -a

2.3.12 启动unifi-video服务

/etc/init.d/mongodb start/etc/init.d/unifi-video start

2.4 安装桌面环境

2.4.1 lxde的最小安装

1)安装相关包

aptitude install xinit slim lightdmaptitude install --without-recommends lxde-core

2)配置启动方式

echo 'exec startlxde' > ~/.xinitrcupdate-alternatives --config x-session-manager

3)配置自动登录

vi /etc/slim.conf

修改配置如下:

default_user        ubntauto_login          yes

2.4.2 安装谷歌浏览器

1)下载安装包

下载页面:

http://www.google.cn/chrome/browser/desktop/index.html

下载的命令:

https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

2)启动安装

dpkg -i google-chrome-stable_current_amd64.deb;apt-get install -f

2.4.3 支持中文

aptitude install fonts-droid

2.5 集成路由与交换功能

2.5.1 增加网桥

1)安装桥套件

aptitude install bridge-utils

2)创建桥接口

brctl addbr br0

注,删除请使用

 brctl delbr br0

2.5.2 给网卡接口分配特定功能

vim /etc/network/interfaces

加入如下配置:

auto eth0allow-hotpulg eth0iface eth0 inet dhcpauto br0iface br0 inet static        address 10.168.1.1        netmask 255.255.255.0        bridge_ports eth3 eth4 eth5 eth6        up /usr/sbin/brctl stp br0 on

注:eth0自动获取IP,eth3-5网桥模式(相当于交换机)

重启服务使配置生效:

/etc/init.d/networking restart

2.5.3 开启路由转发功能

1)临时开启路由转发

echo 1 > /proc/sys/net/ipv4/ip_forward

2)永久开启路由转发

vim /etc/sysctl.conf

去掉此行的注解:

net.ipv4.ip_forward = 1

2.5.4 配置具有SNAT功能防火墙规则

1)创建防火墙规则

vim /etc/iptables.up.rules

输入如下配置:

# Generated by iptables-save v1.4.21 on Mon Dec  5 07:48:46 2016*filter:INPUT DROP [40:2032]:FORWARD ACCEPT [100631:98411806]:OUTPUT ACCEPT [61262:3785634]-A INPUT -i lo -j ACCEPT-A INPUT -i br0 -j ACCEPT-A INPUT -i eth0 -p icmp -j ACCEPT-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-A INPUT -p tcp -m tcp --dport 7080 -j ACCEPT-A INPUT -p tcp -m tcp --dport 7443 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPTCOMMIT# Completed on Mon Dec  5 07:48:46 2016# Generated by iptables-save v1.4.21 on Mon Dec  5 07:48:46 2016*nat:PREROUTING ACCEPT [1094:127184]:INPUT ACCEPT [112:7768]:OUTPUT ACCEPT [53:3815]:POSTROUTING ACCEPT [77:13304]-A POSTROUTING -s 10.168.1.0/24 -o eth0 -j MASQUERADECOMMIT# Completed on Mon Dec  5 07:48:46 2016

2)配置开机自动加载

echo '#!/bin/sh' > /etc/network/if-pre-up.d/iptablesecho '/sbin/iptables-restore < /etc/iptables.up.rules' >> /etc/network/if-pre-up.d/iptableschmod +x /etc/network/if-pre-up.d/iptables

2.5.5 配置DHCP服务

1)安装DHCP服务

aptitude install isc-dhcp-server

2)修改主配置文件

cp /etc/default/isc-dhcp-server /etc/default/isc-dhcp-server.defaultvi /etc/default/isc-dhcp-server

配置参数如下:

DHCPD_CONF=/etc/dhcp/dhcpd.confINTERFACES="br0"

3)配置加载的子配置文件

cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.defaultvi /etc/dhcp/dhcpd.conf

配置如下:

ddns-update-style none;option domain-name "cmdschool.org";option domain-name-servers 202.96.128.86,202.96.128.166;default-lease-time 600;max-lease-time 7200;log-facility local7;subnet 10.168.1.0 netmask 255.255.255.0 {  range 10.168.1.51 10.168.1.199;  option routers 10.168.1.1;  option broadcast-address 10.168.1.255;  default-lease-time 600;  max-lease-time 7200;}

4)启动服务

/etc/init.d/isc-dhcp-server start

2.5.6 配置花生壳域名解析

1)安装软件包

aptitude install curl

2)创建解析脚本

mkdir ~/script/vim ~/script/pusoray.sh

输入如下配置(假设域名是cmdschool.org):

#!/bin/bashdomain="cmdschool.org"user="username"pwd="password"/usr/bin/curl "http://$user:$pwd@ddns.oray.com/ph/update?hostname=$domain"

3)自动调用解析脚本

crontab -e

输入如下配置:

*/3 * * * * sh ~/script/pusoray.sh

参阅文档

=============================================================

unifi-video的安装:

https://help.ubnt.com/hc/en-us/articles/205146160-UniFi-Install-the-UniFi-controller-software-on-the-UniFi-Video-NVR

https://help.ubnt.com/hc/en-us/articles/209754018-UniFi-Video-How-to-Install-UFV-version-3-x-on-a-Legacy-airVision-NVR


Debian源地址:

https://www.debian.org/mirror/list

Mongodb的安装:

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/

Mongodb的安装源:

http://downloads-distro.mongodb.org/repo/debian-sysvinit/

UBNT官方源地址:

https://help.ubnt.com/hc/en-us/articles/220066768-UniFi-How-to-Install-Update-via-APT-on-Debian-or-Ubuntu


其他参考:

https://my.oschina.net/u/2000604/blog/304171



0