[发明专利]一种使用NFQUEUE机制实现网关的方法和系统有效
申请号: | 201510034069.0 | 申请日: | 2015-01-23 |
公开(公告)号: | CN105100038B | 公开(公告)日: | 2018-06-22 |
发明(设计)人: | 高明 | 申请(专利权)人: | 般固(北京)网络科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/12;H04L12/66 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据包 操作指令 策略信息 连接记录 用户态 数据包信息 机制实现 匹配连接 连接表 跳转 网关 匹配 读取 抓取 用户配置 进程 比对 网卡 转发 释放 监测 | ||
本发明公开了一种使用NFQUEUE机制实现网关的方法,包括步骤1:通过NFQUEUE机制从网卡中抓取数据包;步骤2:通过用户态进程从NFQUEUE机制上收取数据包并读取数据包;步骤3:用户态进程将数据包信息匹配连接表,在匹配连接表中的一条连接记录时,则修改、转发数据包,跳转到步骤5;否则执行步骤4;步骤4:用户态进程根据用户配置的策略,将策略信息与数据包信息进行逐条比对;在数据包与策略信息相匹配时,则对数据包执行与策略信息相匹配的操作指令,同时建立一条连接记录并存入连接表中;步骤5:对连接表中的连接记录的状态进行监测,在存在连接超时时,则执行释放该连接的操作指令,并执行跳转至步骤1的操作指令。
技术领域
本发明涉及计算机网络技术,具体来说,涉及一种使用NFQUEUE机制实现网关的方法。
背景技术
由于现有技术中地址转换中的私有地址不能在公网上,为了解决IP地址不够用的问题,出现了地址转换技术;私有地址访问公网之前,需要在网关设备上做源地址转换(SNAT);目的地址转换(DNAT)常用于把公网访问的目的地址转换为内网服务器的地址;源目的地址转换(FULLNAT)是指源地址和目的地址均转换。
另外,Netfilter是Linux内核的防火墙框架,用户可以通过iptables命令向该防火墙框架添加策略匹配数据包,然后修改/拦截/放行数据包的目的。用户可以通过iptables命令配置Netfilter获得SNAT/DNAT的功能,但是Netfilter不支持FULLNAT;另外Netfilter匹配数据包的条件不够丰富,如不能根据地址组匹配,如需要此功能需要编写对应的内核模块。
此外,由于NFQUEUE是Netfilter框架的一部分,用户态程序通过该机制能够收到网卡上的数据包,程序可以修改数据包,然后告知Netfilter继续处理数据包或者丢弃。
而由于网关设备上需要实现SNAT、DNAT、FULLNAT、路由功能。Linux上实现网关功能的常见方法是用iptables配置规则,但是使用iptables规则实现的网关有如下问题:
1)匹配数据包的选项不够丰富(如根据内容匹配数据包,根据一组IP地址匹配);
2)实现新的匹配选项需要编写内核模块,影响产品的可移植性;
3)不提供丰富的统计数据显示(如:某用户当前连接、带宽、每秒新增),如果要实现丰富的统计数据功能,需要修改Linux内核,影响产品的可移植性和稳定性。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
本发明的目的是提供一种使用NFQUEUE机制实现网关的方法和系统,以克服目前现有技术存在的上述不足。
本发明的目的是通过以下技术方案来实现:
根据本发明的一方面,提供了一种使用NFQUEUE机制实现网关的方法,该使用NFQUEUE机制实现网关的方法包括以下步骤:
步骤1:通过预先设置的NFQUEUE机制从预先配置的网卡中抓取数据包;
步骤2:通过预先设置的用户态进程从NFQUEUE机制上收取所述数据包,并通过预先设置的调用函数读取所述数据包;
步骤3:所述用户态进程将数据包信息匹配连接表,在匹配预先设置在连接表中的一条连接记录的情况下,则按照所述连接记录信息修改、转发数据包,跳转到步骤5;否则执行步骤4;
步骤4:所述用户态进程根据预先设置的用户配置的策略,将所述策略信息与数据包信息进行逐条比对;
在比对结果为所述数据包与策略信息相匹配的情况下,则对数据包执行预先存储的与所述策略信息相匹配的操作指令,同时建立一条连接记录,存入连接表中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于般固(北京)网络科技有限公司,未经般固(北京)网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510034069.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用户权限管理方法及系统
- 下一篇:一种网络游戏游戏数据的共享方法和服务器