正向隔离/反向隔离的TCP/UDP穿透

正向隔离/反向隔离的TCP/UDP穿透

xb_gl_proxy 是一个隔离装置的双向穿透服务,可以看作是一个全双工的TCP链路。 用户可以在 任意一侧运行tcp服务,另一侧运行tcp客户端。基于此代理, 104协议,商用数据库访问等都很方便的实现隔离穿透。

资源下载

结构图

2、配置及使用代理服务器程序

可执行程序: xb_gl_proxy

配置文件: gl_proxy.ini

对于高安全区(内网), 配置项有:

1:CHANNEL_REMOTE_SVR = 10.10.10.2:xxxx 是远端(外网)的 CHANNEL_SVR 在内网的映射

2:RECV_PATH = /home/xb/proxy_log 接收反向装置发送的文件 。

3:PROXY_PORT= xxxx 即适配器服务端口

当高安全区有用户作为客户端需要 tcp 链接到低区某台机器,配置 tcp转发接收器

4. zf1 = 4000 192.1.1.2:4000... 表示 用户tcp链接到本服务的4000端口,则会通过xb穿透机制,等效于链接到 低区的 用户机器 (192.1.1.2:4000)上

对于低安全区(外网),配置文件内的配置项有:

1:CHANNEL_SVR =0.0.0.0:9999

2: SEND_PATH= /.../... 反向代理转发装置 发送文件目录。

3:PROXY_PORT=29000代理服务器监听的端口,适配器端口

4. EFILE = 1 表示反向文件格式是e格式。

当低安全区有用户作为客户端需要 tcp 链接到高区,配置 tcp转发接收器

4. zf1= 4000 168.1.1.2:4000... 表示 用户tcp链接到本服务的4000端口,则会通过xb穿透机制,等效于链接到 高区的 用户机器 (168.1.1.2:4000)上

运行测试:

反向隔离装置,我们可以用一个脚本搬运文件来模拟,以便测试:

1 ./glzz 运行反向隔离模拟器

2. cd bin

./xb_gl_proxy

3. cd ../bin.outer

./xb_gl_proxy_out

4. cd ../bin

./xb_gl_tcp_test 22002 0.0.0.0:12002 5

这个测试程序, 同时担当 外网的服务端 和 内网客户端, 会运行 5个 线程,tcp链接发送数据给服务端 并 环回。

5. 使用 ssh 测试 tcp 穿透

ssh 127.0.0.1 -p 22003

6. ./gl_test_udp

测试 udp 的三种模式 ( 上传资源文档中有描述)

性能分析: 这个测试程序受到 脚本 glzz 中的 mv 性能影响 ( 0---20 ms, 平均10ms ) ,

当发送数据包大小超过32k, 受滑窗机制限制,交互会增多, 1秒中的报文数变少。

tcp链接数量基本不影响性能,只与 正向 tcp 带宽 和 反向文件 传输性能极限 正相关。

相关推荐