客户端无法远程连接服务器的问题

最近在做一系列实验,当做到在Kafka Java客户端连接服务器的时候,出现了怎么都无法连接上的问题。

Kafka部署、代码、服务器IP、连接端口经检查都没有问题。

然后在客户端机器上telnet远程服务器的Kafka连接端口,连接失败。(此处在win10命令行进行,须先开启telnet服务)

# telnet 192.168.1.1 9092     //192.168.1.1为服务器IP,9092为端口

正在连接192.168.1.1...无法打开到主机的连接。 在端口 9092: 连接失败

首先就考虑是否是防火墙打开了。结果显示inactive,为关闭状态,其实为了方便做实验,并且是在局域网内,我们实验室服务器的防火墙一般都设为关闭状态。

# service iptables status   //查看防火墙状态

Active: inactive (dead)     //inactive(关闭状态)

那么问题就来了,为什么防火墙都关闭了,却无法连接。

经过一番查询,终于明白了。

原来:防火墙关闭并不意味着所有的端口都开放了!(虽然很low,但以前确实没意识到这个问题)

防火墙关闭只是意味着其不再对已开放的端口进行防护,而未开放的端口不会因为防火墙的关闭而自动开放。

所以,对于上边提到的Kafka的9092端口,仍需要手动开启。

# iptables -I INPUT -p tcp --dport 9092 -j ACCEPT   //开放9092端口
# iptables-save   //若须长期使用,就保存规则

问题解决!

这样的问题可能存在任何需要连接远程服务器的应用中。另外,有的童鞋在使用云服务器中也有类似端口无法连接的问题,可

能云服务器商在更高层控制中对端口进行了限制,找找方法开放相应的端口应该就可以啦。

你可能感兴趣的:(Linux使用技巧)