CN107222587B - 一种远程访问私网设备的方法 - Google Patents

一种远程访问私网设备的方法 Download PDF

Info

Publication number
CN107222587B
CN107222587B CN201710516670.2A CN201710516670A CN107222587B CN 107222587 B CN107222587 B CN 107222587B CN 201710516670 A CN201710516670 A CN 201710516670A CN 107222587 B CN107222587 B CN 107222587B
Authority
CN
China
Prior art keywords
domain name
server
terminal device
intranet
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201710516670.2A
Other languages
English (en)
Other versions
CN107222587A (zh
Inventor
冯哲
刘凡成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201710516670.2A priority Critical patent/CN107222587B/zh
Publication of CN107222587A publication Critical patent/CN107222587A/zh
Application granted granted Critical
Publication of CN107222587B publication Critical patent/CN107222587B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种远程访问私网设备的方法,通过在DNS服务器中添加根据域名查询IP的HTTP接口lookup‑ip,并优化远程访问私网设备的流程,采用DNS域名解析及HTTP接口查询IP相结合的优化策略,解决由于DNS缓存问题导致的远程访问私网中DDNS设备时偶发性的连接中断的问题;另一方面,在标准DDNS方案的基础上,本发明提出了外网域名与内网域名的概念,在上报外网IP时同时上报内网IP,通过DNS解析既可以得到外网IP又能得到内网IP,从而解决当访问端和被访问端同处相同内网时,因路由器不允许网络访问“绕回”而使得访问端不能通过外IP访问设备的问题。

Description

一种远程访问私网设备的方法
技术领域
本发明属于计算机网络技术领域,更具体地,涉及一种远程访问私网设备的方法。
背景技术
动态域名解析技术(DDNS技术)是实现异地远程访问NAT组网环境中的设备的通用型解决方案,访问端只需通过常规的域名解析和端口映射技术就能访问被访问端。近年来,随着移动智能设备、数字智能家电的普及,也带火了家用网络附属存储(Network AttachedStorage,NAS)产品。通过随身携带的移动智能设备可随时随地访问家用NAS设备中海量的文件、照片、音乐或视频资源。其流程为:(1)通过DDNS服务提供商注册一个账号,例如在“花生壳”动态域名商中注册名为flawless的账号,获得一个域名flawless.oicp.net;2)选购支持花生壳动态域名解析的路由器,并配置好花生壳的账号和密码;3)在路由器中设置端口映射,使外网的80端口与内网设备IP的80端口一一对应;4)异地访问端即可通过域名flawless.oicp.net远程访问该设备。其工作原理为:DDNS提供商用账号组建一个二级域名,使得内网(或设备)具有身份,通过DDNS客户端程序(本例为路由器内嵌程序)定时上报外网IP,以通过解析这个二级域名获得该设备的外网IP地址;通过路由器的端口映射,使得异地的访问可透过NAT直达内网的设备。其中路由器端口映射可手动完成,也可通过UPnP(Universal Plug and Play,通用即插即用)技术自动完成。
现有DDNS技术的缺陷在于:一是访问端的DNS缓存导致偶发性的访问中断;二是当访问端和被访问端同处一个局域网时,用DDNS解析得到的外网IP无法连接。访问端DNS缓存是为了减少域名解析导致的网络流量而发明的,浏览器、操作系统、互联网服务商(ISP)都可以缓存DNS。DNS缓存就是把从DNS服务器查到的域名及其对应的IP地址保存起来,下次需要再查该域名的IP地址时,只需从缓存中取,而不需要再次从DNS服务器中查找。对长时间不更换IP的服务器来说,DNS缓存技术解决了很多问题。但是对于IP经常更改的DDNS应用则是致命的缺陷。访问端和被访问端在同一局域网时,不能通过被访问端的外网IP连接被访问端的原因是:路由器职责是传递数据,根据数据报的地址转寄,不可以从内网出外网又进入同一个内网访问另一个网络节点。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种远程访问私网设备的方法,其目的在于由此解决现有技术中DNS缓存导致DDNS中偶发性的访问中断问题,以及DDNS中访问端与被访问端在同一个局域网时无法连接的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种远程访问私网设备的方法,包括如下步骤:
(1)设置终端设备与域名的关系;具体地,采用终端设备的MAC地址的后三个字节作为终端设备的ID,并将该ID作为主机名构成二级域名;
该二级域名用于解析该终端设备的外网IP;该二级域名称为外网域名;
通过在上述外网域名前添加字母“i”获得内网域名,该内网域名用于解析被访问设备的内网IP;
(2)在域名注册商管理后台添加一个指向部署在公网的DDNS服务器的二级域名,并设置DNS解析委托,使得二级域名的解析服务由该服务器来处理;
利用开源项目PowerDNS提供标准的DNS解析服务,并用其Mysql数据库的records表来存储域名和IP地址对应关系;
当终端向DDNS服务器注册设备域名时,DDNS服务器构建内网域名和外网域名,将它们添加到records表的记录中,并在终端定时上报外网IP和内网IP时更新records表的对应记录;
(3)在DDNS服务器中添加根据域名查询设备内、外网IP的HTTP接口lookup-ip;
(4)通过采用DNS域名解析及HTTP接口查询IP相结合的访问私网设备的流程,来解决DNS缓存导致的远程访问私网中DDNS设备时偶发性的连接中断的问题。
优选地,上述远程访问私网设备的方法中,其步骤(4)访问私网设备的流程具体如下:
(4.1)获取被访问设备的外网域名;
(4.2)获取被访问设备的内网域名;
(4.3)判断用外网域名连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则进入步骤(4.4);
(4.4)判断用内网域名连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则进入步骤(4.5);
(4.5)通过DDNS服务器的lookup-ip接口根据被访问设备域名查询来获取被访问设备的内网IP和外网IP;
(4.6)判断用外网IP连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则进入步骤(4.7);
(4.7)判断用内网IP连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则反馈“设备不在线”、“设备所在网络有级联路由”或“未开启UPnP”的错误提示信息。
优选地,上述远程访问私网设备的方法,通过在records表中添加字段、token字段来提高设备域名注册的完整性和传输的安全性;
其中,token字段的值由服务器在终端设备注册过程中随机生成,为每台终端设备生成的token值各不相同;注册完成后终端设备保存该token值,在IP上报过程中用该token值和时间戳信息对数据做签名,不在网络中传送该token值可防止篡改或假冒签名。
当服务器收到数据后,从设备对应的数据库记录信息中取出token值并用该token值对数据做运算得出签名,通过将运算得到的签名与接收到的签名进行比对来判定数据是否被篡改或者接收到假冒数据;若数据被篡改或者是假冒数据,计算得到的签名与接收到的签名不匹配。字段的值用作终端注册完成标识。
优选地,上述远程访问私网设备的方法,其终端设备域名的注册流程具体包括如下步骤:
(I)检测本地是否保存有token值,若是,则表明之前已经注册过域名,则跳转到IP上报流程;若否,则进入步骤(II);
(II)获取系统的MAC地址,发送包含MAC地址的注册请求;
(III)服务器接收到注册请求后,通过查询records表确定该MAC是否注册过,若已注册过且字段的值为1,表明该设备与其他设备的MAC重复,即该终端注册失败,进入步骤(IV);否则,则进入步骤(V);
(IV)由服务器返回注册失败,由终端设备显示和记录错误信息,结束注册;
(V)为终端生成token值,在records表中添加记录并在记录中写入当前内网域名、外网域名、token值;
(VI)由服务器将写入结果反馈到终端设备;
(VII)由终端向服务器发送注册成功的确认信息,服务器修改数据库的字段的值为1,表明本次注册已经确认;服务器将注册完成的结果返回终端;
(VIII)终端设备显示信息,注册流程结束,进入IP上报流程。
对于一个终端而言,终端域名注册只需进行一次,而终端设备上报IP则是按照预设周期定时进行;在完成被访问终端设备域名的注册后,根据被访问终端设备所在的网络来上报内网IP和外网IP,IP上报流程具体包括如下步骤:
(i)读取token值和MAC地址;其中,token值是终端设备注册域名时服务器反馈并保存在终端文件里的;
(ii)根据上述token值、终端设备的MAC地址和时间戳计算出签名信息;
(iii)服务器从终端设备发送的更新IP地址请求中获取终端的公网、私网IP地址以及MAC地址;
(iv)在records表中根据MAC地址对应的域名查找记录,取出记录中的token值并根据取出的token值、终端设备的MAC地址和时间戳字段计算出签名,并判断计算出的签名与终端设备发送的信息中的签名是否一致,若是,则进入步骤(v),若否,则进入步骤(vi);
(v)将终端设备的内网IP地址和外网IP地址分别写入records表中内网域名和外网域名对应记录的content字段;由服务器向终端设备反馈IP地址更新成功的结果,并延时t秒后进入步骤(ii);
(vi)由服务器向终端设备反馈IP地址更新失败的结果,由终端设备记录失败信息,并结束。
优选地,在上述IP上报流程中,若终端读取token值失败,则进入到终端设备域名的注册流程进行设备域名注册。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
本发明所提供的远程访问私网设备的方法,提供了DNS缓存问题的解决方案,在DNS服务器中添加根据域名查询设备IP的HTTP接口lookup-ip,并对访问流程进行优化,采用DNS域名解析及HTTP接口查询IP相结合的策略来解决由于DNS缓存问题导致的远程访问私网中DDNS设备时偶发性的连接中断问题;并采用同时上报内网IP和外网IP,优先尝试外网IP,连接失败再尝试内网IP的方法,解决当访问端和被访问端同处一个网络时,不能使用公网IP访问设备的问题;尤为适合远程用智能设备访问内网DDNS设备的场景;无论访问端和被访问端是在异地还是同一个局域网,都能通过本发明提供的访问流程采用统一的方法来实现,而无需采用广播包查找局域网中的DDNS设备,而且本发明所提供的这种方法,既兼容DDNS的访问模式,又不受限于DNS缓存,可在本地与异地访问间无缝切换。
附图说明
图1是实施例提供的远程访问私网设备的方法所在系统的架构示意图;
图2是实施例提供的远程访问私网设备的方法中私网内被访问终端的设备域名注册流程示意图;
图3是实施例提供的远程访问私网设备的方法的IP上报流程示意图;
图4是实施例中的各级DNS缓存示意图;
图5是实施例中的访问私网终端设备的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例基于图1所示的架构,涉及4个设备,3个场所;第一个场所就是被访问端局域网:以典型的通过ADSL接入互联网的家庭网络为代表,其中的两个设备是NSA为代表的被访问设备,以及路由器;第二个场所是访问端网络,以智能手机为代表;第三个场所是域名解析服务器,提供动态域名解析服务。
实施例提供的远程访问私网设备的方法具体如下:
(1)设置终端设备与域名的关系;具体地,采用终端设备的MAC地址的后三个字节作为终端设备的ID,并将该ID作为主机名构成二级域名;譬如:域名为mydomain.com,某终端设备的MAC地址为“0e:21:c1:52:a0:7f”,则该终端设备的ID为52a07f,对应的二级域名就是52a07f.mydomain.com。
该二级域名用于解析该终端设备的外网IP;该二级域名在本实施例中称为外网域名;
通过在上述外网域名前添加字母“i”获得内网域名,该内网域名用于解析被访问设备的内网IP;对应上述例子,其内网域名为i52a07f.mydomain.com。
(2)在域名注册商管理后台添加一个指向部署在公网的DDNS服务器的二级域名,并设置DNS解析委托,使二级域名的解析服务由该服务器来处理;
譬如:向阿里云注册了域名mydomain.com,在注册商管理后台添加一个域名解析dns.mydomain.com指向这台DDNS服务器,设置DNS解析委托,使mydomain.com的二级域名的解析服务由这台DNS服务器处理。利用开源项目PowerDNS的mysql数据库的records表来存储域名和IP地址对应关系,records表结构如下表1所示:
表1 PowerDNS后台数据库的records表结构
Field Type Null Key Default Comment
id int(11) NO PRI NULL 主键
domain_id int(11) YES MUL NULL Domains表中对应记录的id
name varchar(160) YES MUL NULL 域名
type varchar(10) YES NULL 域名类型
content varchar(10240) YES NULL IP地址
ttl int(11) YES NULL Time to live
prio int(11) YES NULL 优先级
change_date int(11) YES NULL 修改日期
disabled smallint(1) YES 0 禁止标记
ordername varchar(160) YES NULL PowerDNS保留
auth smallint(1) YES 1 PowerDNS保留
token varchar(64) YES NULL 保存终端的token
confirmed smallint(1) YES 0 终端注册完成标识
将终端的域名写入name字段,将终端的IP地址写入content字段,type字段中填入“A”,就可以通过DNS查询查找到终端的IP地址。在设备域名注册过程中,服务器端将随机产生一串由32个字符组成的token值,每台终端设备的token值都不相同,注册完成后终端也保存了这个token值,后续的IP上报均需用此token值、时间戳信息等对数据做签名,并且在网络中不再传送该token值。服务器收到数据后,找到该终端设备的记录,取出token并用它对数据做相同的运算得出签名,然后对比计算得到的签名和接收到的签名,如果数据被篡改或者是假冒数据,则签名不匹配的。填入终端的域名、IP信息的过程包括终端注册设备域名、终端上报IP两个流程;终端注册设备域名只需做一次,而终端上报IP则是每隔十几秒就执行一次。
实施例中,终端设备域名注册流程如图2所示,具体如下:
[1]设备检查本地是否保存有token值,若是,表明之前已经注册了设备域名,跳转至上报流程;若否,则进入[2];
[2]设备获取系统的MAC地址,发送注册请求,请求数据包含MAC地址;
[3][4]服务器收到请求后,通过records表查看该MAC对应的设备域名是否已经注册过,若是,且字段的值为1,表明该设备与其他设备的MAC重复,该终端的注册失败;
[5][6][7][8]发现MAC冲突的处理:服务器返回注册失败,终端显示和记录错误信息,注册流程结束;
[9][10]继续注册流程,为终端生成token值,在records表中添加记录并在记录中写入当前内网域名、外网域名、token值;
[11][12]服务器将结果返回终端,终端将接收到的token值写入文件;
[13][14][15]终端向服务器发送注册成功的确认信息,服务器修改数据库的字段的值为1,表明本次注册已经确认;
[16]服务器将注册完成的结果返回终端;
[17][18]终端显示信息,注册流程结束,进入定时上报IP地址流程。
实施例中,上报IP地址的流程如图3所示,具体如下:
[1]设备读取token、MAC;其中token值是终端注册域名时服务器返回的,保存在终端文件里的;
[2]如果读取失败,表明终端设备没有注册,或者是丢失了token(保存token的文件缺失),则转到终端设备域名注册流程;
丢失token虽然是小概率事件,但还是可能的,比如设备的flash器件损坏了经维修更换;可在确认丢失token的情况下,将本发明中数据库的confirmed字段的值手工修改成0,使该终端能再次注册;
[3]用token值、MAC地址和时间戳计算出签名;
[4]终端向服务器发送更新IP地址请求,携带MAC地址、时间戳、内网IP、签名数据;
[5]服务器收到请求即可取得终端的公网IP地址,以及携带的MAC地址等数据;
[6][7]在records表中根据MAC地址对应的域名查找记录,如果有记录则取出token值,用与终端相同的方法计算签名,如果签名一致表明终端的请求是合法的;否则无论是没取到记录,或者是签名不匹配都是非法的请求,则跳转至[13];
[8][9]将终端的内、外网IP地址分别写入records表的内、外网域名对应记录的content字段,使得该记录可以提供域名解析得到最新IP地址;此时若在命令行执行“ping52a07f.mydomain.com”即可看到这个外网IP地址,“ping i52a07f.mydomain.com”则可看到内网IP地址;
[10]服务器向终端返回IP地址更新成功的结果;
[11][12]休眠30秒后重复步骤[3];
[13][14][15]检查到域名未注册、或者签名不匹配时,服务器返回失败,终端记录失败信息,流程结束。
(3)在DDNS服务器中添加根据域名查询设备IP的HTTP接口lookup-ip;
实施例中添加了一个http接口lookup-ip,该接口使用一个名为domain的参数,代表要查询的设备的外网域名,接口使用http协议,支持post和get两种方法。当接口被调用,服务器在records表中查找对应记录,获取内网IP和外网IP地址,以json格式返回查询结果。
用curl命令测试post请求方法的命令和返回结果示例如下:
$curl-x POST-d“domain=52a07f.mydomain.com"api.mydomain.com/api/lookup-ip{“domain":"52a07f.mydomain.com","IP":"183.17.227.180","IPLocal":"192.168.2.226"};
用curl命令测试get请求方法的命令和返回结果示例如下:
$curl-X GET api.mydomain.com/api/lookup-ip?domain=52a07f.mydomain.com{“domain":"52a07f.mydomain.com","IP":"183.17.227.180","IPLocal":"192.168.2.226"}。
(4)通过采用DNS域名解析及HTTP接口查询IP相结合的访问私网设备的流程,来解决DNS缓存导致的远程访问私网中DDNS设备时偶发性的连接中断的问题。
实施例中,各级DNS缓存如图4所示,在三个节点会出现缓存:一是网络应用程序的缓存(例如浏览器),一般缓存1~30分钟;在此期间,应用程序不向域名解析服务器发送域名请求,而是使用近期获得的IP地址;二是操作系统(OS)的缓存,虽然应用程序向域名服务器发送解析请求,但是OS协议栈认为它缓存的IP地址还有效,直接向应用程序返回OS缓存的IP地址;三是OS向外网发送了域名解析请求,但是互联网服务接入商(ISP)的服务器也会有缓存,也就是说域名解析请求不一定真正发送到DNS服务器也会获得对应的IP地址,这极大的减少了网络传输的负担。此时,DNS服务器中对应的域名的IP地址发生了改变的话,应用程序就无法连接对应的被访问设备;而DDNS的特点就是私网设备的外网IP地址的变化远比互联网数据中心(IDC)的服务器的IP变化快,也就是说,对于DDNS方案的应用,访问端有一定的几率试图使用过时的IP地址连接被访问端,这就是本发明要解决的问题之一:由DNS缓存导致的远程访问私网中DDNS设备时偶发性的连接中断的问题;通过如图5所示意的访问私网设备的流程来解决该问题,具体如下:
(1)获取被访问设备的外网域名;
(2)获取被访问设备的内网域名;
(3)判断用外网域名连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则进入步骤(4);
(4)判断用内网域名连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则进入步骤(5);
(5)通过DDNS服务器的lookup-ip接口根据被访问设备域名查询来获取被访问设备的内网IP和外网IP;
(6)判断用外网IP连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则进入步骤(7);
(7)判断用内网IP连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则反馈“设备不在线”、“设备所在网络有级联路由”或“未开启UPnP”的错误提示信息。
通过在DDNS服务器中添加根据域名查询IP的HTTP接口lookup-ip,并提出远程访问私网设备的流程及方法,该流程采用DNS域名解析及HTTP接口查询IP相结合的优化策略,解决由于DNS缓存问题导致的远程访问私网中DDNS设备时偶发性的连接中断的问题;另一方面,在标准DDNS方案的基础上,提出了外网域名与内网域名的概念,在上报外网IP时同时上报内网IP,通过DNS解析既可以得到外网IP又能得到内网IP,从而解决当访问端和被访问端同处相同内网时,因路由器不允许网络访问“绕回”而使得访问端不能通过外网IP访问设备的问题。
以上所述仅为本发明的较佳实施例而已,为方便本领域的技术人员更容易理解而设计,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种远程访问私网设备的方法,其特征在于,包括如下步骤:
(1)采用终端设备的MAC地址的后三个字节作为终端设备的ID,并将所述ID作为主机名构成二级域名;
将所述二级域名作为外网域名;通过在所述外网域名前添加字母“i”获得内网域名;所述内网域名用于解析被访问设备的内网IP;
(2)在域名注册商管理后台添加一个指向部署在公网的DDNS服务器的二级域名,并设置DNS解析委托,使二级域名的解析服务由所述DDNS服务器来处理;
利用开源项目PowerDNS的mysql数据库的records表来存储域名与IP地址的对应关系;
终端设备向DDNS服务器注册设备域名后,定时向DDNS服务器上报内网IP和外网IP;
(3)在DDNS服务器中添加根据域名查询设备IP的HTTP接口lookup-ip;
(4)通过采用DNS域名解析及HTTP接口查询IP相结合的访问私网设备的流程来访问私网设备,以解决DNS缓存导致的远程访问私网中DDNS设备时偶发性的连接中断的问题;
所述步骤(4)访问私网设备的流程具体如下:
(4.1)获取被访问设备的外网域名;
(4.2)获取被访问设备的内网域名;
(4.3)判断用外网域名连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则进入步骤(4.4);
(4.4)判断用内网域名连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则进入步骤(4.5);
(4.5)通过所述HTTP接口lookup-ip根据被访问设备域名查询来获取被访问设备的内网IP和外网IP;
(4.6)判断用外网IP连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则进入步骤(4.7);
(4.7)判断用内网IP连接被访问端是否成功,若是,则开始处理用户请求的业务;若否,则反馈错误提示信息。
2.如权利要求1所述的远程访问私网设备的方法,其特征在于,通过在records表中添加confirmed字段、token字段来提高设备域名注册的完整性和传输的安全性;
所述token字段的值由服务器在终端设备域名注册过程中随机生成;注册完成后由终端设备保存token值,在IP上报过程中用token值和时间戳信息对数据做签名,不在网络中传送所述token值以防止篡改或假冒签名;
当服务器收到数据后,从设备对应的数据库记录信息中取出token值并用取出的token值对数据做运算得到签名,通过将运算得到的签名与接收到的签名进行比对来判定数据是否被篡改或者接收到假冒数据;所述confirmed字段的值用作终端注册完成标识。
3.如权利要求1或2所述的远程访问私网设备的方法,其特征在于,终端设备域名的注册流程具体如下:
(I)检测本地是否保存有token值,若是,则跳转到IP上报流程;若否,则进入步骤(II);
(II)获取系统的MAC地址,向服务器发送包含MAC地址的注册请求;
(III)服务器接收到注册请求后,通过查询records表确定该MAC是否注册过,若已注册过且confirmed字段的值为1,进入步骤(IV);否则,进入步骤(V);
(IV)由服务器返回注册失败,由终端设备显示并记录错误信息,结束注册;
(V)为终端生成token值,在records表中写入当前内网域名、外网域名、token值,并向终端返回结果;
(VI)终端收到服务器返回的注册结果,将token值写入文件保存;
(VII)由终端向服务器发送注册成功的确认信息,服务器修改数据库的confirmed字段的值为1,表明本次注册已经确认;服务器将注册完成的结果返回终端;
(VIII)终端设备显示信息,注册流程结束,进入IP上报流程。
4.如权利要求3所述的远程访问私网设备的方法,其特征在于,IP上报流程具体包括如下步骤:
(i)终端读取保存在文件中的token值以及MAC地址;
(ii)根据所述token值、终端设备的MAC地址和时间戳计算出签名信息、获取内网IP,并发送更新IP地址请求;
(iii)服务器从终端设备发送的更新IP地址请求中获取终端的内、外网IP地址以及MAC地址;
(iv)根据MAC地址求得域名,然后在records表中根据域名查找记录,取出记录中的token值并根据取出的token值、终端设备的MAC地址和时间戳计算出签名,并判断计算出的签名与终端设备发送的信息中的签名是否一致,若是,则进入步骤(v),否则进入步骤(vi);
(v)将终端设备的内网IP地址和外网IP地址分别写入records表内网域名和外网域名对应记录的content字段;由服务器向终端设备反馈IP地址更新成功的结果,并延时t秒后进入步骤(ii);
(vi)由服务器向终端设备反馈IP地址更新失败的结果,由终端设备记录失败信息,并结束。
5.如权利要求4所述的远程访问私网设备的方法,其特征在于,在IP上报流程中,若读取token值失败,则进入到终端设备域名的注册流程进行设备域名注册。
CN201710516670.2A 2017-06-29 2017-06-29 一种远程访问私网设备的方法 Expired - Fee Related CN107222587B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710516670.2A CN107222587B (zh) 2017-06-29 2017-06-29 一种远程访问私网设备的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710516670.2A CN107222587B (zh) 2017-06-29 2017-06-29 一种远程访问私网设备的方法

Publications (2)

Publication Number Publication Date
CN107222587A CN107222587A (zh) 2017-09-29
CN107222587B true CN107222587B (zh) 2018-01-30

Family

ID=59951067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710516670.2A Expired - Fee Related CN107222587B (zh) 2017-06-29 2017-06-29 一种远程访问私网设备的方法

Country Status (1)

Country Link
CN (1) CN107222587B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108040124B (zh) * 2017-12-27 2020-11-03 奇安信科技集团股份有限公司 基于DNS-Over-HTTP协议的控制移动端应用的方法及装置
CN108717420B (zh) * 2018-04-20 2022-04-15 北京鲸鲨软件科技有限公司 一种分布式文件系统中提高小文件读取效率的方法
CN110995542B (zh) * 2019-12-16 2022-04-22 金蝶智慧科技(深圳)有限公司 一种网络状态检测方法、系统及相关设备
CN111131538B (zh) * 2019-12-20 2022-07-22 国久大数据有限公司 访问控制方法及访问控制系统
CN114189494B (zh) * 2021-12-16 2024-02-27 牙木科技股份有限公司 域名解析方法、dns服务器及可读存储介质
CN114745356B (zh) * 2022-03-29 2024-02-23 深信服科技股份有限公司 一种域名解析方法、装置、设备及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650598A (zh) * 2002-03-18 2005-08-03 松下电器产业株式会社 Ddns服务器、ddns客户终端和ddns系统以及万维网服务器终端、其网络系统和访问控制方法
CN101043447B (zh) * 2007-04-23 2010-05-26 重庆大学 基于ddns和nat的服务器内外网动态映射方法
US7844736B2 (en) * 2007-10-17 2010-11-30 Time Warner Cable, Inc. System and method for resolving MTA domain names
CN101217576B (zh) * 2008-01-18 2012-05-02 厦门纳网科技有限公司 动态域名解析系统及其动态解析方法
TW201039593A (en) * 2009-04-30 2010-11-01 Vivotek Inc DDNS system and auto-registering method
JP5856015B2 (ja) * 2012-06-15 2016-02-09 日立マクセル株式会社 コンテンツ送信装置

Also Published As

Publication number Publication date
CN107222587A (zh) 2017-09-29

Similar Documents

Publication Publication Date Title
CN107222587B (zh) 一种远程访问私网设备的方法
US11818142B2 (en) Distributed data authentication and validation using blockchain
CN106068639B (zh) 通过dns处理的透明代理认证
CN105959433B (zh) 一种域名解析方法及其域名解析系统
CN105323173B (zh) 网络规则条目的设置方法及装置
JP4965559B2 (ja) リソースアドレスリクエスト管理方法及び関連するゲートウェイ装置
CN105610867B (zh) 一种dns防劫持方法和装置
TW201824047A (zh) 攻擊請求的確定方法、裝置及伺服器
CN109067930A (zh) 域名接入方法、域名解析方法、服务器、终端及存储介质
WO2013143403A1 (zh) 一种访问网站的方法和系统
CN103327137B (zh) 一种路由器域名访问方法
CN103618801B (zh) 一种p2p资源共享的方法、设备及系统
CN110493366A (zh) 一种接入点加入网络管理的方法及装置
CN103685584A (zh) 一种基于隧道技术的反域名劫持方法和系统
CN107071079A (zh) 一种私网终端获取公网ip的方法及系统
US20180288612A1 (en) User equipment and method for protection of user privacy in communication networks
JP2002368781A (ja) ユーザ位置管理ドメインネーム変換システム
Afanasyev et al. Map-and-encap for scaling ndn routing
CN105429880B (zh) 网络设备及其进行路由转发的方法
CN106330894B (zh) 基于本地链路地址的savi代理认证系统及方法
US11546235B2 (en) Action based on advertisement indicator in network packet
CN107592374A (zh) Dns域名错误解析的dns纠正方法和系统
Lu et al. Research on Unexpected DNS Response from Open DNS Resolvers
Bergner Improving performance of modern peer-to-peer services
CN106487942A (zh) 一种域名解析信息的显示方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180130

Termination date: 20200629

CF01 Termination of patent right due to non-payment of annual fee