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

简介:

1 介绍部分

1.1 前言

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

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

wKioL1hCA3OgCrpiAAm7POVQJgU781.png

1.2 功能简介

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

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

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

1.3 系统架构图

wKiom1hCBumDAjgTAAKHwSfS5uQ668.png

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

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

命令行下载

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

2.1.3 配置apt源

1
vi  /etc/apt/sources .list

注解掉以下行

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

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

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

更新源仓库:

1
apt-get update

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

1
2
apt-get  install  aptitude; apt-get  install  -f; apt-get clean
aptitude update

2.1.5 配置时区

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

2.1.6 时间同步

1)安装时间同步相关包

1
aptitude  install  chrony

2)同步时间

1
chronyc sources

2.2 安装unifi-video程序

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

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

2.2.2 命令行检查服务启动

1
netstat  -antp |  grep  unifi-video

显示如下:

1
2
3
4
tcp6       0      0 :::7080                 :::*                    LISTEN      7381 /unifi-video
tcp6       0      0 127.0.0.1:7081          :::*                    LISTEN      7381 /unifi-video
tcp6       0      0 :::7443                 :::*                    LISTEN      7381 /unifi-video
[...]

2.2.3 浏览器确认服务正常wKioL1hESaDBtHMJAAB69Tn_PS4460.png

2.3 修改数据存储位置

2.3.1 确定视频存储位置

1
find  / -name \*.mp4\*

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

显示如下:

1
2
3
4
[...]
/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的硬盘应挂在到这目录下):

1
/var/lib/unifi-video

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

1
fdisk  -l

显示如下:

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

2.3.3 硬盘分区

1
fdisk  /dev/sdb

显示如下:

1
2
3
4
5
6
7
8
[...]
Command (m  for  help): n
[...]
Select (default p): p
Partition number (1-4, default 1):
[...]
Command (m  for  help): w
[...]

发现新分区:

1
partx  /dev/sdb

2.3.4 创建PV

1
pvcreate  /dev/sdb1

2.3.5 创建VG

1
vgcreate dataStore  /dev/sdb1

2.3.6 创建LV

1
lvcreate -L 1999g -n data dataStore

2.3.7 格式化分区

1
mkfs.ext4  /dev/mapper/dataStore-data

2.3.8 取得格式化过分区的UUID

1
blkid  /dev/mapper/dataStore-data

显示如下:

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

2.3.9 停止unifi-video服务

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

2.3.10 数据迁移

1
2
3
mount  /dev/mapper/dataStore-data  /mnt/
mv  /var/lib/unifi-video/ /mnt
umount  /mnt

2.3.11 挂载卷

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

2.3.12 启动unifi-video服务

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

2.4 安装桌面环境

2.4.1 lxde的最小安装

1)安装相关包

1
2
aptitude  install  xinit slim lightdm
aptitude  install  --without-recommends lxde-core

2)配置启动方式

1
2
echo  'exec startlxde'  > ~/.xinitrc
update-alternatives --config x-session-manager

3)配置自动登录

1
vi  /etc/slim .conf

修改配置如下:

1
2
default_user        ubnt
auto_login           yes

2.4.2 安装谷歌浏览器

1)下载安装包

下载页面:

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

下载的命令:

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

2)启动安装

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

2.4.3 支持中文

1
aptitude  install  fonts-droid

2.5 集成路由与交换功能

2.5.1 增加网桥

1)安装桥套件

1
aptitude  install  bridge-utils

2)创建桥接口

1
brctl addbr br0

注,删除请使用

1
  brctl delbr br0

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

1
vim  /etc/network/interfaces

加入如下配置:

1
2
3
4
5
6
7
8
9
10
auto eth0
allow-hotpulg eth0
iface eth0 inet dhcp
 
auto br0
iface br0 inet static
         address 10.168.1.1
         netmask 255.255.255.0
         bridge_ports eth2 eth3 eth4 eth5
         up  /usr/sbin/brctl  stp br0 on

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

重启服务使配置生效:

1
/etc/init .d /networking  restart

2.5.3 开启路由转发功能

1)临时开启路由转发

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

2)永久开启路由转发

1
vim  /etc/sysctl .conf

去掉此行的注解:

1
net.ipv4.ip_forward = 1

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

1)创建防火墙规则

1
vim  /etc/iptables .up.rules

输入如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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 ACCEPT
COMMIT
# 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 MASQUERADE
COMMIT
# Completed on Mon Dec  5 07:48:46 2016

