CN111934929B - 一种路由器设置方法及路由器 - Google Patents
一种路由器设置方法及路由器 Download PDFInfo
- Publication number
- CN111934929B CN111934929B CN202010779200.7A CN202010779200A CN111934929B CN 111934929 B CN111934929 B CN 111934929B CN 202010779200 A CN202010779200 A CN 202010779200A CN 111934929 B CN111934929 B CN 111934929B
- Authority
- CN
- China
- Prior art keywords
- router
- message
- special
- rule
- port
- 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 23
- 238000012545 processing Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 8
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种路由器设置方法及路由器,让路由器的WAN口接收控制终端发送的特殊报文,并通过对特殊报文进行解析来学习管理者的IP及要设置的WAN口iptables规则,当所述特殊报文记载的控制终端IP和需要开放的端口号与路由器的WAN口iptables规则不一致时,重置该iptables规则,在设置了新规则以后,对发自该IP的报文直接放行,实现不需要连接现场路由器而可以从WAN口直接访问路由器的目的。
Description
技术领域
本发明涉及物联网路由器领域,尤其是一种路由器设置方法及路由器。
背景技术
在当今网络设备迅猛发展的时代,路由器作为局域网中信息汇聚转发的核心设备,被越来越多地应用于各行各业的各个领域。由于其作为各个小型局域网中信息和外界进行交换的特殊地位,人们会对路由器的应用也进行了越来越多的拓展,比如路由器会被装上蓝牙、zigbee、3G/4G模块,变成一个物联网路由器。特别是在工厂、仓储等应用场景,多以物联网路由器来进行简单的组网应用。随着多组路由器的应用,对他们的管理也存在不小的问题。当设备管理人员对现场进行管理的时候,需要一个个连接到各物联网路由器进行配置,当现场网络和应用场景改变的时候,又要重新设置一次,这给设备管理带来诸多的不便利。
路由器的外观接口被分成WAN口和LAN口两种接口,设计之初的初衷就是为了解决现有IPv4数量不够的问题,让LAN侧的设备可以任意指定网段。WAN口的IP通常由上级设备授予,主要用于和互联网设备信息的交互,LAN侧设备的私有网段由路由器自己分配,主要给所连接的终端设备使用,WAN口和LAN侧的IP网段不属于一个网段。路由器工作的时候,对于LAN侧的数据包,通常需要使用NAT转换成WAN口的IP和MAC地址发出去,回应的数据包又通过NAT转换IP,发送给原设备,而直接从WAN口访问的报文是会被直接丢弃的。这样路由器相当于一个简易的防火墙装置,外面的数据包不可能轻易的进来,里面的数据包经过了NAT转换才出去。
由于路由器特殊的包转发特性,使得我们直接从WAN口访问路由器基本是无法实现的。目前要想直接从WAN口配置路由器,首先需要从LAN侧登录路由器,使用iptables设定WAN口iptables规则,让某些IP的以太网报文或者某些端口的报文可以直接进入WAN口,达到从WAN口访问路由器的目的。
现有的这种方式在实际操作的时候存在这么几个问题:
如果现场有多组路由器,WAN口iptables规则的设置都是要通过LAN侧去登录后才能设置的,如果路由器带有无线功能还好,如果只有有线接口,则需要我们到现场一台台去设置,造成极大的不方便;
按目前的设置方法,WAN口的iptables规则只能设置一次,如果现场需要改变规则,只能重新从LAN侧连接进去再设置一次,而不能实现WAN口iptables规则的动态配置;
如果现场有多台路由器,不能实现集中式的规则配置管理,如果需要定制集中管理功能则需要更多的成本和时间,这对于大部分小企业来说是极其不划算的。
发明内容
本发明的目的在于提供一种实现可以从WAN口访问路由器的路由器设置方法及路由器。
本发明的目的采用如下技术方案实现:
本发明提供一种路由器设置方法,包括如下步骤:
路由器的WAN口接收控制终端发送的特殊报文,所述特殊报文记载了控制终端IP和需要开放的端口号;
路由器对所述特殊报文进行检验,当所述特殊报文满足预设解析条件时,路由器对所述特殊报文进行解析;
当所述特殊报文记载的控制终端IP和需要开放的端口号与路由器的WAN口iptables规则不一致时,重置该iptables规则。
进一步的,所述特殊报文为连续发送的三条ICMP报文。
进一步的,所述特殊报文的Data区域结构包括序号、开放协议端口,以及和校验。
进一步的,所述预设解析条件为:单条报文的Data区域的第一个字节是小于等于3的序号;单条报文的Data区域满足和校验条件;三条特殊报文的序号依次连续。
进一步的,所述和校验条件为:所述特殊报文的Data区域的和校验为四个字节,所述特殊报文的Data区域除了和校验的四个字节外其余字节之和与和校验一致。
进一步的,所述特殊报文的Data区域结构还包括操作码,用于表示添加规则或删除规则。
进一步的,当所述特殊报文满足预设解析条件时,对路由器的协议栈处理函数增加Data区域。
一种路由器,包括WAN口通信模块、判断模块、解析模块和处理模块;
所述WAN口通信模块,用于路由器WAN口接收控制终端发送的报文;
所述判断模块,用于判断报文是否满足预设解析条件;
所述解析模块,用于解析报文,并学习其中要设立的iptables规则;
所述处理模块,用于对现有WAN口iptables规则的检查和/或新的WAN口iptables规则的设立。
本发明公开了一种路由器设置方法及路由器,让路由器的WAN口接收控制终端发送的特殊报文,并通过对特殊报文进行解析来学习管理者的IP及要设置的WAN口iptables规则,当所述特殊报文记载的控制终端IP和需要开放的端口号与路由器的WAN口iptables规则不一致时,重置该iptables规则,在设置了新规则以后,对发自该IP的报文直接放行,实现不需要连接现场路由器而可以从WAN口直接访问路由器的目的。
附图说明
图1为本发明路由器设置方法的流程示意图。
具体实施方式
在对本申请的实施方案进行介绍之前,首先对相关名词进行简单介绍,以便于对本申请的实施方案的理解:
ICMP:Internet Control Message Protocol,是一种面向无连接的网络层协议,是TCP/IP协议族的一个子协议。它主要用于在IP主机、路由器等网络设备之间传递控制消息,其主要作用有两个,一是确认IP包是否成功到达目标地址,二是通知在发送过程中IP包被丢弃的原因。
iptables:一种配置控制IP信息包过滤和防火墙配置的工具,多用于路由器上,对路由器的数据包实现转换、限制、控制等功能。iptables通常和netfilter配合使用,netfilter是负责数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪等,而iptables是一个管理netfilter的工具。
本发明按照以下流程来对WAN口规则进行设置(如图1所示):
1)控制终端直接给路由器的WAN口连续发送三次特殊的ICMP报文,特殊报文记载了控制终端IP和需要开放的端口号。之所以采用ICMP报文,是因为路由器对于ICMP报文不会丢弃,特别是PING指令的ICMP报文,大部分路由器是会解析并回复的。选择连续发送三次报文是要和普通的ICMP报文区别,以触发学习机制;
2)路由器可以对ICMP报文进行检验,路由器对符合条件的报文进行下一步的解析,否则按普通ICMP报文处理;
触发路由器对报文的解析必须符合三个条件:单条报文的Data区域的第一个字节是小于等于3的序号;所有Data区域除了最后四个字节的和相加必须与最后四个字节的和校验一致;最后要求连续收到3条序号依次连续的报文。当以上所有的条件都满足以后才会启动对ICMP报文Data区域的解析,除此以外都被当作普通的ICMP报文进行正常的解析。
3)路由器解析相关的ICMP特殊报文,学习到其中要设立的iptables规则;
4)路由器按照数据中相应的规则去设置iptables规则,当路由器进行规则设置的时候,首先会执行检查旧的规则及规则清理工作,并对新的规则做相应的检查,最后把新的iptables规则设立进去。
当相关报文到达路由器以后,路由器的CPU会直接把ICMP报文送到协议栈进行解析。协议栈会按照报文的类型来进行分类处理。
为了保障信息的完整性和安全性,区别含有私有协议的ICMP特殊报文和ICMP普通报文,本发明设计为连续发送三次含有连续序号的ICMP报文后路由器解析私有协议的具体规则。
在实际使用的过程中,我们一般使用ping命令来探测路由器的通讯是否可达,如果是在同一局域网层面的扁平网络拓扑中,我们使用ping指令的参数地址一般是WAN口的地址。ping使用的是ICMP协议,当发送ICMP回送请求消息给目的路由器设备,大部分路由器都会对ping指令回应,所以我们选择ICMP报文作为特殊的信息载体,以达到指令传送的目的。
ICMP报文的IP头的结构举例如下:
Version:4,表示IPv4。
Header Length:5,表示5个以32bit为单位的word,即20bytes。
Time to live:64,生存时间。
Protocol:1,表示ICMP。
Source:192.168.3.210,源IP地址,即控制终端IP,路由器学习的规则匹配IP即来源于此。
Destination:192.168.3.168,目的IP地址,即路由器WAN口IP。
ICMP报文的结构如下表:
其中:
Type:该字段有1个字节,表示特定类型的ICMP报文。
Code:该字段有1个字节,进一步细分ICMP的类型。如上图所示,Type的值为8,Code的值为0,表示回显请求。
Checksum:该字段有2个字节,表示校验和。
Identifier:该字段有2个字节,用于匹配Request/Reply的标识符。
Seq Num:该字段有2个字节,用于匹配Request/Reply的序列号。
Data:数据载荷,即为私有协议的装载区域。
可以看到,ping命令过程的Echo request和Echo reply报文基本都被字母顺序填充,没有实际意义。所以为了传送设置规则,我们可以利用这部分区域来搭载iptables设置规则。实际使用中,我们可以把预设规则按一定的格式来填充,然后路由器按我们设定的规则去解析,即可把设置的规则解析出来。
在Data区域中,原生的ICMP报文由字母来填充,大概有32个字节。由于原协议对Data区域不是很关心,所以我们可以重新定义Data区域来存放私有协议。
重新定义的Data区域的结构如下表:
序号 | 开放端口号 | 操作码 | 保留 | 和校验 |
序号:该字段有1个字节,表示连续三次特殊的ICMP报文序号;
开放端口号:该字段有2个字节,表示要将路由器的哪个端口开放;
操作码:该字段有1个字节,1表示添加规则,0表示删除规则;
保留:该字段有24个字节,用于协议扩展,用0填充;
和校验:该字段有4个字节,用于计算私有协议区的信息和校验。
其中,操作码的设置可实现动态设置,建立能设置也能取消规则的机制。
和校验保证了信息的完成性。
综上所述,我们可以定义如下ICMP报文组成:
由于路由器协议栈对于ICMP报文的处理不会关心Data区域的数据,不符合解析条件的报文会被当成普通的ICMP协议处理。只有符合预设解析条件的报文,才会对Data区域的内容进行解析。本发明将特殊报文Data区域的序号以及和校验作为预设解析条件,ICMP特殊报文含有连续序号1、2、3并且协议内容相同。
本发明需要在协议栈增加解析特殊报文的解析函数,依次取出报文Data区域中第二、三个字节的需要设置的开放端口号,第四个字节的操作码,同时把这些信息传递给iptables回调函数,作为iptables规则设定的参数。
路由器解析ICMP特殊报文的相关协议后,即可按照私有协议的约定设置相关的iptables规则,此规则设置以后即可生效不需要重启。例如,路由器解析到想设置SSH端口报文放行(端口号22),即可使用以下指令来设置:
iptables-D input_wan_rule-p tcp--dport 22-j ACCEPT
该规则代表路由器WAN口可以直接让访问22端口的报文放行,此协议生效后,可以使用以下指令来查看。
iptables-nvL input_wan_rule
规则最终生效,WAN口会对规则匹配的报文放行,控制终端就可以从WAN口直接访问路由器。
由于设置太多的规则会影响路由器的转发效率,因此我们设置的规则最好只能一条,如多次协议设置的内容重复或相冲突,则路由器不予以设置新的iptables规则。至此,通过这种自学习的方式,我们实现了对路由器从WAN口放行部分端口报文的规则设置,实现了简单的集中式管理方式。
根据上述路由器设置方法,本发明还提供一种路由器,包括WAN口通信模块、判断模块、解析模块和处理模块;
WAN口通信模块,用于路由器WAN口接收控制终端发送的报文;
判断模块,用于判断报文是否满足预设解析条件;
解析模块,用于解析报文,并学习其中要设立的iptables规则;
处理模块,用于对路由器现有WAN口iptables规则的检查,当需要设立的iptables规则与现有WAN口iptables规则不一致时,设立新的WAN口iptables规则。
本发明提出了一种利用ICMP报文实现对路由器iptables规则进行设置的方式。通过这种自学习式的设置方法,免除了我们需要登录各个路由器预先进行设置的烦恼,实现了一种简单可行的集中式设置方法。
Claims (6)
1.一种路由器设置方法,其特征在于,包括如下步骤:
路由器的WAN口接收控制终端发送的特殊报文,所述特殊报文记载了控制终端IP和需要开放的端口号;所述特殊报文为连续发送的三条ICMP报文;
路由器对所述特殊报文进行检验,当所述特殊报文满足预设解析条件时,路由器对所述特殊报文进行解析;
当所述特殊报文记载的控制终端IP和需要开放的端口号与路由器的WAN口iptables规则不一致时,重置该iptables规则;
所述预设解析条件为:单条报文的Data区域的第一个字节是小于等于3的序号;单条报文的Data区域满足和校验条件;三条特殊报文的序号依次连续。
2.如权利要求1所述的方法,其特征在于,所述特殊报文的Data区域结构包括序号、开放协议端口,以及和校验。
3.如权利要求1所述的方法,其特征在于,所述和校验条件为:所述特殊报文的Data区域的和校验为四个字节,所述特殊报文的Data区域除了和校验的四个字节外其余字节之和与和校验一致。
4.如权利要求2所述的方法,其特征在于,所述特殊报文的Data区域结构还包括操作码,用于表示添加规则或删除规则。
5.如权利要求1所述的方法,其特征在于,当所述特殊报文满足预设解析条件时,对路由器的协议栈处理函数增加Data区域。
6.一种路由器,其特征在于,包括WAN口通信模块、判断模块、解析模块和处理模块;
所述WAN口通信模块,用于路由器WAN口接收控制终端发送的报文;所述报文为连续发送的三条ICMP报文;
所述判断模块,用于判断报文是否满足预设解析条件;
所述解析模块,用于解析报文,并学习其中要设立的iptables规则;
所述处理模块,用于对现有WAN口iptables规则的检查和/或新的WAN口iptables规则的设立;
所述预设解析条件为:单条报文的Data区域的第一个字节是小于等于3的序号;单条报文的Data区域满足和校验条件;三条报文的序号依次连续。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010779200.7A CN111934929B (zh) | 2020-08-05 | 2020-08-05 | 一种路由器设置方法及路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010779200.7A CN111934929B (zh) | 2020-08-05 | 2020-08-05 | 一种路由器设置方法及路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111934929A CN111934929A (zh) | 2020-11-13 |
CN111934929B true CN111934929B (zh) | 2023-03-24 |
Family
ID=73306498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010779200.7A Active CN111934929B (zh) | 2020-08-05 | 2020-08-05 | 一种路由器设置方法及路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111934929B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801561A (zh) * | 2012-08-09 | 2012-11-28 | 深圳市双赢伟业科技股份有限公司 | 一种管理网络设备的方法 |
CN104883368A (zh) * | 2015-05-28 | 2015-09-02 | 上海斐讯数据通信技术有限公司 | 一种内核防火墙的管理方法 |
CN108377211A (zh) * | 2018-01-31 | 2018-08-07 | 湖南戎腾网络科技有限公司 | 基于报文内容感知的动态规则链式递归触发方法及其系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070274285A1 (en) * | 2006-05-23 | 2007-11-29 | Werber Ryan A | System and method for configuring a router |
EP2410698B1 (en) * | 2010-07-19 | 2014-05-07 | Alcatel Lucent | A method for routing and associated routing device and destination device |
US8555369B2 (en) * | 2011-10-10 | 2013-10-08 | International Business Machines Corporation | Secure firewall rule formulation |
EP3602315B1 (en) * | 2017-03-27 | 2022-06-22 | Cujo LLC | Securing port forwarding through a network traffic hub |
-
2020
- 2020-08-05 CN CN202010779200.7A patent/CN111934929B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801561A (zh) * | 2012-08-09 | 2012-11-28 | 深圳市双赢伟业科技股份有限公司 | 一种管理网络设备的方法 |
CN104883368A (zh) * | 2015-05-28 | 2015-09-02 | 上海斐讯数据通信技术有限公司 | 一种内核防火墙的管理方法 |
CN108377211A (zh) * | 2018-01-31 | 2018-08-07 | 湖南戎腾网络科技有限公司 | 基于报文内容感知的动态规则链式递归触发方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111934929A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8184550B2 (en) | Gateway with improved QoS awareness | |
US8462820B2 (en) | Network traffic synchronization mechanism | |
US8102854B2 (en) | Neighbor discovery proxy with distributed packet inspection scheme | |
CN109428949A (zh) | 一种基于sdn实现arp代理的方法和装置 | |
CN102647487A (zh) | 一种节约ip地址的方法及接入代理设备 | |
EP2628278B1 (en) | Method, system and element for multipurpose data traffic engineering and routing | |
US7085808B2 (en) | Method for distinguishing clients in a communication system, a communication system; and a communication device | |
CN105052106B (zh) | 用于接收和传输互联网协议(ip)数据包的方法和系统 | |
CN113347258A (zh) | 云流量下的数据采集监控分析的方法及系统 | |
CN111934929B (zh) | 一种路由器设置方法及路由器 | |
JP3614006B2 (ja) | 非対称経路利用通信システム、および、非対称経路利用通信方法 | |
CN114390020A (zh) | 一种在地址转换nat场景下opc协议alg实现方法 | |
Cisco | Configuring Source-Route Bridging | |
Cisco | Configuring Source-Route Bridging | |
Cisco | Configuring Source-Route Bridging | |
Cisco | Configuring Source-Route Bridging | |
Cisco | Configuring Source-Route Bridging | |
Cisco | Configuring Source-Route Bridging | |
Cisco | Configuring Source-Route Bridging | |
Cisco | Configuring Source-Route Bridging | |
Cisco | Configuring Source-Route Bridging | |
CN113794715A (zh) | 一种虚拟点对点网络数据发送、接收、应答方法及其系统 | |
Cisco | Configuring Source-Route Bridging | |
Cisco | Configuring Source-Route Bridging | |
Cisco | Configuring Source-Route Bridging |
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 |