CN105554179B - 局域网内dns解析方法、系统 - Google Patents
局域网内dns解析方法、系统 Download PDFInfo
- Publication number
- CN105554179B CN105554179B CN201610013100.7A CN201610013100A CN105554179B CN 105554179 B CN105554179 B CN 105554179B CN 201610013100 A CN201610013100 A CN 201610013100A CN 105554179 B CN105554179 B CN 105554179B
- Authority
- CN
- China
- Prior art keywords
- address
- dns
- data packet
- local area
- area network
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004891 communication Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Abstract
本发明公开了一种局域网内DNS解析方法、系统、Openflow交换机及控制器,该局域网内DNS解析方法包括:Openflow交换机将用户端发出的源IP地址不为局域网DNS服务器的IP地址且目的IP地址为不为局域网内网IP地址的第一DNS请求数据包发送给Openflow控制器;Openflow控制器将第一DNS请求数据包中的源IP地址和目的IP地址进行修改以得到第二DNS请求数据包,并将第二DNS请求数据包发送给局域网DNS服务器;局域网DNS服务器对第二DNS请求数据包中的域名网址进行解析,以得到域名网址对应的解析IP地址。本发明的技术方案可解决局域网内将本地DNS服务器固定设置为ISP的DNS服务器或公共DNS服务器的用户无法访问内网网址的技术问题。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种局域网内DNS解析方法、解析系统、Openflow交换机和Openflow控制器。
背景技术
目前,在一些大型企业网或校园网等局域网中构建了内部的域名系统(DomainName System,简称DNS)服务器,该局域网DNS服务器主要用来实现对局域网内部使用域名地址进行解析。
在局域网中,往往通过动态主机配置协议(Dynamic Host ConfigurationProtocol,简称DHCP)将内部DNS服务器地址配置到用户电脑中,当用户访问内部的域名时,由局域网DNS服务器解析;当用户访问其他域名时,由局域网DNS服务器转发给互联网服务提供商(Internet Service Provider,简称ISP)的DNS服务器或公共 DNS服务器(例如,谷歌提供的地址为8.8.8.8的DNS服务器,114DNS 提供的地址为114.114.114.114的DNS服务器,CNNIC提供的地址为 1.2.4.8的DNS服务器等)。
在实际生活中,部分局域网用户用了能够快速的访问外网(互联网)的服务器,因而直接将本机DNS服务器固定设置为ISP的DNS 服务器或公共DNS服务器。在该用户访问外网服务器时,ISP的DNS 服务器或公共DNS服务器通过递归查询可以成功解析出域名网站对应的IP地址,并通过DNS应答数据包返回给用户,用户可成功进行访问。然而,当在该用户访问内网(局域网)服务器时,由内网服务器的域名地址并没有在公网注册,因此ISP的DNS服务器和公共DNS 服务器均无法进行域名解析,从而导致用户访问失败。
由上述内容可见,用户通过将本机DNS服务器设置为ISP的DNS 服务器或公共DNS服务器,这样虽然能够在一定程度上加快域名解析速度,但是用户却无法访问内网域名的网址,网络管理员经常需要解决这些用户无法访问内网网址的问题,给网络管理带来了困难。
发明内容
本发明提供一种本发明涉及通信技术领域,特别涉及一种局域网内DNS解析方法、解析系统、Openflow交换机和Openflow控制器,可有效的解决局域网内将本地DNS服务器固定设置为ISP的DNS服务器或公共DNS服务器的用户无法访问内网网址的问题。
为实现上述目的,本发明提供了一种局域网内DNS解析方法,包括:
Openflow交换机将用户端发出的源IP地址不为局域网DNS服务器的IP地址且目的IP地址为不为局域网内网IP地址的第一DNS请求数据包发送给Openflow控制器;
所述Openflow控制器将所述第一DNS请求数据包中的源IP地址和目的IP地址进行修改以得到第二DNS请求数据包,并将所述第二DNS请求数据包发送给所述局域网DNS服务器,所述第二DNS请求数据包中的源IP地址为所述Openflow控制器的IP地址,目的IP 地址为所述局域网DNS服务器的IP地址;
所述局域网DNS服务器对所述第二DNS请求数据包中的域名网址进行解析,以得到所述域名网址对应的解析IP地址。
可选地,该局域网内DNS解析方法还包括:
所述局域网DNS服务器将包含有所述解析IP地址的第一DNS应答数据包发送给所述Openflow控制器,所述第一DNS应答数据包中的源IP地址为所述局域网DNS服务器的IP地址,目的IP地址为所述Openflow控制器的IP地址;
所述Openflow控制器根据所述第一DNS应答数据包中的源IP 地址和目的IP地址对所述第一DNS应答数据包中的源IP地址和目的 IP地址进行修改以得到第二DNS请求数据包,并将所述第二DNS应答数据包发送给所述用户端,所述第二DNS请求数据包中的源IP地址为所述第一DNS请求数据包中的目的IP地址,目的IP地址为所述第一DNS请求数据包中的源IP地址。
可选地,所述局域网DNS服务器对所述第二DNS请求数据包中的域名网址进行解析的步骤包括:
所述局域网DNS服务器判断所述第二DNS请求数据包中的域名网址是否为局域网内部网址;
若是,则局域网DNS服务器根据预先存储的DNS数据库对所述域名网址进行解析;若否,则局域网DNS服务器将所述第二DNS请求数据包中的源IP地址和目的IP地址进行修改以得到第三DNS请求数据包,并将所述第三DNS请求数据包发送给公共DNS服务器或ISP 的DNS服务器,以供公共DNS服务器或ISP的DNS服务器对所述域名网址进行解析。
为实现上述目的,本发明还提供了一种局域网内DNS解析系统,包括:Openflow交换机和Openflow控制器,所述Openflow交换机设置于局域网内的接入交换机和出口路由器之间,所述Openflow控制器与所述Openflow交换机连接;
所述Openflow交换机内配置有第一流表和第二流表,所述第一流表对应的转发规则为:将源IP地址不为局域网DNS服务器的IP 地址且目的IP地址不为局域网内网IP地址的DNS数据包发送至 Openflow控制器,所述第二流表对应的转发规则为:将源IP地址为局域网DNS服务器的IP地址的DNS数据包,和/或目的IP地址为局域网内网IP地址的DNS数据包发送至相应的目标;
所述Openflow交换机具体用于将用户端发出的源IP地址不为局域网DNS服务器的IP地址且目的IP地址不为局域网内网IP地址的第一DNS请求数据包发送给Openflow控制器;
所述Openflow控制器用于将所述第一DNS请求数据包中的源IP 地址和目的IP地址进行修改以得到第二DNS请求数据包,并将所述第二DNS请求数据包发送给所述局域网DNS服务器,所述第二DNS 请求数据包中的源IP地址为所述Openflow控制器的IP地址,目的IP地址为所述局域网DNS服务器的IP地址;
所述局域网DNS服务器对所述第二DNS请求数据包中的域名网址进行解析,以得到所述域名网址对应的解析IP地址。
可选地,所述局域网DNS服务器还用于将包含有所述解析IP地址的第一DNS应答数据包发送给所述Openflow控制器,所述第一DNS 应答数据包中的源IP地址为所述局域网DNS服务器的IP地址,目的IP地址为所述Openflow控制器的IP地址;
所述Openflow控制器还用于根据所述第一DNS应答数据包中的源IP地址和目的IP地址对所述第一DNS应答数据包中的源IP地址和目的IP地址进行修改以得到第二DNS请求数据包,并将所述第二 DNS应答数据包发送给所述用户端,所述第二DNS请求数据包中的源IP地址为所述第一DNS请求数据包中的目的IP地址,目的IP地址为所述第一DNS请求数据包中的源IP地址。
可选地,所述局域网DNS服务器包括:
判断模块,用于判断所述第二DNS请求数据包中的域名网址是否为局域网内部网址;
解析模块用于若判断模块判断出所述第二DNS请求数据包中的域名网址为局域网内部网址时,根据预先存储的DNS数据库对所述域名网址进行解析;
修改转发模块,用于若判断模块判断出所述第二DNS请求数据包中的域名网址不为局域网内部网址时,将所述第二DNS请求数据包中的源IP地址和目的IP地址进行修改以得到第三DNS请求数据包,并将所述第三DNS请求数据包发送给公共DNS服务器或ISP的DNS服务器,以供公共DNS服务器或ISP的DNS服务器对所述域名网址进行解析。
为实现上述目的,本发明还提供了一种Openflow交换机,所述 Openflow交换机设置于局域网内的接入交换机和出口路由器之间,所述Openflow交换机包括:
第一存储模块,用于存储第一流表和第二流表,其中所述第一流表对应的转发规则为:将源IP地址不为局域网DNS服务器的IP 地址且目的IP地址不为局域网内网IP地址的DNS数据包发送至 Openflow控制器,所述第二流表对应的转发规则为:将源IP地址为局域网DNS服务器的IP地址的DNS数据包,和/或目的IP地址为局域网内网IP地址的DNS数据包发送至相应的目标;
匹配模块,用于判断所述Openflow交换机接收到数据包匹配第一流表还是第二流表;
转发模块,用于根据匹配模块的匹配结果对所述数据包进行相应的转发。
为实现上述目的,本发明还提供了一种Openflow控制器,包括:
第二存储模块,用于存储接收的DNS请求数据包;
第一地址修改模块,用于将Openflow交换机发送来的源IP地址不为局域网DNS服务器的IP地址且目的IP地址不为局域网内网 IP地址的DNS请求数据包中的地址进行修改,修改后的DNS请求数据包中的源IP地址为所述Openflow交换机的IP地址,目的IP地址为局域网DNS服务器的IP地址;
通信单元,用于根据Openflow协议与所述Openflow交换机进行数据通信。
可选地,该Openflow控制器还包括:
第二地址修改模块,用于根据第二存储模块中存储的DNS请求数据包,将Openflow交换机发送来的源IP地址为局域网DNS服务器的IP地址、目的IP地址为所述Openflow交换机的IP地址的DNS 应答数据包中的地址进行修改,修改后的DNS应答数据包中的源IP 地址为所述DNS请求数据包中的目的IP地址,目的IP地址为所述 DNS请求数据包中的源IP地址。
本发明具有以下有益效果:
本发明提供了一种局域网内DNS解析方法、解析系统、Openflow 交换机和Openflow控制器,其中该局域网内DNS解析方法包括: Openflow交换机将用户端发出的源IP地址不为局域网DNS服务器的 IP地址且目的IP地址为不为局域网内网IP地址的第一DNS请求数据包发送给Openflow控制器;Openflow控制器将第一DNS请求数据包中的源IP地址和目的IP地址进行修改以得到第二DNS请求数据包,并将第二DNS请求数据包发送给局域网DNS服务器;局域网DNS 服务器对第二DNS请求数据包中的域名网址进行解析,以得到域名网址对应的解析IP地址。本发明的技术方案通过Openflow交换机劫持局域网内采用固定非局域网DNS服务器来配置本地DNS的客户端所发出的DNS请求数据包,并将劫持到的数据包转发至局域网DNS服务器,以供局域网DNS服务器来对用户端请求的域名网址进行解析,从而解决了局域网内将本地DNS服务器固定设置为ISP的DNS服务器或公共 DNS服务器的用户无法访问内网网址的问题。
附图说明
图1为本发明实施例一提供的一种局域网内DNS解析系统的结示意图;
图2为本发明实施例二提供的一种Openflow交换机的结构框图;
图3为本发明实施例三提供的一种Openflow控制器的结构框图;
图4为本发明实施例四提供的一种局域网内DNS解析方法的流程图;
图5为本发明实施例四提供的又一种局域网内DNS解析方法的流程图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明提供的一种局域网内DNS解析方法、解析系统、 Openflow交换机和Openflow控制器进行详细描述。
为更好的理解本发明,下面先对本领域中的若干技术术语进行解释。本发明的技术方案基于Openflow技术,在Openflow网络结构中,一般包括:Openflow控制器(OpenflowController)和Openflow 交换机(Openflow Switch),通过Openflow控制器和Openflow交换机可以实现数据转发和控制的分离。具体地,Openflow控制器可将流表(Table)表项下发到Openflow交换机中,以供Openflow交换机对不同数据包执行不同的转发规则。此外,Openflow控制器还可对相应的数据包进行处理。
为实现局域网与外网连通,在局域网中设置有接入交换机和出口路由器,接入交换机与出口路由器连通,接入交换机是本领域中一种常见的交换机,它直接与外网联系,局域网内的所有设备均可以直接或间接的与接入交换机进行数据通信,出口路由器一般是指局域网出外网的路由器。
图1为本发明实施例一提供的一种局域网内DNS解析系统的结示意图,如图1所示,该DNS解析系统包括:Openflow交换机1和 Openflow控制器2,Openflow交换机1设置于局域网内的接入交换机4和出口路由器5之间,Openflow控制器2与Openflow交换机1 连接,Openflow控制器2配置有一个局域网内网IP地址。
需要说明的是,在本发明中,Openflow控制器2通过预先向 Openflow交换机1下发了第一流表和第二流表,从而定义出Openflow 交换机1的数据转发规则。其中,第一流表对应的转发规则为:将源 IP地址不为局域网DNS服务器3的IP地址且目的IP地址不为局域网内网IP地址的DNS数据包发送至Openflow控制器2,第二流表对应的转发规则为:将源IP地址为局域网DNS服务器3的IP地址的 DNS数据包,和/或目的IP地址为局域网内网IP地址的DNS数据包发送至相应的目标。通过上述数据转发规则,可以将局域网内采用固定非局域网DNS服务器3来配置本地DNS的客户端所发出的DNS请求数据包进行劫持。需要说明的是,利用Openflow控制器2向Openflow 交换机1下发流表的技术手段为本领域的常用技术手段,具体过程此处不进行详细描述。
在实际生活中,局域网内的用户端有两种,其一是本地DNS服务器的IP地址设置为局域网DNS服务器3的IP地址的用户端,其二是本地DNS服务器的IP地址设置为非局域网DNS服务器3的IP地址 (即为ISP的DNS服务器8或公共DNS服务器7的IP地址);这两种用户分别有两种网络访问方式,其一是内网访问,其二是外网访问。
本发明的技术方案可实现局域网内将DNS服务器设置为非局域网DNS服务器3的用户端通过域名访问内网web服务器时,该内网 web服务器的域名能成功被解析。在本实施例中,用户端进行网址访问时会发出第一DNS请求数据包,该第一DNS请求数据包中记载有源IP地址(即客户端的IP地址)、目的IP地址(客户端设置的DNS 服务器的IP地址)和局域网web服务器6(待访问的内网服务器) 的域名。
在将DNS服务器设置为非局域网DNS服务器3的用户端访问内网网址的过程中,Openflow交换机1具体用于将用户端发出的源IP 地址不为局域网DNS服务器3的IP地址且目的IP地址为非局域网内网IP地址的第一DNS请求数据包(即局域网内将DNS服务器设置为非局域网DNS服务器3的用户端所发出的第一DNS请求数据包)发送给Openflow控制器2。同时,Openflow控制器2用于将该第一DNS 请求数据包中的源IP地址和目的IP地址进行修改以得到第二DNS 请求数据包,并将第二DNS请求数据包发送给局域网DNS服务器3。其中,第二DNS请求数据包中的源IP地址为Openflow控制器2的 IP地址,第二DNS请求数据包中的目的IP地址为局域网DNS服务器 3的IP地址。局域网DNS服务器3对第二DNS请求数据包中的域名网址进行解析,以得到域名网址对应的解析IP地址。
为更好的让本领域的技术人员理解本发明,下面将结合一个具体实例进行详细的描述。其中,假定局域网内网IP地址的范围包括 10.0.1.1~10.0.1.255,局域网内的某一用户端A的IP地址为 10.0.1.100;用户端A设置的DNS为公共DNS服务器7,该公共DNS 服务器7对应的IP地址为114.114.114.114;局域网DNS服务器3 的IP地址为10.0.1.2;局域网web服务器6使用内部域名为 www.inner.local,IP地址为10.0.1.3;Openflow控制器2的IP地址为10.0.1.4。
在用户端A通过域名访问局域网web服务器6时,用户端会生成一个第一DNS请求数据包,该第一DNS请求数据包如下:
源IP地址 | 目的IP地址 | 域名网址 |
10.0.1.100 | 114.114.114.114 | www.inner.local |
该第一DNS请求数据包内的源IP地址为:10.0.1.100,目的IP 地址为:114.114.114.114,域名网址为:www.inner.local。
在该第一DNS请求数据包由用户端A向公共DNS服务器7的传递过程中,会不可避免的经过Openflow交换机1。当该第一DNS请求数据包被传递至Openflow交换机1时,由于该第一DNS请求数据包中的源IP地址不为局域网DNS服务器3的IP地址,且目的IP地址为不为局域网内网IP地址,即第一DNS请求数据包会匹配 Openflow交换机1中的第一流表,因此Openflow交换机1会将该第一DNS请求数据包被转发至Openflow控制器2。即Openflow控制器 2将局域网内采用固定非局域网DNS服务器3来配置本地DNS的客户端所发出的DNS请求数据包进行劫持。
Openflow控制器2接收到Openflow交换机1转发的第一DNS 请求数据包后,会先将该第一DNS请求数据包进行备份并存储,然后再将该第一DNS请求数据包中的源IP地址修改为Openflow控制器2 的IP地址,以及将第一DNS请求数据包中的目的IP地址修改为局域网DNS服务器3的IP地址,从而得到第二DNS请求数据包,该第二 DNS请求数据包如下:
源IP地址 | 目的IP地址 | 域名网址 |
10.0.1.4 | 10.0.1.2 | www.inner.local |
该第二DNS请求数据包内的源IP地址为:10.0.1.4,目的IP 地址为:10.0.1.2,域名网址为:www.inner.local。
Openflow控制器2会通过Openflow交换机1将该第二DNS请求数据包发送至局域网DNS服务器3。需要说明的是,当第二DNS请求数据包传递至的Openflow交换机1时,由于第二DNS请求数据包中的目的IP地址为局域网DNS服务器3的IP地址(属于局域网内网 IP地址),即第二DNS请求数据包匹配Openflow交换机1中的第二流表,因此Openflow交换机1会将该第二DNS请求数据包发送至接入交换机4,并在局域网内通过一定的路由路径以发送至局域网DNS 服务器3(第二DNS请求数据包的目的地址)。即Openflow控制器2 将劫持到的局域网内采用固定非局域网DNS服务器3来配置本地DNS 的客户端所发出的DNS请求数据包转发至局域网DNS服务器3。
在局域网DNS服务器3接收到第二DNS请求数据包后,局域网 DNS服务器3会根据预先存储的DNS数据库对第二DNS请求数据包中的域名网址www.inner.local进行解析,得到域名网址 www.inner.local对应的解析IP地址为10.0.1.3。即局域网DNS服务器3实现对Openflow控制器2所劫持的DNS请求数据包进行解析。
由上述内容可见,本发明的技术方案可在将DNS服务器设置为非局域网DNS服务器3的用户端通过域名访问内网web服务器时,成功对该用户端所请求的域名进行解析,即本实施例提供的局域网内 DNS解析系统能够支持将DNS服务器设置为非局域网DNS服务器3的用户端进行内网访问。
需要说明的是,上述图1中仅示例性的给出了一个用户端,本领域技术人员知晓的是,在本发明中局域网中也可以设置多个用户端。
本实施例中,为使得将DNS服务器设置为非局域网DNS服务器3 的用户端能够获取到局域网DNS服务器3解析出的解析IP地址。可选地,局域网DNS服务器3还用于将包含有解析IP地址的第一DNS 应答数据包发送给Openflow控制器2,第一DNS应答数据包中的源 IP地址为局域网DNS服务器3的IP地址,第一DNS应答数据包中目的IP地址为Openflow控制器2的IP地址;Openflow控制器2还用于根据第一DNS应答数据包中的源IP地址和目的IP地址对第一DNS 应答数据包中的源IP地址和目的IP地址进行修改以得到第二DNS 请求数据包,并将第二DNS应答数据包发送给用户端,第二DNS请求数据包中的源IP地址为第一DNS请求数据包中的目的IP地址,第二 DNS请求数据包中目的IP地址为第一DNS请求数据包中的源IP地址。
为更好的让本领域的技术人员理解本发明,下面仍以上述用户端A通过域名访问局域网web服务器6的过程为例,进行示例性说明。
在局域网DNS服务器3解析出域名网址www.inner.local对应的解析IP地址为10.0.1.3后,局域网DNS服务器3会生成一个第一 DNS应答数据包,该第一DNS应答数据包如下:
源IP地址 | 目的IP地址 | 域名网址 | 解析IP地址 |
10.0.1.2 | 10.0.1.4 | www.inner.local | 10.0.1.3 |
该第一DNS应答数据包内的源IP地址为:10.0.1.4,目的IP 地址为:10.0.1.2,域名网址为:www.inner.local,解析IP地址为: 10.0.1.3。
局域网DNS服务器3会通过Openflow交换机1将该第一DNS应答数据包发送至Openflow控制器2。需要说明的是,当第一DNS应答数据包传递至的Openflow交换机1时,由于第一DNS应答数据包中的源IP地址为局域网DNS服务器3的IP地址,即第一DNS应答数据包匹配Openflow交换机1中的第二流表,因此Openflow交换机1 会将该第一DNS应答数据包发送至Openflow控制器2(第一DNS应答数据包的目的地址)。
Openflow控制器2在接收到第一DNS应答数据包后,根据预先存储的第一DNS请求数据包内的源IP地址和目的IP地址,将第一 DNS应答数据包中的源IP地址修改为第一DNS请求数据包的目的IP 地址,将将第一DNS应答数据包中的目的IP地址修改为第一DNS请求数据包的源IP地址,从而得到一个第二DNS应答数据包,该第二 DNS应答数据包如下:
源IP地址 | 目的IP地址 | 域名网址 | 解析IP地址 |
114.114.114.114 | 10.0.1.100 | www.inner.local | 10.0.1.3 |
该第二DNS应答数据包内的源IP地址为:114.114.114.114,目的IP地址为:10.0.1.100,域名网址为:www.inner.local,解析 IP地址为:10.0.1.3。
Openflow控制器2会通过Openflow交换机1将该第二DNS应答数据包发送至客户端A。需要说明的是,当第二DNS应答数据包传递至的Openflow交换机1时,由于第二DNS应答数据包中的目的IP 地址为客户端的IP地址(属于局域网内网IP地址),即第二DNS 应答数据包匹配Openflow交换机1中的第二流表,因此Openflow 交换机1会将该第二DNS应答数据包发送至接入交换机4,并在局域网内通过一定的路由路径以发送至用户端A(第二DNS应答数据包的目的地址)。此时,用户端A可以根据第二DNS应答数据包中记载的解析IP地址,对域名网址为www.inner.local的服务器进行访问。
在本实施例中,可选地,局域网DNS服务器3中包括:判断模块修改转发模块、解析模块和修改转发模块,其中判断模块用于判断第二DNS请求数据包中的域名网址是否为局域网内部网址;解析模块用于若判断模块判断出第二DNS请求数据包中的域名网址为局域网内部网址时,根据预先存储的DNS数据库对域名网址进行解析,并将生成相应的第一DNS应答数据包;修改转发模块用于若判断模块判断出第二DNS请求数据包中的域名网址不为局域网内部网址时,将第二 DNS请求数据包中的源IP地址修改为局域网DNS服务器3的IP地址,将第二DNS请求数据包中的目的IP地址修改为公共DNS服务器7或 ISP的DNS服务器8的IP地址,得到第三DNS请求数据包,并将该第三DNS请求数据包发送至公共DNS服务器7或ISP的DNS服务器8,以供公共DNS服务器7或ISP的DNS服务器8对域名网址进行解析。
需要说明的是,在局域网DNS服务器3将第三DNS请求数据包发送至公共DNS服务器7或ISP的DNS服务器8的过程中,当第三 DNS请求数据包发送至Openflow交换机1时,由于第三DNS请求数据包中的源地址为局域网DNS服务器3的IP地址,即第三DNS请求数据包匹配第二流表,因此Openflow交换机1会将该第二DNS请求数据包发送至出口路由器5,并在互联网中通过一定的路由路径以发送至相应的公共DNS服务器7或ISP的DNS服务器8。待公共DNS服务器7或ISP的DNS服务器8对第三DNS请求数据包中的域名网址完成解析后,会向局域网DNS服务器3反馈一个包含有解析IP地址的 DNS数据包,以供局域网DNS服务器3生成第一DNS应答数据包。
由上述内容可见,本发明的技术方案可在将DNS服务器设置为非局域网DNS服务器3的用户端通过域名访问外网web服务器时,成功对该用户端所请求的外网web服务器的域名进行解析,即本实施例提供的局域网内DNS解析系统能够支持将DNS服务器设置为非局域网 DNS服务器3的用户端进行外网访问。
此外,当局域网内的用户端根据DHCP协议而将DNS配置为局域网DNS服务器3的IP地址时,用户端所会将第一DNS请求数据包发送至局域网DNS服务器3。当第一DNS请求数据包中的域名网址为局域网内部网址时,则局域网DNS服务器3会直接对该域名网址进行解析;当第一DNS请求数据包中的域名网址不为局域网内部网址时,则局域网DNS服务器3会将该第一DNS请求数据包转发至公共DNS服务器7或ISP的DNS服务器8以进行解析。本实施例中对采用DHCP协议配置DNS客户端的用户端进行内网或外网访问的具体过程与现有技术相同,此处不进行详细描述。
综上可见,无论用户端是采用DHCP协议来配置本地DNS,还是采用固定非局域网DNS服务器3来配置本地DNS,本实施例提供的局域网内DNS解析系统均能对客户端进行网络访问(包括内网访问和外网访问)时所请求的的域名网址成功进行解析。
图2为本发明实施例二提供的一种Openflow交换机1的结构框图,如图2所示,该Openflow交换机1为上述实施例一中的Openflow 交换机1,该Openflow交换机1设置于局域网内的接入交换机4和出口路由器5之间,该Openflow交换机1包括:第一存储模块11、匹配模块12和转发模块13。
其中,第一存储模块11用于存储第一流表和第二流表,其中第一流表对应的转发规则为:将源IP地址不为局域网DNS服务器3的 IP地址且目的IP地址不为局域网内网IP地址的DNS数据包发送至 Openflow控制器2,第二流表对应的转发规则为:将源IP地址为局域网DNS服务器3的IP地址的DNS数据包,和/或目的IP地址为局域网内网IP地址的DNS数据包发送至相应的目标。匹配模块12用于判断Openflow交换机1接收到数据包匹配第一流表还是第二流表。转发模块13用于根据匹配模块的匹配结果对数据包进行相应的转发。
需要说明的是,本实施例中提供的Openflow交换机1的具体工作过程可参见上述实施例一中相应的描述,此处不再赘述。
图3为本发明实施例三提供的一种Openflow控制器2的结构框图,如图3所示,该Openflow控制器2与上述实施例二中的Openflow 交换机1连接,该Openflow控制器2包括:第二存储模块21、第一地址修改模块22和通信模块23。
其中,第二存储模块21用于存储接收的DNS请求数据包(进行备份存储)。第一地址修改模块22用于将Openflow交换机1发送来的源IP地址不为局域网DNS服务器3的IP地址且目的IP地址不为局域网内网IP地址的DNS请求数据包(匹配第一流表的第一DNS请求数据包)中的地址进行修改,修改后的DNS请求数据包中的源IP 地址为Openflow交换机1的IP地址,目的IP地址为局域网DNS服务器3的IP地址。通信模块23用于根据Openflow协议与Openflow 交换机1进行数据通信。
可选地,该Openflow控制器2还包括:第二地址修改模块24,第二地址修改模块24用于根据第二存储模块中存储的DNS请求数据包(即实施例一中匹配第一流表的第一DNS请求数据包),将Openflow 交换机1发送来的源IP地址为局域网DNS服务器3的IP地址、目的IP地址为Openflow交换机1的IP地址的DNS应答数据包(即实施例一中匹配第二流表的第一DNS应答数据包)中的地址进行修改,修改后的DNS应答数据包中的源IP地址为DNS请求数据包中的目的IP 地址,目的IP地址为DNS请求数据包中的源IP地址。
需要说明的是,本实施例中提供的Openflow控制器2的具体工作过程可参见上述实施例一中相应的描述,此处不再赘述。
图4为本发明实施例四提供的一种局域网内DNS解析方法的流程图,如图4,该局域网内DNS解析方法基于上述实施例一提供的局域网内DNS解析系统,该解析方法可用于在局域网内采用固定非局域网DNS服务器来配置本地DNS的客户端进行网络访问(包括内网访问和外网访问)时,对该用户端请求的域名网址成功进行解析。该解析方法包括:
步骤101:Openflow交换机将用户端发出的源IP地址不为局域网DNS服务器的IP地址且目的IP地址为不为局域网内网IP地址的第一DNS请求数据包发送给Openflow控制器。
步骤102:Openflow控制器将第一DNS请求数据包中的源IP地址和目的IP地址进行修改以得到第二DNS请求数据包,并将第二DNS 请求数据包发送给局域网DNS服务器。
其中,第二DNS请求数据包中的源IP地址为Openflow控制器的IP地址,目的IP地址为局域网DNS服务器的IP地址。
步骤103:局域网DNS服务器对第二DNS请求数据包中的域名网址进行解析,以得到域名网址对应的解析IP地址。
可选地,步骤103包括:
步骤1031:局域网DNS服务器判断第二DNS请求数据包中的域名网址是否为局域网内部网址。
若步骤1031中的判断结果为是,则执行下述步骤1032;若步骤 1031中的判断结果为否,则执行下述步骤1033。
步骤1032:局域网DNS服务器根据预先存储的DNS数据库对域名网址进行解析。
步骤1033:局域网DNS服务器将第二DNS请求数据包中的源IP 地址和目的IP地址进行修改以得到第三DNS请求数据包,并将第三 DNS请求数据包发送给公共DNS服务器或ISP的DNS服务器,以供公共DNS服务器或ISP的DNS服务器对域名网址进行解析。
通过步骤101~步骤103以对局域网内采用固定非局域网DNS 服务器来配置本地DNS的客户端所请求的域名网址进行解析的具体内容,可参见上述实施例一中的相应描述,此处不再赘述。
图5为本发明实施例四提供的又一种局域网内DNS解析方法的流程图,如图5所示,图5所示的解析方法不仅包括上述图4中的步骤101~步骤103,还包括步骤104和步骤105。
步骤104:局域网DNS服务器将包含有解析IP地址的第一DNS 应答数据包发送给Openflow控制器。
其中,第一DNS应答数据包中的源IP地址为局域网DNS服务器的IP地址,目的IP地址为Openflow控制器的IP地址。
步骤105:Openflow控制器根据第一DNS应答数据包中的源IP 地址和目的IP地址对第一DNS应答数据包中的源IP地址和目的IP 地址进行修改以得到第二DNS请求数据包,并将第二DNS应答数据包发送给用户端。
其中,第二DNS请求数据包中的源IP地址为第一DNS请求数据包中的目的IP地址,目的IP地址为第一DNS请求数据包中的源IP 地址。
通过上述步骤104和步骤105,可将局域网DNS服务器解获取到的解析IP地址反馈至客户端,以便客户端进行访问。对于步骤104 和步骤105的具体执行过程,可参见上述实施例一中的相应描述,此处不再赘述。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (7)
1.一种局域网内DNS解析方法,其特征在于,包括:
Openflow交换机将用户端发出的源IP地址不为局域网DNS服务器的IP地址且目的IP地址为不为局域网内网IP地址的第一DNS请求数据包发送给Openflow控制器;
所述Openflow控制器将所述第一DNS请求数据包中的源IP地址和目的IP地址进行修改以得到第二DNS请求数据包,并将所述第二DNS请求数据包发送给所述局域网DNS服务器,所述第二DNS请求数据包中的源IP地址为所述Openflow控制器的IP地址,目的IP地址为所述局域网DNS服务器的IP地址;
所述局域网DNS服务器对所述第二DNS请求数据包中的域名网址进行解析,以得到所述域名网址对应的解析IP地址;
所述局域网DNS服务器将包含有所述解析IP地址的第一DNS应答数据包发送给所述Openflow控制器,所述第一DNS应答数据包中的源IP地址为所述局域网DNS服务器的IP地址,目的IP地址为所述Openflow控制器的IP地址;
所述Openflow控制器根据所述第一DNS应答数据包中的源IP地址和目的IP地址对所述第一DNS应答数据包中的源IP地址和目的IP地址进行修改以得到第二DNS请求数据包,并将所述第二DNS应答数据包发送给所述用户端,所述第二DNS请求数据包中的源IP地址为所述第一DNS请求数据包中的目的IP地址,目的IP地址为所述第一DNS请求数据包中的源IP地址。
2.根据权利要求1所述的局域网内DNS解析方法,其特征在于,所述局域网DNS服务器对所述第二DNS请求数据包中的域名网址进行解析的步骤包括:
所述局域网DNS服务器判断所述第二DNS请求数据包中的域名网址是否为局域网内部网址;
若是,则局域网DNS服务器根据预先存储的DNS数据库对所述域名网址进行解析;若否,则局域网DNS服务器将所述第二DNS请求数据包中的源IP地址和目的IP地址进行修改以得到第三DNS请求数据包,并将所述第三DNS请求数据包发送给公共DNS服务器或ISP的DNS服务器,以供公共DNS服务器或ISP的DNS服务器对所述域名网址进行解析。
3.一种局域网内DNS解析系统,其特征在于,包括:Openflow交换机和Openflow控制器,所述Openflow交换机设置于局域网内的接入交换机和出口路由器之间,所述Openflow控制器与所述Openflow交换机连接;
所述Openflow交换机内配置有第一流表和第二流表,所述第一流表对应的转发规则为:将源IP地址不为局域网DNS服务器的IP地址且目的IP地址不为局域网内网IP地址的DNS数据包发送至Openflow控制器,所述第二流表对应的转发规则为:将源IP地址为局域网DNS服务器的IP地址的DNS数据包,和/或目的IP地址为局域网内网IP地址的DNS数据包发送至相应的目标;
所述Openflow交换机具体用于将用户端发出的源IP地址不为局域网DNS服务器的IP地址且目的IP地址不为局域网内网IP地址的第一DNS请求数据包发送给Openflow控制器;
所述Openflow控制器用于将所述第一DNS请求数据包中的源IP地址和目的IP地址进行修改以得到第二DNS请求数据包,并将所述第二DNS请求数据包发送给所述局域网DNS服务器,所述第二DNS请求数据包中的源IP地址为所述Openflow控制器的IP地址,目的IP地址为所述局域网DNS服务器的IP地址;
所述局域网DNS服务器对所述第二DNS请求数据包中的域名网址进行解析,以得到所述域名网址对应的解析IP地址;
所述局域网DNS服务器还用于将包含有所述解析IP地址的第一DNS应答数据包发送给所述Openflow控制器,所述第一DNS应答数据包中的源IP地址为所述局域网DNS服务器的IP地址,目的IP地址为所述Openflow控制器的IP地址;
所述Openflow控制器还用于根据所述第一DNS应答数据包中的源IP地址和目的IP地址对所述第一DNS应答数据包中的源IP地址和目的IP地址进行修改以得到第二DNS请求数据包,并将所述第二DNS应答数据包发送给所述用户端,所述第二DNS请求数据包中的源IP地址为所述第一DNS请求数据包中的目的IP地址,目的IP地址为所述第一DNS请求数据包中的源IP地址。
4.根据权利要求3所述的局域网内DNS解析系统,其特征在于,所述局域网DNS服务器包括:
判断模块,用于判断所述第二DNS请求数据包中的域名网址是否为局域网内部网址;
解析模块用于若判断模块判断出所述第二DNS请求数据包中的域名网址为局域网内部网址时,根据预先存储的DNS数据库对所述域名网址进行解析;
修改转发模块,用于若判断模块判断出所述第二DNS请求数据包中的域名网址不为局域网内部网址时,将所述第二DNS请求数据包中的源IP地址和目的IP地址进行修改以得到第三DNS请求数据包,并将所述第三DNS请求数据包发送给公共DNS服务器或ISP的DNS服务器,以供公共DNS服务器或ISP的DNS服务器对所述域名网址进行解析。
5.根据权利要求3所述的局域网内DNS解析系统,其特征在于,所述Openflow交换机包括:
第一存储模块,用于存储所述第一流表和所述第二流表;
匹配模块,用于判断所述Openflow交换机接收到数据包匹配第一流表还是第二流表;
转发模块,用于根据匹配模块的匹配结果对所述数据包进行相应的转发。
6.根据权利要求3所述的局域网内DNS解析系统,其特征在于,所述Openflow控制器包括:
第二存储模块,用于存储接收的DNS请求数据包;
第一地址修改模块,用于将Openflow交换机发送来的源IP地址不为局域网DNS服务器的IP地址且目的IP地址不为局域网内网IP地址的DNS请求数据包中的地址进行修改,修改后的DNS请求数据包中的源IP地址为所述Openflow交换机的IP地址,目的IP地址为局域网DNS服务器的IP地址;
通信单元,用于根据Openflow协议与所述Openflow交换机进行数据通信。
7.根据权利要求6所述的局域网内DNS解析系统,其特征在于,所述Openflow控制器还包括:
第二地址修改模块,用于根据第二存储模块中存储的DNS请求数据包,将Openflow交换机发送来的源IP地址为局域网DNS服务器的IP地址、目的IP地址为所述Openflow交换机的IP地址的DNS应答数据包中的地址进行修改,修改后的DNS应答数据包中的源IP地址为所述DNS请求数据包中的目的IP地址,目的IP地址为所述DNS请求数据包中的源IP地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610013100.7A CN105554179B (zh) | 2016-01-08 | 2016-01-08 | 局域网内dns解析方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610013100.7A CN105554179B (zh) | 2016-01-08 | 2016-01-08 | 局域网内dns解析方法、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105554179A CN105554179A (zh) | 2016-05-04 |
CN105554179B true CN105554179B (zh) | 2018-11-30 |
Family
ID=55833111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610013100.7A Active CN105554179B (zh) | 2016-01-08 | 2016-01-08 | 局域网内dns解析方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105554179B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101300B (zh) * | 2016-06-22 | 2020-08-18 | 东方有线网络有限公司 | 通过私有域名系统控制访问自建服务器的方法 |
CN106330708A (zh) * | 2016-08-18 | 2017-01-11 | 中国科学院计算技术研究所 | 一种本地dns服务的系统和方法 |
CN108632173B (zh) * | 2017-03-16 | 2020-09-08 | 南方银谷科技有限公司 | 一种资源访问系统及基于局域网的资源访问方法 |
CN108566446A (zh) * | 2018-04-09 | 2018-09-21 | 广州热点软件科技股份有限公司 | 局域网域名解析方法、装置和系统 |
CN109787951B (zh) * | 2018-11-22 | 2022-09-02 | 北京奇艺世纪科技有限公司 | 一种网络数据访问方法、装置及电子设备 |
CN109787952B (zh) * | 2018-11-22 | 2022-06-03 | 北京奇艺世纪科技有限公司 | 一种网络数据访问方法、装置及电子设备 |
CN109802936B (zh) * | 2018-11-22 | 2022-04-22 | 北京奇艺世纪科技有限公司 | 一种网络数据访问方法、装置及电子设备 |
CN110324435B (zh) * | 2019-06-19 | 2021-05-04 | 厦门网宿有限公司 | 一种网络请求处理方法及系统 |
CN110519411A (zh) * | 2019-09-03 | 2019-11-29 | 广州小鹏汽车科技有限公司 | 一种数据下载方法和系统 |
CN113438307A (zh) * | 2021-06-22 | 2021-09-24 | 北京金山安全软件有限公司 | 一种域名解析方法、服务器、系统及存储介质 |
CN114615233B (zh) * | 2022-03-11 | 2023-08-04 | 展讯半导体(成都)有限公司 | 数据传输方法、装置及系统、网关设备、终端设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932496A (zh) * | 2012-10-10 | 2013-02-13 | 瑞斯康达科技发展股份有限公司 | 一种管理域名系统信息的方法和系统 |
US8560663B2 (en) * | 2011-09-30 | 2013-10-15 | Telefonaktiebolaget L M Ericsson (Publ) | Using MPLS for virtual private cloud network isolation in openflow-enabled cloud computing |
WO2014047951A1 (zh) * | 2012-09-29 | 2014-04-03 | 华为技术有限公司 | 一种网络存储的方法、交换设备和控制器 |
JP2015023533A (ja) * | 2013-07-23 | 2015-02-02 | 日本電気株式会社 | 通信システム |
CN104813288A (zh) * | 2012-11-27 | 2015-07-29 | 瑞典爱立信有限公司 | 用于在启用openflow的云计算中使用mpls时分离租户特定数据的装置和方法 |
CN104853002A (zh) * | 2015-04-29 | 2015-08-19 | 中国互联网络信息中心 | 一种基于sdn网络的dns解析系统与解析方法 |
CN105119930A (zh) * | 2015-09-09 | 2015-12-02 | 南京理工大学 | 基于OpenFlow协议的恶意网站防护方法 |
-
2016
- 2016-01-08 CN CN201610013100.7A patent/CN105554179B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560663B2 (en) * | 2011-09-30 | 2013-10-15 | Telefonaktiebolaget L M Ericsson (Publ) | Using MPLS for virtual private cloud network isolation in openflow-enabled cloud computing |
WO2014047951A1 (zh) * | 2012-09-29 | 2014-04-03 | 华为技术有限公司 | 一种网络存储的方法、交换设备和控制器 |
CN102932496A (zh) * | 2012-10-10 | 2013-02-13 | 瑞斯康达科技发展股份有限公司 | 一种管理域名系统信息的方法和系统 |
CN104813288A (zh) * | 2012-11-27 | 2015-07-29 | 瑞典爱立信有限公司 | 用于在启用openflow的云计算中使用mpls时分离租户特定数据的装置和方法 |
JP2015023533A (ja) * | 2013-07-23 | 2015-02-02 | 日本電気株式会社 | 通信システム |
CN104853002A (zh) * | 2015-04-29 | 2015-08-19 | 中国互联网络信息中心 | 一种基于sdn网络的dns解析系统与解析方法 |
CN105119930A (zh) * | 2015-09-09 | 2015-12-02 | 南京理工大学 | 基于OpenFlow协议的恶意网站防护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105554179A (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105554179B (zh) | 局域网内dns解析方法、系统 | |
CN101827138B (zh) | 一种优化的ipv6过滤规则处理方法和设备 | |
CN106878483A (zh) | 一种ip地址分配方法及装置 | |
AU2010262572B2 (en) | Internet access control apparatus, method and gateway thereof | |
CN102165741A (zh) | 在ipv6网络中用于封锁和搜索主机的方法 | |
CN105472048B (zh) | 一种地址分配方法、信息聚合方法及相关设备 | |
CN108234522A (zh) | 防止地址解析协议arp攻击方法、装置、计算机设备和存储介质 | |
CN108418806B (zh) | 一种报文的处理方法及装置 | |
CN103957282B (zh) | 一种域内终端用户域名解析加速系统及其方法 | |
CN101820432A (zh) | 无状态地址配置的安全控制方法及装置 | |
WO2012146120A1 (en) | Method for forwarding response packet from dhcp server, forwarding device and system | |
CN108040134A (zh) | 一种dns透明代理的方法及装置 | |
CN103561122B (zh) | IPv6地址配置方法、IPv6客户端及服务器 | |
CN102263837B (zh) | 一种域名系统dns解析方法及装置 | |
CN104468619A (zh) | 一种实现双栈web认证的方法和认证网关 | |
WO2014206152A1 (zh) | 一种网络安全监控方法和系统 | |
CN109379339B (zh) | 一种Portal认证方法及装置 | |
CN102164150B (zh) | 策略下发处理方法、设备、服务器和系统 | |
CN104735174B (zh) | 一种http透明代理的实现方法及装置 | |
CN106878485B (zh) | 一种报文处理方法及装置 | |
CN107431925A (zh) | 通信管理系统、接入点、通信管理设备、连接控制方法、通信管理方法和程序 | |
CN110958124B (zh) | 多播组管理方法、装置、可读存储介质、及计算机 | |
CN106375489B (zh) | 媒体访问控制mac地址的处理方法及装置 | |
CN108076165A (zh) | 一种域名解析信息管理的方法、设备及系统 | |
CN105429880B (zh) | 网络设备及其进行路由转发的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |