[发明专利]一种基于Linux的Nat日志记录方法与装置有效
申请号: | 201310573865.2 | 申请日: | 2013-11-15 |
公开(公告)号: | CN103581360B | 公开(公告)日: | 2016-11-30 |
发明(设计)人: | 梁润强;曾宪力;李坤祥;黄衍博 | 申请(专利权)人: | 广东睿江云计算股份有限公司 |
主分类号: | H04L29/12 | 分类号: | H04L29/12;H04L12/24 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 胡彬 |
地址: | 528000 广东省佛山市禅*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux nat 日志 记录 方法 装置 | ||
技术领域
本发明涉及日志系统技术领域,尤其涉及一种基于Linux的Nat日志记录方法与装置。
背景技术
基于Linux的Nat服务器,一般使用Netfilter来实现其Nat功能,根据Netfilter的五个钩子和三个表的工作模式,在Nat服务器下要记录日志,一般会记录一个数据报文经过Netfilter的Nat模块作地址转换前后的信息,并输出到用户层以使应用程序能接收并作特定用途。Nat日志系统的数据流如下:1.数据报文到达网卡;2.数据报文进入Netfilter;3.进行Nat前记录一次信息;4.进行Nat后记录一次信息;4.数据报文离开Netfilter;5.应用程序接收两次信息并处理。
现有的基于Linux的Nat日志系统,一般使用iptables规则配合printk把数据包信息输出到用户层的应用程序。如图1所示,工作流程如下(以SNat为例):1)在Netfilter的FORWARD钩子的mangle表处设置一个规则,修改数据包的TOS属性;2)在Netfilter的FORWARD钩子的filter表处设置一个规则,记录经过的数据包信息并输出到用户层;3)插入一个Netfilter处理模块在POSTROUTING最后位置,判断数据包的TOS属性,如符合则记录此数据包信息并输出到用户层;4)用户层程序接收到一前一后的数据包信息,处理并发送到远端syslog日志服务器。
现有的Nat日志系统是使用printk输出信息到用户层的,printk由于效率低下,性能欠佳,所以此系统会占用过多的CPU,处理不了大流量的Nat环境。
发明内容
本发明实施例提供一种基于Linux的Nat日志记录,旨在解决现有技术中日志记录数据拷贝多,数据流经路程长,系统占用过多CPU的问题。
本发明实施例是这样实现的,一种基于Linux的Nat日志记录方法,所述方法包括:
A.数据报文到达网卡,并进入内核防火墙;
B.数据报文到达第一检测点,判断是否需要做DNat记录,是则对所述数据报文做DNat记录,并通过传输接口记录后执行步骤C,否则直接执行步骤C;C.数据报文进入第二检测点,判断是否需要做SNat记录,是则对所述数据报文做SNat记录,并通过传输接口记录后执行步骤D,否则直接执行步骤D;
D.内核防火墙将数据报文通过Netlink发送到用户层。
本发明实施例还提供一种基于Linux的Nat日志记录装置,所述装置包括:
数据报文入口单元,用于数据报文到达网卡,并进入内核防火墙;
DNat记录判断单元,用于数据报文到达第一检测点,判断是否需要做DNat记录,是则对所述数据报文做DNat记录,并通过传输接口记录后发送执行指令到SNat记录判断单元,否则直接发送执行指令到SNat记录判断单元;
SNat记录判断单元,用于数据报文进入第二检测点,判断是否需要做SNat记录,是则对所述数据报文做SNat记录,并通过传输接口记录后发送执行指令到数据报文发送单元,否则直接发送执行指令到数据报文发送单元;
数据报文发送单元,用于内核防火墙将数据报文通过Netlink发送到用户层。
本发明在数据报文进入防火墙后,分别进行DNat记录和SNat记录,通过传输接口记录数据报文,使用Netlink传输信息到用户层,减少了数据的拷贝,以及系统调用的次数,缩短了数据流经的路程,提高了日志系统性能,使系统更加快速、准确,足够处理大流量的Nat环境需求。
附图说明
图1表示本发明实施例提供的现有技术工作原理图;
图2表示本发明实施例提供的一种基于Linux的Nat日志记录方法流程图;
图3表示本发明实施例提供的一种基于Linux的Nat日志记录方法流程图;
图4表示本发明实施例提供的一种基于Linux的Nat日志记录方法流程图;
图5表示本发明实施例提供的基于Linux的Nat日志系统的整体结构图;
图6表示本发明实施例提供的一种基于Linux的Nat日志记录装置结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图2示出了本发明实施例提供的一种基于Linux的Nat日志记录方法流程图,详述如下:
在步骤S101中,数据报文到达网卡,并进入内核防火墙;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东睿江云计算股份有限公司,未经广东睿江云计算股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310573865.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数控弯线机
- 下一篇:一种人参皂苷纳米颗粒及其透明水相分散体的制备方法