• 服务器使用2000端口的诡异现象


    1 前提

      最近新上一套服务,部署在DMZ区和内网区,使用的端口有很多,其中包括2000端口,并且使用F5设备承担应用的负载均衡功能

    2 现象描述

      DMZ服务器可以telnet通内网的F5设备的负载端口,并且F5把请求已经转发到了内网的服务器上(在内网主机上可以看到F5的连接),但是发送HTTP的GET请求,会超时。

    3 分析

      由于DMZ与内网互联经过了Cisco的防火墙和F5设备,排查难度较大,分析步骤如下:

    • F5设备转发了TCP的请求,因为TCP连接的确建立了。
    • F5设备的某些网络策略限制了HTTP协议,所以没有转发HTTP请求。     
    • Cisco防火墙转发了TCP的请求,因为TCP连接会经过防火墙。
    • Cisco防火墙阻断了HTTP协议,所以应用数据包没有到达F5设备。 
    • 应用服务器没有把包发向正确的网关   

    4 见了鬼了

      通过抓包分析,确定F5设备策略没有问题,应用服务器路由也正确,故障点可能出现在Cisco防火墙上,经过抓包分析策略梳理,确定也没有策略阻止HTTP数据包。

    5 处理

      本着设备不会骗人的这句话,想了很久,联想到Linux上某些端口是固定给某些服务使用的,比如ssh 22,ftp 20/21,等,Cisco防火墙会不会也有自己特定的服务?通过百度搜索相关资料,发现原来2000端口被用于思科的SCCP()。如果一个支持SCCP的思科网络访问端口2000的服务,会有如下提示

    Firewalls tend to treat port 2000 as a special port and do some funny thing with the data.
    

      由于我们发送的非SCCP协议接受的数据包,所以被直接丢弃。

    解决的办法固然有两种

    1. 关闭SCCP功能

    2. 更换服务器的端口

    处于长远考虑,我们选择更换了服务端口。

    6 总结

      由于对设备的特性不是太了解,所以浪费了很多时间,但是好在解决问题了。 哈哈

  • 相关阅读:
    完美解决php无法上传大文件分享
    完美解决php无法上传大文件问题
    完美解决php无法上传大文件思路
    完美解决php无法上传大文件功能
    IfcRightCircularCylinder
    IfcRightCircularCone
    IfcRectangularPyramid
    IfcBlock
    IfcCsgPrimitive3D
    IfcReparametrisedCompositeCurveSegment
  • 原文地址:https://www.cnblogs.com/dachenzi/p/8031647.html
Copyright © 2020-2023  润新知