通用透明代理方法技术

技术编号:23404620 阅读:29 留言:0更新日期:2020-02-22 16:32
本发明专利技术公开了一种通用透明代理方法,包括如下步骤:通过Linux机器连接客户端和服务端;配置用户脚本文件,启动透明代理服务;数据接收发送模块接收数据包,修改数据包,然后上发Freebsd协议栈进行处理,最后上发异步网络框架模块后进入用户层,进行用户层数据处理。本发明专利技术具有如下有益效果:本发明专利技术使用Freebsd协议栈处理数据,提高了效率,部署简单,开发便捷;在Freebsd协议栈基础上提供异步网络开发接口库Libnet和库LibProxy,Libnet处理网络数据收发,LibProxy用于对Libnet封装,将网络复杂情况交给Libnet处理,便于开发人员进行二次开发。

General transparent agent method

【技术实现步骤摘要】
通用透明代理方法
本专利技术涉及网络通信
,尤其是涉及一种配置简单,部署便捷,便于二次开发的通用透明代理方法。
技术介绍
传统透明代理方法需要对防火墙进行规则配置如iptables,搭建网桥,用户程序控制,对网络环境十分依赖,后期网络环境变更,则需要重新部署,实施起来十分不便利,并且需要详细了解现场网络拓扑环境;需要根据现场网络拓扑环境,获取相关信息,如Vlanid等;需要配置Vlan号,做bond绑定;不支持多Vlan网络和负载均衡多条线路节点;后期维护成本大。
技术实现思路
本专利技术为了克服现有技术中存在的实施部署不便利,网络环境复杂的不足,提供了一种配置简单,部署便捷,便于二次开发的通用透明代理方法。为了实现上述目的,本专利技术采用了以下技术方案:一种通用透明代理方法,包括IGB网卡驱动模块、数据接收发送模块、Freebsd协议栈和异步网络框架模块;包括如下步骤:(1-1)通过Linux机器连接客户端和服务端,启动Linux系统,自动运行自动化脚本;(1-2)配置用户脚本文件,运本文档来自技高网...

【技术保护点】
1.一种通用透明代理方法,其特征在于,包括IGB网卡驱动模块(1)、数据接收发送模块、Freebsd协议栈(2)和异步网络框架模块(3);包括如下步骤:/n(1-1)通过Linux机器连接客户端(4)和服务端(5),启动Linux系统,自动运行自动化脚本;/n(1-2)配置用户脚本文件,运行用户程序,启动DPDK服务,启动透明代理服务;/n(1-3)数据接收发送模块接收数据包,修改数据包,然后上发Freebsd协议栈;/n(1-4)Freebsd协议栈对修改后的数据包进行处理,然后上发异步网络框架模块;/n(1-5)数据包上发异步网络框架模块后进入用户层(8),进行用户层数据处理。/n

【技术特征摘要】
1.一种通用透明代理方法,其特征在于,包括IGB网卡驱动模块(1)、数据接收发送模块、Freebsd协议栈(2)和异步网络框架模块(3);包括如下步骤:
(1-1)通过Linux机器连接客户端(4)和服务端(5),启动Linux系统,自动运行自动化脚本;
(1-2)配置用户脚本文件,运行用户程序,启动DPDK服务,启动透明代理服务;
(1-3)数据接收发送模块接收数据包,修改数据包,然后上发Freebsd协议栈;
(1-4)Freebsd协议栈对修改后的数据包进行处理,然后上发异步网络框架模块;
(1-5)数据包上发异步网络框架模块后进入用户层(8),进行用户层数据处理。


2.根据权利要求1所述的通用透明代理方法,其特征在于,步骤(1-2)的具体步骤如下:
(2-1)利用脚本config.ini配置网卡信息;
(2-2)利用脚本config.yaml配置透明代理支持的最大连接数,本机代理端口和网卡进出编号;
(2-3)利用serverip.yaml是配置要代理服务器的IP和Port;
(2-4)运行用户程序,启动DPDK服务,启动透明代理服务。


3.根据权利要求2所述的通用透明代理方法,其特征在于,步骤(1-3)的具体步骤如下:
(3-1)数据接收发送模块从IGB网卡驱动模块收到数据包,解析数据包,根据脚本config.yaml配置的网卡进出编号进行判断,
如果接收到的数据包为客户端方向数据,取出目的IP和目的Port字段,转入步骤(3-2);
如果接收到的数据包为服务端方向数据,取出源IP和源Port字段,转入步骤(3-2);
(3-2)将取出的IP和Port字段组成key,进行Hash查找,根据脚本serverip.yaml配置的代理服务器的IP和Port字段过滤数据包,如果key不符合配置的代理服务器的IP和Port字段,数据包进行二层转发,转入步骤(3-1);如果key符合配置的代理服务器的IP和Port字段,转入步骤(3-3);
(3-3)数据包依据SYN和ACK标签判断是否为初次请求,
如果数据包为客户端初次请求,将网卡编号,网卡MAC,源IP,源Port字段,目的IP,目的Port字段,Vlan标签字段存入hash表中,转入步骤(3-4);
如果数据包不是初次请求,转入步骤(3-4);
(...

【专利技术属性】
技术研发人员:贺桂友柳遵梁
申请(专利权)人:杭州美创科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1