事件起因:

博主本地电信宽带(有动态公网IPv4),2023年05月12日,本地电脑使用Xshell SSH连接某国外VPS时,出现连接失败。根据自建VPS监控显示,VPS网络正常,端口正常,网站正常,那么问题就出在电信上了(这时候还没想到是因为GFW高墙)。按照以往的经验,路由器重新拨号换一个与目前IPv4同网段不同IP就行了;实在不行,拨到另一个网段也能OK。但博主尝试重新拨号,甚至拨了三个不同的B段的IP,SSH依旧连接失败。这时候,博主总算发现问题不简单了,博主连续SSH连接了自己所持有的部分VPS(80台左右),发现了一个华点,具体在本文后半段中描述。

事件表现:

当SSH连接VPS时,正常情况应该在Ctrl+Alt+]之后连接上VPS。但是此次实际情况却是在Ctrl+Alt+]之后,会卡在那里不动,大概20多秒之后,出现Error: 10053,紧接着就是Socket close,之后就是Connection closed by foreign host。

Connecting to 174.139.***.***:*****...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Socket error Event: 32 Error: 10053.
Connection closing...Socket close.

Connection closed by foreign host.
Disconnected from remote host(*********************) at 23:22:32.

图1,VPS 1 首次连接失败之后,大概隔了一分钟左右重新尝试,连接上了。

图2,VPS 2 首次连接失败之后,大概隔了2~3分钟再次尝试连接,依旧失败。

图3,VPS 1 Ping正常。

图4,VPS 1 TCPing正常。

事件描述:

1、最初:早在2022年,博主就经常遇到SSH连接失败这个问题,还记得当时的的问题是,当SSH连接失败的时候,该VPS Ping是不通的,TCPing端口也不通,网页打开该VPS上搭建的网站是超时或者连接重置;但是Ping.pe上Ping和TCPing都正常;此时基本上所有的非国内网站直连是打不开的。当时博主的猜测是,博主家的宽带拨号拨到了一个被重点关注的IP,导致问题出现。前面说过,那时候把宽带重新拨号就行了,最不济重拨到另一个A/B段也可以搞定。
2、此次:2023年05月,就遇到本文开头所描述的问题了,VPS上一切都正常,就只有SSH连接失败。通过本地网络监控显示,当SSH连接显示Ctrl+Alt+]的时候,连接状态为已连接。当出现Error: 10053的时候,连接状态为关闭连接。根据目前的发现,这种问题是间歇性存在的,事件间隔不确定。
3、时间:应该是2023年05月10日开始出现这种问题的。博主为方便网站备份,在家里群晖上搭建了FTP服务,VPS上使用FTP客户端连接到群晖实现自动备份,备份时间为凌晨3点~4点。根据备份日志显示,首次出现这个问题,是在05月10日的备份过程中,报错:Error:File upload error: Unable to connect to the FTP, please check whether the configuration parameters are correct.。同样也是间歇性的,不同日期同一时间段备份有成功也有失败。注:博主没有测试本地FTP客户端连接VPS上FTP服务端是否存在这一问题。
4、华点:之前说过,博主连续SSH了N多台VPS,发现了一个华点。当本地与VPS之间去程,国际出口为电信时,间歇性阻断是必然的。但是当国际出口为联通时,就没这个问题了。比如,博主有一台伦敦VPS,去程链路为本地电信→北京电信→北京联通出口→伦敦;有一台东京VPS,去程链路为本地电信→上海电信→上海联通出口→东京。目前(发文时)的情况是,不管间歇性阻断发作还是停歇,都不影响这两台特殊链路VPS的SSH连接。
5、其它:博主在尝试SSH连接的过程中,通过本地网络监控发现一个不应该出现的OCSP(是不是真的OCSP博主不确定,只是监控标记为OCSP了),比如博主IP为55.55.1.55,网关为55.55.2.1,OCSP的IP为55.56.3.2。这个IP经过确认就是本地电信的IP,家里路由过去的链路55.55.1.55 → 55.55.2.1 → 10.255.254.170(这是一个局域网IP) → 55.56.3.2,博主猜测这个是高墙的电信分墙,毕竟博主家电信去程任意地方都不会经过这个被标记为OCSP的IP。但后续尝试的过程中,没有复现,也就是瞎猜测而已。
6、补充:2023年06月07日,在不属于大规模SSH阻断发作时间段的这天下午,博主在本地家宽下复现了SSH阻断。具体操作如下:连续SSH超100台VPS,这些VPS包括高墙重点关注商家/地区,平均每台1分钟左右正常操作之后手动断开(这个平均时间只是估计,博主是一次性SSH连接多台VPS,每一台都是操作完成才断开,根据Xshell的会话标签页规则,也就是最早连接上的最晚断开)。当天晚上,根据需求又SSH连接了几台VPS,出现了本文开头事件表现中的情况(特殊链路SSH正常),符合SSH阻断特征。博主果断的重拨了宽带,此次拿到的公网IPv4段与重拨之前不同A段,重新SSH几台需求VPS,正常连接。瞎猜测:当本地IP对外SSH连接数超过一定数值,会触发SSH阻断,这个阻断是针对当前本地IP的,且只阻断SSH;不确定跟重点商家地区有无关系;此次未复现本文 事件描述1 中的部分情况,只是SSH不通。TMD,博主可能被标记了。经此一役,博主现在SSH全部走本地代理,力求在本地网络监控中不出现任何SSH连接信息。
7、补充:2023年06月12日,从本文发文至本次补充更新,任何非HTTP/HTTPS的外网连接都有阻断现象。博主直连玩某游戏亚服,游戏内频繁掉线,掉线间隔为相对有规律的15分钟、30分钟、1小时、2小时,且游戏掉线之后3分钟内是铁定重连不上(3分钟阻断)。博主自06月07日的操作之后,近几天只遇到一次游戏掉线(3分钟)。瞎猜测:针对高墙对外网连接的间歇性阻断,非HTTP/HTTPS外网连接的情况下本地不直连重点商家地区的IP,直连会导致本地IP被标记从而触发阻断(解释一下:服务器IP段本身被标记,非HTTP/HTTPS直连该服务器IP会导致本地IP被标记,进而引发一系列阻断现象);如果遇到这种情况,果断重拨宽带换IP(无公网IPv4就爱莫能助了),尽管换了IP,它依然知道你还是你,但至少目前是标记IP后阻断,极少情况是标记宽带后阻断。如果重拨宽带IP不变,重启光猫IP不变,光猫断电几分钟IP还是不变,那么恭喜,当前宽带被标记了,安逸两天再尝试重拨吧。

