LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]tproxy(透明代理):一款开源的网络流量透明拦截与转发工具

admin
2025年11月10日 22:26 本文热度 179

简介


tproxy(透明代理)是Linux内核模块实现的网络流量透明拦截与转发工具,通过保留原始IP、支持多协议、灵活路由等特性,在负载均衡、安全审计、流量分析等场景发挥关键作用。

主要功能

原始IP保留

tproxy允许后端服务器直接获取客户端真实IP,避免因代理中转导致的IP丢失。例如,在HAProxy负载均衡场景中,后端Web服务器可通过netstat查看连接源IP为用户真实IP,而非HAProxy的IP。

协议无关性

支持TCP/UDP全协议栈,适用于HTTP、HTTPS、gRPC、MySQL等场景。例如,可通过tproxy -p 3307 -r localhost:3306分析MySQL连接池行为,监控连接数量、生命周期等指标。

灵活路由控制

基于原始IP实现动态路由决策,支持按用户组、地理位置等策略分配流量。例如,可将特定地区用户流量导向就近服务器。

透明性与低侵入性

无需客户端配置代理地址或协议,企业可无缝控制网络访问,用户无感知。例如,在Istio Ambient模式中,tproxy与HBONE结合实现L4网络透明拦截。

优缺点

优点缺点
透明性高,客户端无感知
配置复杂,需修改iptables和路由表
支持协议广泛
兼容性依赖内核版本
流量控制精细
高负载下性能可能下降


应用场景

负载均衡与真实IP透传

在HAProxy或Squid中集成tproxy,解决后端服务器无法获取用户真实IP的问题。例如,通过source 0.0.0.0 usesrc clientip配置HAProxy,确保日志记录原始IP。

安全审计与流量监控

结合Wireshark解析器构建数据包分析树,实时监控TLS解密流量。例如,在金融行业通过tproxy拦截交易流量,检测异常请求。

服务网格透明拦截

Istio Ambient模式利用tproxy实现Sidecar-less部署,通过透明代理降低资源消耗。例如,将Envoy代理流量经tproxy转发至HBONE,实现L4网络层透明路由。

数据库连接池优化

分析MySQL、Redis等连接池行为,识别连接泄漏问题。例如,通过tproxy -p 3307 -r :3306 -s -q统计连接池最大并发数、最长生命周期等指标。

如需了解更多信息,可以访问其官方网站或查阅相关的技术文档。

GitHub地址

https://github.com/kevwan/tproxy


安装教程

部署方式分为本地部署和Docker部署。

本地部署:

Linux或MacOS需要安装Go开发环境,安装指令如下:

GOPROXY=https://goproxy.cn/,direct go install github.com/kevwan/tproxy@latest

Windows安装指令:

scoop install tproxy

使用Docker:

docker run --rm -it -p <listen-port>:<listen-port> -p <remote-port>:<remote-port> kevinwan/tproxy:v1 tproxy -l 0.0.0.0 -p <listen-port> -r host.docker.internal:<remote-port>

使用语法:

$ tproxy --helpUsage of tproxy:  -d duration    	the delay to relay packets  -down int    	Downward speed limit(bytes/second)  -l string    	Local address to listen on (default "localhost")  -int    	Local port to listen ondefault to pick a random port  -q	Quiet mode, only prints connection open/close and stats, default false  -r string    	Remote address (host:port) to connect  -s	Enable statistics  -t string    	The type of protocol, currently support http2, grpc, redis and mongodb  -up int    	Upward speed limit(bytes/second)

示例:分析gRPC连接。

tproxy -p 8088 -r localhost:8081 -t grpc -d 100ms

侦听在 localhost 和 8088 端口

重定向请求到 localhost:8081

识别数据包格式为 gRPC

数据包延迟100毫秒


阅读原文:原文链接


该文章在 2025/11/11 17:28:51 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved