【技术实现步骤摘要】
一种网桥透明代理方法、装置、存储介质及设备
[0001]本申请涉及网络通信
,具体而言,涉及一种网桥透明代理方法、装置、存储介质及设备。
技术介绍
[0002]在一些复杂的网络环境中,由于IP资源限制、交换网络管理等问题,针对新添加到网络环境中的网络设备不能为其配置业务IP,但是需要利用透明代理的方式对经过设备的报文进行检测或者转发。相关技术中针对此类场景的主要解决方案是利用DPDK(Data Plane Development Kit,数据平面开发套件)的交换模块将透明代理报文发送到Linux内核或从内核读取透明代理报文并外发,Linux内核协议栈处理完毕之后,将应用数据传递给用户层代理进程。然而,DPDK需要处理透明代理报文连接关联等问题,实现比较复杂。
技术实现思路
[0003]本申请实施例的目的在于提供一种网桥透明代理方法、装置、存储介质及设备,旨在解决相关技术中存在的针对网桥无IP地址配置,路由不可达情况下,透明代理的实现较为复杂的问题。
[0004]第一方面,本申请实施例提供的一种网 ...
【技术保护点】
【技术特征摘要】
1.一种网桥透明代理方法,其特征在于,应用于透明代理设备,所述透明代理设备的Linux网桥上配置有两个业务口;所述方法包括:截获客户端向服务端发送的TCP的SYN报文,保存所述SYN报文中的以太网帧头信息;所述以太网帧头信息包括MAC地址信息及SYN入接口索引;构造SYN
‑
ACK报文,利用指定钩子点将保存的以太帧头信息中的源MAC地址和目的MAC地址反转后,添加到所述SYN
‑
ACK报文头部,并将所述SYN
‑
ACK报文从所述SYN入接口索引对应的业务口发送出去,在再次接收到所述客户端的报文时,确定与所述客户端建立连接;在与所述服务端建立连接时,构造目标SYN报文,利用所述指定钩子点将保存的以太帧头信息添加到所述目标SYN报文中,并将所述目标SYN报文从目标外出接口发送出去;所述目标外出接口是所述Linux网桥上除所述SYN入接口索引对应的业务口以外的另一个业务口。2.根据权利要求1所述的方法,其特征在于,所述透明代理设备的Linux内核中设置有ebtables扩展模块;所述截获客户端向服务端发送的TCP的SYN报文,包括:通过所述ebtables扩展模块,对进入的TCP报文进行匹配,以确定所述TCP报文是否属于已建立的Socket或者监听的透明代理Socket;所述TCP报文包括SYN报文;若匹配成功,通过策略路由将所述TCP报文发送到所述Linux内核。3.根据权利要求2所述的方法,其特征在于,所述通过策略路由将所述TCP报文发送到所述Linux内核之前,包括:将所述TCP报文打上Mark X标记;所述Linux内核中设置有:针对带有Mark X标记的报文,禁止将目的MAC地址设置为进入接口MAC地址。4.根据权利要求1所述的方法,其特征在于,所述保存所述SYN报文中的以太网帧头信息,包括:创建request_sock结构体,并在所述request_sock结构体中增加tproxy_option信息,所述tproxy_option信息用于记录所述S...
【专利技术属性】
技术研发人员:杜晓宇,
申请(专利权)人:北京天融信科技有限公司北京天融信软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。