CN117834585A - 基于端口绑定的多业务通道dns转发方法与装置 - Google Patents
基于端口绑定的多业务通道dns转发方法与装置 Download PDFInfo
- Publication number
- CN117834585A CN117834585A CN202410008439.2A CN202410008439A CN117834585A CN 117834585 A CN117834585 A CN 117834585A CN 202410008439 A CN202410008439 A CN 202410008439A CN 117834585 A CN117834585 A CN 117834585A
- Authority
- CN
- China
- Prior art keywords
- dns
- port
- service channel
- binding
- message
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000013507 mapping Methods 0.000 claims description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000010276 construction Methods 0.000 abstract description 2
- 238000002955 isolation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 101100513046 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) eth-1 gene Proteins 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/255—Maintenance or indexing of mapping tables
- H04L61/2553—Binding renewal aspects, e.g. using keep-alive messages
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于端口绑定的多业务通道DNS转发方法,包括:当网关的业务通道配置或者状态发生变化时,更新每个业务通道的DNS SERVER和物理端口的绑定关系,并记录到存储文件里;当收到DNS QUERY请求时,内核层根据报文的来源端口构建新的OPT Record,附加在原有的OPT Record报文最后;当DNS QUERY请求报文到达应用层后,解析报文的OPT Record,得到报文的来源端口,然后查找绑定关系存储文件,查找出端口绑定的DNS SERVER,朝该地址转发DNS QUERY请求报文。本发明有利于非公网业务的DNS环境的构建,避免非公网环境下,由于上层服务器IP地址改变,引发客户端整体更新的问题,也有利于非公网业务的资源进行DNS调度,提升服务能力。本发明还提供了相应的基于端口绑定的多业务通道DNS转发装置。
Description
技术领域
本发明属于家庭网关技术领域,更具体地,涉及一种基于端口绑定的多业务通道DNS转发方法与装置。
背景技术
家庭网关具有多条业务通道,如上网业务、个人交互式电视(InteractivePersonality TV,简写为:IPTV)业务、语音业务。同时,家庭网关还具有多个下联物理端口,连接局域网(Local Area Network,简写为:LAN)侧设备。各个业务通道是相互隔离的,上网业务通常连接的公网,而非上网业务通常连接的是私有网络。
多业务模式下,如果采用路由方式,一般会设定策略路由,将LAN侧的网际互连协议(Internet Protocol,简写为:IP)请求转发到对应的业务通道。但对于LAN侧发起的域名系统(Domain Name System,简写为:DNS)请求,发送给网关的DNS代理后,由于DNS代理只有上网业务通道的DNS SERVER,会将所有的DNS请求转发给上网的业务通道的DNS SERVER,导致其他业务的DNS解析失败,数据不通。
随着通信技术的发展,家庭电子设备越来越多,家庭网关承载的业务也越来越丰富,不少业务类型都通过私有网络承载,因此实现不同业务通道的DNS转发隔离,能有效的提高家庭网关业务承载能力。
发明内容
为了解决这个问题,本发明将业务通道的DNS查询和设备的下联物理端口绑定起来,不同的物理端口连接的LAN设备发出的DNS请求,会通过不同的业务通道转发到上层不同的DNS服务器,从而实现DNS转发的业务隔离。
为实现上述目的,按照本发明的一个方面,提供了一种基于端口绑定的多业务通道DNS转发方法,包括如下步骤:
当网关的业务通道配置或者状态发生变化时,更新每个业务通道的DNS SERVER和物理端口的绑定关系,并记录到存储文件里;
当收到DNS QUERY请求时,内核层根据报文的来源端口构建新的OPT Record,附加在原有的OPT Record报文最后;
当DNS QUERY请求报文到达应用层后,解析报文的OPT Record,得到报文的来源端口,然后查找绑定关系存储文件,查找出端口绑定的DNS SERVER,朝该地址转发DNS QUERY请求报文。
本发明的一个实施例中,所述OPT Record为扩展的OPT Record,其基于EDNS0协议重新定义了如下字段:
OPTION-CODE:自定义,表示类型为端口号;
OPTION-LENGTH:端口号长度;
OPTION-DATA:客户端请求来源端口号。
本发明的一个实施例中,所述根据报文的来源端口构建新的OPT Record具体为:
在内核层的ebtables的filter表的INPUT链或者broute表的BROUTING链上修改DNS QUERY报文,增加包含来源端口的OPT Record。
本发明的一个实施例中,所述查找出端口绑定的DNS SERVER,具体为:
解析OPT Record来源端口所对应的DNS SERVER,如果没有解析到含有端口的OPTRecord,则选择上网业务的DNS SERVER为默认的DNS SERVER。
本发明的一个实施例中,所述存储文件生成的方式为:远程配置或者本地WEB配置设备的业务通道连接,指定业务通道连接和端口的绑定关系;当设备启动后,业务通道通过DHCP或者PPPOE获取IP地址时,会获取对应业务通道的DNS SERVER地址;保存业务通道的DNS SERVER和端口的映射关系到存储文件。
按照本发明的另一方面,还提供了一种基于端口绑定的多业务通道DNS转发装置,包括DNS绑定模块、DNS标记模块和DNS代理模块,其中:
所述DNS绑定模块,用于当网关的业务通道配置或者状态发生变化时,更新每个业务通道的DNS SERVER和物理端口的绑定关系,并记录到存储文件里;
所述DNS标记模块,用于当收到DNS QUERY请求时,内核层根据报文的来源端口构建新的OPT Record,附加在原有的OPT Record报文最后;
所述DNS代理模块,用于当DNS QUERY请求报文到达应用层后,解析报文的OPTRecord,得到报文的来源端口,然后查找绑定关系存储文件,查找出端口绑定的DNSSERVER,朝该地址转发DNS QUERY请求报文。
本发明的一个实施例中,所述OPT Record为扩展的OPT Record,其基于EDNS0协议重新定义了如下字段:
OPTION-CODE:自定义,表示类型为端口号;
OPTION-LENGTH:端口号长度;
OPTION-DATA:客户端请求来源端口号。
本发明的一个实施例中,所述根据报文的来源端口构建新的OPT Record具体为:
在内核层的ebtables的filter表的INPUT链或者broute表的BROUTING链上修改DNS QUERY报文,增加包含来源端口的OPT Record。
本发明的一个实施例中,所述查找出端口绑定的DNS SERVER,具体为:
解析OPT Record来源端口所对应的DNS SERVER,如果没有解析到含有端口的OPTRecord,则选择上网业务的DNS SERVER为默认的DNS SERVER。
本发明的一个实施例中,所述存储文件生成的方式为:远程配置或者本地WEB配置设备的业务通道连接,指定业务通道连接和端口的绑定关系;当设备启动后,业务通道通过DHCP或者PPPOE获取IP地址时,会获取对应业务通道的DNS SERVER地址;保存业务通道的DNS SERVER和端口的映射关系到存储文件。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:
(1)实现多业务通道的DNS转发隔离,使不同的业务访问不同的DNS服务器,解决了现有网关只能通过上网业务进行DNS解析的问题。
(2)有利于非公网业务的DNS环境的构建,通过将不同业务通道的DNS查询请求转发到不同的DNS服务器,可以更好地保护用户的隐私和安全。
(3)通过DNS代理转发DNS查询,可以在代理时实现DNS缓存,提高查询返回速率;同时,可以根据需要进行配置和管理,例如设置域名解析的规则、添加自定义的记录等,使其更符合特定的业务需求,增强转发策略的灵活性。
综上所述,通过本发明的多业务通道DNS转发方法,可以实现多业务通道的DNS转发隔离,更好地保护用户的隐私和安全,同时通过DNS代理转发DNS查询,可以实现DNS缓存和策略灵活性,提高查询返回速率和网络的可维护性。
附图说明
图1是本发明实施例提供的基于端口绑定的多业务通道DNS转发方法的原理示意图;
图2是本发明实施例提供的DNS端口绑定流程图;
图3是本发明实施例提供的DNS端口标记流程图;
图4是本发明实施例提供的DNS代理转发流程图;
图5是本发明实施例提供的DNS扩展OPT Record的字段说明图;
图6是本发明实施例提供的基于端口绑定的多业务通道DNS转发装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,本发明提供了一种基于端口绑定的多业务通道DNS转发方法,包括:
S1、当网关的业务通道配置或者状态发生变化时,更新每个业务通道的DNSSERVER和物理端口的绑定关系,并记录到存储文件里;
其中,所述每个业务通道的DNS SERVER和物理端口的绑定关系,具体为:针对每个DNS SERVER都建立一条主机路由,路由的出口为对应业务通道的网络接口;
其中,所述存储文件生成的方式为:远程配置或者本地WEB配置设备的业务通道连接,指定业务通道连接和端口的绑定关系;当设备启动后,业务通道通过DHCP或者PPPOE获取IP地址时,会获取对应业务通道的DNS SERVER地址;保存业务通道的DNS SERVER和端口的映射关系到存储文件;
S2、当收到DNS QUERY请求时,内核层根据报文的来源端口构建新的OPT Record,附加在原有的OPT Record报文最后;
其中,所述OPT Record报文具体为:在内核层的ebtables的filter表的INPUT链或者broute表的BROUTING链上修改DNS QUERY报文,增加包含来源端口的OPT Record;
S3、当DNS QUERY请求报文到达应用层后,解析报文的OPT Record,得到报文的来源端口,然后查找绑定关系存储文件,查找出端口绑定的DNS SERVER,朝该地址转发DNSQUERY请求报文;
其中,所述查找出端口绑定的DNS SERVER,具体为:解析OPT Record来源端口所对应的DNS SERVER,如果没有解析到含有端口的OPT Record,则选择上网业务的DNS SERVER为默认的DNS SERVER;
实施例1
S201:远程配置或者本地WEB配置设备的业务通道连接,指定业务通道连接和端口的绑定关系;当设备启动后,业务通道通过DHCP或者PPPOE获取IP地址时,会获取对应业务通道的DNS SERVER地址。
S202:保存业务通道的DNS SERVER和端口的映射关系到存储文件DNS_port.map,如下图:
S203:从DNS_port.map获取dns_server和if_name,为每一个dns_server配置主机路由,下一跳的网络接口为对应业务通道的网络接口if_name。
如图3所示,DNS端口标记流程如下:
S301:在内核模块解析收到的skb报文,判断是否为DNS QUERY报文。
S302:从skb->dev里获取收包的源端口名称,如:eth0。
S303:根据EDNS0协议,增加一条扩展的OPT Record选项,类型为端口,标记DNS的来源端口为eth0。
如图5所示,扩展OPT Record字段中:
NAME:空,表示root;
TYPE:OPT类型码,为41;
CLASS:最大发送udp长度:4096;
TTL:设置为0;
RDLEN:数据段长度;
OPTION-CODE:自定义65008(可以选不冲突的其他值),表示类型为:端口号;
OPTION-LENGTH:端口号长度;
OPTION-DATA:客户端请求来源端口号。
其中,所述OPT Record为扩展的OPT Record,前5个字段是EDNS0标准协议定义的,后3个字段是基于EDNS0协议重新定义的。只要能包含客户请求来源的端口号的任何实现均可,比如OPTION-CODE可以选不冲突的其他值,当客户端请求来源端口号为“eth0”、“eth1”此类四字节时,OPTION-DATA为4字节。比如当客户端请求来源端口号为“0”、“1”此类一字节时(由其他模块按约定翻译为对应的eth0,eth1),OPTION-DATA为1字节。
如图4所示,DNS代理转发流程如下:
S401:DNS代理收到用户侧发送的域名解析请求时,解析DNS QUERY报文。
S402:解析OPT Record的选项,查找是否有端口类型,如果有,则执行S403,如果没有,则执行S406。
S403:解析OPT Record的值,获取对应的端口名称,如eth0。
S404:然后遍历查找DNS SERVER和端口映射关系DNS_port.map。
S405:根据端口信息找到对应的DNS SERVER,如端口为eth0,则对应的DNS SERVER为10.10.10.10,执行S407,如果找不到对应的端口信息,则执行S406。
S406:将上网业务的DNS SERVER作为默认的DNS SERVER。
S407:朝对应的DNS SERVER 10.10.10.10转发DNS QUERY请求。
最后,DNS QUERY请求报文会查找主机路由,从对应业务通道口发出,如发往10.10.10.10的报文会从WAN1口发出。
进一步地,如图6所示,本发明还提供了一种基于端口绑定的多业务通道DNS转发装置,包括DNS绑定模块、DNS标记模块和DNS代理模块,其中:
所述DNS绑定模块,用于当网关的业务通道配置或者状态发生变化时,更新每个业务通道的DNS SERVER和物理端口的绑定关系,并记录到存储文件里;
其中,所述存储文件生成的方式为:远程配置或者本地WEB配置设备的业务通道连接,指定业务通道连接和端口的绑定关系;当设备启动后,业务通道通过DHCP或者PPPOE获取IP地址时,会获取对应业务通道的DNS SERVER地址;保存业务通道的DNS SERVER和端口的映射关系到存储文件。
所述DNS标记模块,用于当收到DNS QUERY请求时,内核层根据报文的来源端口构建新的OPT Record,附加在原有的OPT Record报文最后;
所述根据报文的来源端口构建新的OPT Record具体为:在内核层的ebtables的filter表的INPUT链或者broute表的BROUTING链上修改DNS QUERY报文,增加包含来源端口的OPT Record。
所述DNS代理模块,用于当DNS QUERY请求报文到达应用层后,解析报文的OPTRecord,得到报文的来源端口,然后查找绑定关系存储文件,查找出端口绑定的DNSSERVER,朝该地址转发DNS QUERY请求报文;
其中,所述OPT Record为扩展的OPT Record,其基于EDNS0协议重新定义了如下字段:
OPTION-CODE:自定义,表示类型为端口号;
OPTION-LENGTH:端口号长度;
OPTION-DATA:客户端请求来源端口号。
所述查找出端口绑定的DNS SERVER,具体为:解析OPT Record来源端口所对应的DNS SERVER,如果没有解析到含有端口的OPT Record,则选择上网业务的DNS SERVER为默认的DNS SERVER。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于端口绑定的多业务通道DNS转发方法,其特征在于,包括如下步骤:
当网关的业务通道配置或者状态发生变化时,更新每个业务通道的DNS SERVER和物理端口的绑定关系,并记录到存储文件里;
当收到DNS QUERY请求时,内核层根据报文的来源端口构建新的OPT Record,附加在原有的OPT Record报文最后;
当DNS QUERY请求报文到达应用层后,解析报文的OPT Record,得到报文的来源端口,然后查找绑定关系存储文件,查找出端口绑定的DNS SERVER,朝该地址转发DNS QUERY请求报文。
2.如权利要求1所述的基于端口绑定的多业务通道DNS转发方法,其特征在于,所述OPTRecord为扩展的OPT Record,其基于EDNS0协议重新定义了如下字段:
OPTION-CODE:自定义,表示类型为端口号;
OPTION-LENGTH:端口号长度;
OPTION-DATA:客户端请求来源端口号。
3.如权利要求1或2所述的基于端口绑定的多业务通道DNS转发方法,其特征在于,所述根据报文的来源端口构建新的OPT Record具体为:
在内核层的ebtables的filter表的INPUT链或者broute表的BROUTING链上修改DNSQUERY报文,增加包含来源端口的OPT Record。
4.如权利要求1或2所述的基于端口绑定的多业务通道DNS转发方法,其特征在于,在查找出端口绑定的DNS SERVER时,如果没有解析到含有端口的OPT Record,则选择上网业务的DNS SERVER为默认的DNS SERVER。
5.如权利要求1或2所述的基于端口绑定的多业务通道DNS转发方法,其特征在于,所述存储文件生成的方式为:远程配置或者本地WEB配置设备的业务通道连接,指定业务通道连接和端口的绑定关系;当设备启动后,业务通道通过DHCP或者PPPOE获取IP地址时,会获取对应业务通道的DNS SERVER地址;保存业务通道的DNS SERVER和端口的映射关系到存储文件。
6.一种基于端口绑定的多业务通道DNS转发装置,其特征在于,包括DNS绑定模块、DNS标记模块和DNS代理模块,其中:
所述DNS绑定模块,用于当网关的业务通道配置或者状态发生变化时,更新每个业务通道的DNS SERVER和物理端口的绑定关系,并记录到存储文件里;
所述DNS标记模块,用于当收到DNS QUERY请求时,内核层根据报文的来源端口构建新的OPT Record,附加在原有的OPT Record报文最后;
所述DNS代理模块,用于当DNS QUERY请求报文到达应用层后,解析报文的OPT Record,得到报文的来源端口,然后查找绑定关系存储文件,查找出端口绑定的DNS SERVER,朝该地址转发DNS QUERY请求报文。
7.如权利要求6所述的基于端口绑定的多业务通道DNS转发装置,其特征在于,所述OPTRecord为扩展的OPT Record,其基于EDNS0协议重新定义了如下字段:
OPTION-CODE:自定义,表示类型为端口号;
OPTION-LENGTH:端口号长度;
OPTION-DATA:客户端请求来源端口号。
8.如权利要求6或7所述的基于端口绑定的多业务通道DNS转发装置,其特征在于,所述根据报文的来源端口构建新的OPT Record具体为:
在内核层的ebtables的filter表的INPUT链或者broute表的BROUTING链上修改DNSQUERY报文,增加包含来源端口的OPT Record。
9.如权利要求6或7所述的基于端口绑定的多业务通道DNS转发装置,其特征在于,在查找出端口绑定的DNS SERVER时,如果没有解析到含有端口的OPT Record,则选择上网业务的DNS SERVER为默认的DNS SERVER。
10.如权利要求6或7所述的基于端口绑定的多业务通道DNS转发装置,其特征在于,所述存储文件生成的方式为:远程配置或者本地WEB配置设备的业务通道连接,指定业务通道连接和端口的绑定关系;当设备启动后,业务通道通过DHCP或者PPPOE获取IP地址时,会获取对应业务通道的DNS SERVER地址;保存业务通道的DNS SERVER和端口的映射关系到存储文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410008439.2A CN117834585A (zh) | 2024-01-02 | 2024-01-02 | 基于端口绑定的多业务通道dns转发方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410008439.2A CN117834585A (zh) | 2024-01-02 | 2024-01-02 | 基于端口绑定的多业务通道dns转发方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117834585A true CN117834585A (zh) | 2024-04-05 |
Family
ID=90517115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410008439.2A Pending CN117834585A (zh) | 2024-01-02 | 2024-01-02 | 基于端口绑定的多业务通道dns转发方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117834585A (zh) |
-
2024
- 2024-01-02 CN CN202410008439.2A patent/CN117834585A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1759510B1 (en) | Method and apparatus for looking up configuration information for a network node | |
US8559448B2 (en) | Method and apparatus for communication of data packets between local networks | |
US20120084382A1 (en) | On-the-fly reverse mapping | |
US8706908B2 (en) | System, method and apparatus for media access control (MAC) address proxying | |
EP1472830B1 (en) | Method and apparatus for parameter borrowing for network address translator configuration | |
JP3420512B2 (ja) | ダイナミックドメインネームシステム | |
CN103460676A (zh) | 通过查询远程服务器的流路由协议 | |
EP2536099A2 (en) | Method and access node for preventing address conflict | |
EP1187426B1 (en) | Method for using a unique IP address in a private IP address domain | |
US7570647B2 (en) | LAN type internet access network and subscriber line accommodation method for use in the same network | |
US20100023620A1 (en) | Access controller | |
US20130254425A1 (en) | Dns forwarder for multi-core platforms | |
US9705794B2 (en) | Discovery of network address allocations and translations in wireless communication systems | |
CN101803343B (zh) | 根据dns信息识别子网地址范围 | |
US11902158B2 (en) | System and method for forwarding packets in a hierarchical network architecture using variable length addresses | |
CN117834585A (zh) | 基于端口绑定的多业务通道dns转发方法与装置 | |
WO2012075768A1 (zh) | 身份位置分离网络的监听方法和系统 | |
JP2000156710A (ja) | Ipアドレス変換装置 | |
CN118018513A (zh) | 基于端口绑定的多业务通道dns查询方法与装置 | |
KR20010073827A (ko) | 인터넷 엣지 라우터에서의 인터넷 프로토콜 주소확장 방법 | |
KR100586428B1 (ko) | 인터넷 서비스 관리를 위한 가입자 접속 웹 페이지 제어방법 | |
CN111147345B (zh) | 云环境网络隔离装置、方法及云系统 | |
CN113873503B (zh) | 网关桥接连网方法、装置及路由器 | |
US7185097B1 (en) | Encoding addresses in a communication system | |
CN110572486A (zh) | 一种基于mac地址的域名解析系统 |
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 |