项目背景: 某单位,两方平台进行互联。要求使用两台光闸进行双向放通IP和端口,实现两个平台的TCP互访业务无障碍。
网络拓扑如下:
在介绍此方案前,我们先对光闸的传输TCP/UDP/DTCP进行讲解
TCP/UDP: 解决客户问题:外网服务器需要把数据单向传输到内网服务器。 功能实现:外网服务器需要把数据发送到FGAP外网侧,通过FGAP的数据传输模块,由FGAP内网侧发送给内网服务器。
TCP/UDP的数据交互过程:由外网服务器发送一个数据包到FGAP外网侧,外网侧剥离数据包并通过内部互联地址转发到内网侧,由内网侧发送数据包给内网服务器。
DTCP: 解决客户问题:在客户不认可网闸的工作方式,对单向光闸物理单向比较感兴趣,同时还需要满足客户业务系统常见的交互型业务系统,比如HTTP、数据库访问等可以通过两台光闸来实现一台网闸的功能。 功能实现:通过两台光闸实现TCP标准会话完成三次握手,不适用于动态端口协议比如FTP、SIP。
DTCP数据交互过程:
外网发送至内网端口发送请求
1>外网端把数据包发送给光闸A外网口NET1,箭头A方向。 2>光闸收到数据包通过内网口ETH1把数据包转发给内网端,箭头B方向。
内网发送到外网端回复请求
1>内网端回复消息给光闸A内网口ETH1,箭头A方向。 2>光闸A通过内网口NET4转发到光闸B外网口ETH4,箭头B方向。 3>光闸B通过内网口NET4转发到光闸A外网口ETH4,箭头C方向。 4>光闸A通过外网口NET1把数据包回复给外网端,箭头D方向。
综上原理,本次实施的方案可以分为多种接线方式来实现,如下:
1、
2、
注意A\B网闸的内外网4口为配置DTCP回包所用口,很多小伙伴会有疑问,左到右右到左,可否共用这两条呢? 答复:可以的,但是建议使用不同的端口来进行区分,这样容易排错。
接下来,我们先看下一个方向的配置: 光闸A NET1地址:192.168.1.1/24 光闸A ETH1地址:192.168.2.1/24 光闸A NET4地址:10.10.10.1/24 光闸A ETH4地址:20.20.20.1/24 光闸B NET4地址:20.20.20.2/24 光闸B ETH4地址:10.10.10.2/24
(以上IP仅为参考,与真实环境无关,接口配置IP以及路由等进行了省略)
光闸A外网口策略配置: 名词解释: 策略名称:设置策略名称,便于策略管理。 协议类型:传输数据协议类型。 本机IP地址:设备外网业务通信口IP地址。 本机端口:设备外网访问端口号。 目的服务器IP:目的服务器IP地址。 目的服务端口:目的服务器端口号。 白名单数据传输:若要设置内容为ASCII数据并且数据以ABC开始,应填入以下内容“ASCII:ABC” 本机反馈IP地址:本设备外网侧通信口IP地址。 本机反馈端口:本设备外网侧通信口端口号。 目的反馈IP地址:目的端外网侧通信口IP地址。 目的反馈端口:目的端外网侧通信口端口号。
光闸B配置:
名词解释: 策略名称:设置策略名称,便于策略管理。 协议类型:传输数据协议类型。 本机IP地址:本设备外网侧通信口IP地址。 本机端口:本设备外网侧通信口端口号。 目的服务器IP:目的端外网侧通信口IP地址。 目的服务端口:目的端外网侧通信口端口号。 白名单数据传输:若要设置内容为ASCII数据并且数据以ABC开始,应填入以下内容“ASCII:ABC”;
同理反过来在配置一次。
注意项: 1、光闸实现两条DTCP互访接线较为麻烦,在客户现场一定要多次确认接线正确。 2、测试工具使用‘SocketTool’较为方便。 |