2)配置开机自动加载

1
2
3
echo  '#!/bin/sh'  /etc/network/if-pre-up .d /iptables
echo  '/sbin/iptables-restore < /etc/iptables.up.rules'  >>  /etc/network/if-pre-up .d /iptables
chmod  +x  /etc/network/if-pre-up .d /iptables

2.5.5 配置DHCP服务

1)安装DHCP服务

1
aptitude  install  isc-dhcp-server

2)修改主配置文件

1
2
cp  /etc/default/isc-dhcp-server  /etc/default/isc-dhcp-server .default
vi  /etc/default/isc-dhcp-server

配置参数如下:

1
2
DHCPD_CONF= /etc/dhcp/dhcpd .conf
INTERFACES= "br0"

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

1
2
cp  /etc/dhcp/dhcpd .conf  /etc/dhcp/dhcpd .conf.default
vi  /etc/dhcp/dhcpd .conf

配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
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)启动服务

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

2.5.6 配置花生壳域名解析

1)安装软件包

1
aptitude  install  curl

2)创建解析脚本

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

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

1
2
3
4
5
#!/bin/bash
domain= "cmdschool.org"
user= "username"
pwd = "password"
/usr/bin/curl  "http://$user:$pwd@ddns.oray.com/ph/update?hostname=$domain"

3)自动调用解析脚本

1
crontab  -e

输入如下配置:

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









本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1878771,如需转载请自行联系原作者
目录
相关文章
|
算法 网络安全 数据安全/隐私保护
使用 openssl 生成证书
一、openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。官网:https://www.openssl.
9800 0
|
缓存 网络协议 应用服务中间件
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
1739 0
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
|
数据采集 人工智能 大数据
演讲实录:中小企业如何快速构建AI应用?
AI时代飞速发展,大模型和AI的应用创新不断涌现,面对百花齐放的AI模型,阿里云计算平台大数据AI解决方案总监魏博文分享如何通过阿里云提供的大数据AI一体化平台,解决企业开发难、部署繁、成本高等一系列问题,让中小企业快速搭建AI应用。
|
数据采集 监控 数据库
爬虫技术详解:从原理到实践
本文详细介绍了爬虫技术,从基本概念到实际操作,涵盖爬虫定义、工作流程及Python实现方法。通过使用`requests`和`BeautifulSoup`库,演示了如何发送请求、解析响应、提取和保存数据,适合初学者学习。强调了遵守法律法规的重要性。
4976 4
|
机器学习/深度学习 人工智能 TensorFlow
深度学习中的图像识别技术:从理论到实践
【9月更文挑战第17天】在深度学习的浪潮中,图像识别技术以其惊人的准确率和广泛的应用前景,成为了科技领域的一颗耀眼之星。本文将通过浅显易懂的语言,带你走进图像识别的世界,探索其背后的原理,并通过实际代码示例,展示如何运用深度学习框架实现简单的图像分类任务。无论你是初学者还是有一定经验的开发者,都能从中获益。
|
人工智能 Cloud Native 安全
AI云全面支撑大模型落地!一文看完2025企业用云十大趋势
AI云全面支撑大模型落地!一文看完2025企业用云十大趋势
1403 1
|
架构师 中间件 API
微服务和 SOA 的 6 大核心区别,你都知道吗?
本文详解SOA与微服务的六大区别,帮助更好地理解和应用这两种架构,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
微服务和 SOA 的 6 大核心区别,你都知道吗?
|
Web App开发
电力电子技术实现电能变换与控制的原理
本文介绍了电力变换的四大类型:AC-DC、DC-AC、DC-DC和AC-AC,以及相关变换电路的工作原理。DC-DC变换分为非隔离(Buck、Boost、Buck-Boost)和隔离型电路,如推挽、反激等。AC-DC变换,即整流,通过桥式整流电路实现,可控整流用于调节输出电压。逆变(DC-AC)涉及全桥逆变电路,用于将直流电转换回交流电。这些变换在电源转换、电机控制和通信系统中至关重要。
1988 4
电力电子技术实现电能变换与控制的原理
|
运维 监控 容灾
建设强大系统:提升高可用、可靠性和稳定性的秘诀
建设强大系统:提升高可用、可靠性和稳定性的秘诀
2034 0
|
机器学习/深度学习 SQL 人工智能
ID-Mapping在心动公司探索实践
文 / 蔡圣哲 王沛 戴健 范建文 王兵鹏
ID-Mapping在心动公司探索实践

热门文章

最新文章