码迷,mamicode.com
首页 > Web开发 > 详细

【原创】IP摄像头技术纵览(六)---通过internet访问摄像头

时间:2015-05-27 10:03:01      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:ip摄像头   dmz   dns   

【原创】IP摄像头技术纵览(六)—通过internet访问摄像头

本文属于《IP摄像头技术纵览》系列文章之一:

Author: chad
Mail: linczone@163.com

本文可以自由转载,但转载请务必注明出处以及本声明信息。

1、路由器配置—DMZ虚拟主机、端口映射测试

  上一节已经讲解了端口映射的方法实现internet访问,本节主要讲解DMZ虚拟主机的方法。

(1)什么是DMZ? 

  DMZ全称“demilitarized zone”,中文名称为“隔离区”,和信任区相对应。作用是把企业Web服务器、FTP服务器和论坛等允许外部访问的服务器单独接在该区端口,使整个需要保护的内部网络接在信任区端口后,不允许任何访问,实现内外网分离,达到用户需求。它解决了安装防火墙后外部网络不能访问内部网络服务器的问题,另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡。

(2)DMZ运作机理

  DMZ提供的服务是经过了 地址转换(NAT)和受安全规则限制的,以达到隐蔽真实地址、控制访问的功能。首先要根据将要提供的服务和安全策略建立一个清晰的网络拓扑,确定DMZ区应用服务器的IP和端口号以及数据流向。通常网络通信流向为禁止外网区与内网区直接通信,DMZ区既可与外网区进行通信,也可以与内网区进行通信,受安全规则限制。

a. 地址转换
  DMZ区服务器与内网区、外网区的通信是经过 网络地址转换(NAT)实现的。网络地址转换用于将一个地址域(如专用Intranet)映射到另一个地址域(如Internet),以达到隐藏 专用网络的目的。DMZ区服务器对内服务时映射成内网地址,对外服务时映射成外网地址。采用 静态映射配置网络地址转换时,服务用IP和真实IP要一一映射, 源地址转换和目的地址转换都必须要有。
b. DMZ安全规则制定
  安全规则集是安全策略的技术实现,一个可靠、高效的安全规则集是实现一个成功、安全的 防火墙的非常关键的一步。如果防火墙规则集配置错误,再好的防火墙也只是摆设。在建立规则集时必须注意规则次序,因为防火墙大多以顺序方式检查信息包,同样的规则,以不同的次序放置,可能会完全改变防火墙的运转情况。如果信息包经过每一条规则而没有发现匹配,这个信息包便会被拒绝。一般来说,通常的顺序是,较特殊的规则在前,较普通的规则在后,防止在找到一个特殊规则之前一个普通规则便被匹配,避免防火墙被配置错误。
  DMZ安全规则指定了非军事区内的某一主机(IP地址)对应的安全策略。由于DMZ区内放置的服务器主机将提供公共服务,其地址是公开的,可以被外部网的用户访问,所以正确设置DMZ区安全规则对保证网络安全是十分重要的。
  FireGate可以根据数据包的地址、协议和端口进行访问控制。它将每个连接作为一个数据流,通过规则表与连接表共同配合,对网络连接和会话的当前状态进行分析和监控。其用于过滤和监控的IP包信息主要有:源IP地址、目的IP地址、协议类型(IP、ICMP、TCP、UDP)、源TCP/UDP端口、目的TCP/UDP端口、ICMP 报文类型域和代码域、碎片包和其他标志位(如SYN、ACK位)等。
  为了让DMZ区的应用服务器能与内网中DB服务器(服务端口4004、使用TCP协议)通信,需增加DMZ区安全规则, 这样一个基于DMZ的安全应用服务便配置好了。其他的应用服务可根据安全策略逐个配置。

  其实DMZ主机实际上就是一个缺省的虚拟服务器,如果设备收到一个来自外部网络的连接请求,它首先会查找虚拟服务列表,如果有匹配的项目,就把请求消息发送到对应的虚拟服务器上去。如果没有查到匹配的项目,就转发到DMZ主机上去。

(3)DMZ配置

  路由器内的DMZ主机配置很简单,只有一个配置项,方法如下:
技术分享

  配着完成后在指定主机上开启相应的web服务就可以通过外网进行访问了。

2、DNS动态域名测试

  上文的配置忽略了一个事实:大部分网络是动态ip的。动态ip造成两个访问限制:1、每次访问必须输入外网IP。2、你不知道什么时候IP会变掉。
  所以,最好的方法是使用域名进行访问。

  用个人电脑架设服务器或想远程控制电脑时,常需要一个固定的域名,指向一台IP可能变化的电脑,即动态域名。

  目前提供免费动态域名的有国内的公云(原3322)、和No-IP等。NO-IP是国外网站,访问非常迟钝,测试过程中总是无法访问,而公云网提供了非常稳定的访问,同时允许你免费使用一个动态域名服务,到写本文为止,我的已经正常使用2个月左右了。

(1)注册公云账户

  登录http://www.pubyun.com,注册一个用户。

(2)域名注册

  注册自己的域名并将域名与本地公网ip绑定。如下图是我的帐号信息:
技术分享

(3)更新域名指向

  本实验使用wget工具通过链接到一个包含用户名、密码和域名的URL来实现动态域名的指向更新。

使用的wget参数说明如下:
wget
-q — 下载页面并且不显示任何信息
-O —output-document=FILE 指定下载目录和文件名

下面的是一个样例Bash脚本,适用于3322:

#!/bin/sh
#########################################################################
# File Name: myddns.sh
# Author: chad
# mail: linczone@163.com
# Created Time: 2015年04月10日 星期五 13时13分04秒
#########################################################################

USERNAME="linczone"
PASSWORD="linpasswd"
DOMAINNAME="aitech.f3322.net"
SetIP=false      #为true时用ifconfig返回的IP设定DNS,否则由服务器自己判断

while [ 1 ]
do
    sleep 1m #每隔30分钟更新一次
    if [ $SetIP ] ; then
        # 下面从ifconfig获取IP,如果需要,可以手动更改
        MYIP=`LANG=C ifconfig  | grep ‘inet addr:‘| grep -v ‘127.0.0.1‘ | cut -d: -f2 | awk ‘{ print $1}‘| head -n1`
        wget -q -O- "http://$USERNAME:$PASSWORD@members.3322.org/dyndns/update?system=dyndns&hostname=$DOMAINNAME&myip=$MYIP"
    else
        wget -q -O- "http://$USERNAME:$PASSWORD@members.3322.org/dyndns/update?system=dyndns&hostname=$DOMAINNAME"
    fi
done

  如果不提供IP,服务器可以自动判断请求的来源IP。但有时(如使用VPN时)请求来源IP并非电脑的真实IP,此时要将SetIP设为True,并使用脚本获得电脑目前的IP。

(4)添加启动项

  您需要切换到root用户或使用sudo进行下面的操作。

  将上面的脚本存入适当的文件夹,如/home/updateDNS,并增加可执行权限:
  # chmod +x /home/updateDNS

  修改/etc/rc.local,在exit 0前面加入一行:
  /home/updateDNS

  这样系统每次启动时就会自动运行域名更新服务了。

(5)访问测试

  由于我的服务器监听端口是20002,所以浏览器中应该如下输入:
http://aitech.f3322.net:20002/javascript.html
技术分享

【原创】IP摄像头技术纵览(六)---通过internet访问摄像头

标签:ip摄像头   dmz   dns   

原文地址:http://blog.csdn.net/linczone/article/details/46042543

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!