博主猜测:

目前国内与国外非HTTP/HTTPS的连接都会遇到阻断现象,特殊网络链路除外。目前不清楚是去程阻断还是回程阻断,又或是双向阻断,博主没有过多的事件日志用于分析,此处按下不表。相比直接解决问题,博主更擅长绕路解决,毕竟在这个问题上,博主没能力直接解决问题,也没能力解决提出问题的“人”。所以博主将在后续发布让Xshell通过代理连接到VPS上,具体见下方。

解决办法:

主要是让Xshell通过不同方式的隧道或者代理来达到正常SSH连接的目的。
1、旧文章 搬瓦工vps的IP被封(0) 前言及日志目录 第5、6、7、8条。
2、SSH阻断的解决办法:Xshell使用内置隧道代理来进行SSH连接
3、SSH阻断的解决办法:Xshell使用v2rayN代理来进行SSH连接
4、SSH阻断的解决办法:Xshell使用OpenWrt的helloworld代理来进行SSH连接

4 thoughts on “间歇性SSH阻断?Xshell时不时连接失败?FTP阻断?高墙技术升级?

  1. TAO说道:

    博主你好,前段之前给你留言过,描述了我使用梯子过程中间歇性断连的情况。不论是套CDN还是直连,我发现都还是会出现这个情况,怀疑是不是也是文章说的原因。我是用的移动宽带,阻断的时候,两个VPS都连不上,分别是BWG香港CMI和美国CN2。

    1. 言小五说道:

      @TAO 移动宽带相比电信和联通来说更特殊,有移动墙中墙这个说法。
      移动用户由于大概率没有公网IPv4,套CDN的话,只能自选IP,不自选的话基本上是用不了的,光速阻断;当然了,自选IP也是看脸,同样存在光速阻断的可能性。且每个省份不一样,属于是比较复杂了。建议在VPS的IP没有被墙的情况下,直连即可,端口封了换个端口继续,或者可以尝试一下IPv6(注意BWG没有IPv6,CDN有)。
      曾经在某会期间,尝试北京联通使用CDN自选IP,前一秒正常科学,下一秒就阻断了;不如直连换端口。

      1. TAO说道:

        @言小五 好的明白,谢谢博主。我现在是在用自选IP,但是就会有时好有时坏。想改善体验,回头还是得换成电信宽带

        1. 言小五说道:

          @TAO 就目前来说,三网科学要想24小时高速,电信成本最高(宽带贵,必须要顶级线路的VPS),联通中等(可拉万物),移动最低(宽带便宜,亚太VPS有加成)。
          当然了,以上说法是分地区的,电信区分上海和其它,联通分南北,移动分广州、广东其它、广东以外。不包括泉州。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注