一种基于iptables和策略路由的回包至来源网口的方法与流程

文档序号:11594094阅读:1192来源:国知局
本发明涉及网络设备数据包转发
技术领域
:,尤其涉及一种在linux操作系统下基于iptables和策略路由的回包至来源网口的方法。
背景技术
::随着计算机网络广泛的使用以及计算机网络技术的发展,网络设备需要适应更加复杂的网络环境。由于传统的linux操作系统默认路由只有一条配置生效,单台设备多个网口接受外部请求,且请求都来自外部(非本机同网段),甚至在请求难以分类的情况下,linux操作系统的网络设备就难以确定将内部应答数据包经由哪个来源网口转发回去。因此,当linux操作系统的网络设备接收到来自不同运营商的用户请求时,如何简单地使得linux操作系统的网络设备在多个不同的网络环境下将请求的应答经由接收该请求的来源网口转发回去,是本领域迫切需要解决的技术问题。申请人对此进行了有益的探索和尝试,找到了解决上述问题的办法,下面将要介绍的技术方案便是在这种背景下产生的。技术实现要素:本发明所要解决的技术问题:针对现有技术的不足而提供一种在linux操作系统下基于iptables和策略回路的回包至来源网口的方法,该方法可以多网口处理请求,请求可以是本机网段内或非本机网段内的,根据iptables规则和策略路由规则将请求的内部应答数据包从接收该请求的来源网口转发回去。本发明所解决的技术问题可以采用以下技术方案来实现:一种基于iptables和策略回路的回包至来源网口的方法,包括以下步骤:步骤s1,linux操作系统的网络设备接收到外部请求数据包;步骤s2,判断步骤s1中接收到的外部请求数据包是否是其所在的链接上的首个数据包,若判断为是,则进入步骤s3,若判断为否,则进入步骤s5;步骤s3,根据iptables规则,在所述外部请求数据包上打上与接收所述外部请求数据包的网口相关的标签;步骤s4,根据iptables规则,将所述外部请求数据包上的标签保存到所述外部请求数据包所在的链接上,继而进入步骤s6;步骤s5,根据iptables规则,将保存在所述链接上的标签打到所述外部请求数据包上,继而进入步骤s6;步骤s6,根据策略路由的规则,将带有标签的所述外部请求数据包引入对应的策略路由表中;步骤s7,根据策略路由表中配置的主机路由或网络路由,将所述外部请求数据包转发至所述网络设备的后台;步骤s8,所述网络设备将外部请求数据包向linux操作系统转发;步骤s9,linux操作系统接收到步骤s8中转发过来的外部请求数据包并作出应答,形成内部应答数据包返回给所述网络设备;步骤s10,所述网络设备接收到步骤s9中返回的内部应答数据包,并根据iptables规则,将保存在所述链接上的标签打到所述内部应答数据包上;步骤s11,根据策略路由规则,所述内部应答数据包根据其上的标签匹配与其相对应的策略路由表,并引入该策略路由表中;步骤s12,根据策略路由表中配置的默认路由找到与所述内部应答数据包相对应的网口;步骤s13,所述网络设备通过与内部应答数据包相对应的网口将内部应答 数据包发送至请求方。由于采用了如上的技术方案,本发明的有益效果在于:本发明依赖linux操作系统原生命令及配置,根据iptables规则和策略路由规则,将本机网段内或非本机网段内的请求应答从接收该请求的网口转发回去,无需额外的开发及投入,其中iptables及时生效,策略路由可以通过重新生成缓存文件及时生效,配置起来灵活方便。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明的linux操作系统的设备接收请求的处理流程图。图2是本发明的linux操作系统的设备接收应答的处理流程图。具体实施方式为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。本发明的一种基于iptables和策略回路的回包至来源网口的方法,包括以下步骤:1)linux操作系统的网络设备接收请求的处理如下(如图1所示):1.1)linux操作系统的网络设备接收到外部请求数据包;1.2)判断步骤1.1)中接收到的外部请求数据包是否是其所在的链接的首个数据包,若判断为是,则进入步骤1.3),若判断为否,则进入步骤1.5);1.3)根据iptables规则,在外部请求数据包上打上与接收外部请求数 据包的网口相关的标签;1.4)根据iptables规则,将外部请求数据包上的标签保存到外部请求数据包所在的链接上,继而进入步骤6);1.5)根据iptables规则,将保存在链接上的标签打到外部请求数据包上,继而进入步骤6);1.6)根据策略路由的规则,将带有标签的外部请求数据包引入对应的策略路由表中;1.7)根据策略路由表中配置的主机路由或网络路由,将外部请求数据转发至网络设备的后台;1.8)网络设备将外部请求数据包向linux操作系统转发;2)linux操作系统应答请求的处理如下:linux操作系统接收到网络设备转发过来的外部请求数据包并作出应答,形成内部应答数据包返回给网络设备;3)linux操作系统的网络设备接收应答的处理如下(如图2所示):3.1)网络设备接收到linux操作系统返回的内部应答数据包;3.2)根据iptables规则,将保存在链接上的标签打到内部应答数据包上;3.3)根据策略路由规则,内部应答数据包根据其上的标签匹配与其相对应的策略路由表,并引入该策略路由表中;3.4)根据策略路由表中配置的默认路由找到与内部应答数据包相对应的网口;3.5)网络设备通过与内部应答数据包相对应的网口将内部应答数据包发送至请求方。以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明 书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。技术特征:技术总结本发明公开了一种基于iptables和策略回路的回包至来源网口的方法,包括以下步骤:1)Linux操作系统的设备接收请求的处理;2)Linux操作系统应答请求的处理;3)Linux操作系统的设备接收应答的处理。本发明的有益效果在于:本发明依赖Linux操作系统原生命令及配置,根据iptables规则和策略路由规则,将本机网段内或非本机网段内的请求的应答从接收该请求的网口转发回去,无需额外的开发及投入,其中iptables及时生效,策略路由可以通过重新生成缓存文件及时生效,配置起来灵活方便。技术研发人员:孙逸群;刘文斌;掌晓愚受保护的技术使用者:上海格尔软件股份有限公司技术研发日:2016.02.02技术公布日:2017.08.08
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1