UDP 可以侦听但 TCP 失败

UDP can listen but TCP fails

我想与我的主机和从机(均为 CentOS 7)建立 TCP 连接。例如,我的节点的 IP 是 IP1 和 IP2。我可以ping彼此成功。但我无法建立 TCP 连接。所以我用ncat来测试。我的做法如下

[Node1] ncat -v -u IP2 Port2
Ncat: Connected to IP2:Port2

[Node2] ncat IP2 Port2
Ncat: No route to host

我不知道我的操作是否正确来测试TCP和UDP。如果我的操作是正确的,为什么我无法建立TCP连接。你能告诉我为什么吗?

谢谢。

IP2 似乎丢弃 SYN 数据包和 return ICMP 消息到 IP1 - 您应该配置防火墙。类似问题 - https://unix.stackexchange.com/questions/353452/no-route-to-host-with-nc-but-can-ping

不清楚 IP2 端口 2 上什至有一个 TCP 侦听器,并且可以从您的计算机访问该侦听器(即没有限制访问的防火墙)。如果不存在侦听器或连接以某种方式被阻止,则初始 TCP 握手将已经失败,即甚至在发送任何数据之前。

对于 UDP,这是不同的:初始 "connect" 根本不与目标通信,只是在本地套接字上设置目标地址。如果连接正常,稍后才能看到,即从客户端发送的数据是否会真正到达服务器。