我有一个远程服务器运行侦听特定的端口。
偶尔我会得到一个场景,客户端突然无法连接到该端口上的服务器。 这是一个随机的问题,其他一些PC可以连接,但是100个可能无法连接。
客户端使用的Windows PC作为服务器在Linux上。
我已经做了以下追查错误。
在客户端运行netstat来查找该端口是否在使用中。 Netstat找不到使用该端口的任何进程。
禁用Windows Firewall或任何其他防火墙。 这里再次没有运气。
在客户端PC上运行portqry ,显示端口已过滤
正如我所说,这只发生在随机客户端,如果我在另一个客户端上同时运行portqry端口显示为LISTENING,所以似乎在客户portqry了问题。
所以对于唯一的解决scheme,我发现是一个完整的操作系统在客户端的重新安装。
如何确定从客户端到服务器的线路中的哪个端口是被阻塞的?
编辑
我已经尝试了以下的东西
portqry只显示与客户端软件无法连接相同的问题。
我猜你的客户正在使用NAT? 有些客户端连接而另外一些客户端不能连接,这几乎排除了远程问题(因为他们可能使用相同的公共IP)。 但是,如果您使用的是出口IP池,那么当不同的IP地址不适合远程服务器访问限制时,这可能就是问题所在。
远程服务器/防火墙也可能限制来自单个IP地址的连接数量。
您需要检查您的访问防火墙/路由器是否有任何问题。 有问题的客户可以ping远程服务器吗? 正常访问其他服务器? 什么tracert出现? 防火墙是否为这些客户端logging任何东西?
可能,重新安装客户端只是因为它需要一段时间,并允许问题转移到其他地方。
如果你可以重现这个问题,我会尝试Wireshark找出谁发送端口重置(并因此拒绝连接)。