我想从 Centos A 连接 Centos B 的 33060 端口。
我可以 ping 通服务器 B。
[root@serverb ~]# ping 10.42.40.182
PING 10.42.40.182 (10.42.40.182) 56(84) bytes of data.
64 bytes from 10.42.40.182: icmp_seq=1 ttl=56 time=1.51 ms
64 bytes from 10.42.40.182: icmp_seq=2 ttl=56 time=1.51 ms
64 bytes from 10.42.40.182: icmp_seq=3 ttl=56 time=1.50 ms
64 bytes from 10.42.40.182: icmp_seq=4 ttl=56 time=1.51 ms
64 bytes from 10.42.40.182: icmp_seq=5 ttl=56 time=1.54 ms
64 bytes from 10.42.40.182: icmp_seq=6 ttl=56 time=1.58 ms
但是当我尝试 telnet 33060 时。有时它可以工作。大多数时候不工作。我将等待以下状态。
[root@db2019 ~]# telnet 10.42.40.182 33060 尝试 10.42.40.182...
我尝试使用另一个 Centos 连接到 B 的 33060。它始终有效。
请告知可能的原因。提前致谢!
答案1
我认为你正在从内部 ping 服务器 b:
[root@serverb ~]# ping 10.42.40.182
二能够连接两台主机(同一网络):
- 每个都应该在同一个子网中
- 应禁用防火墙,或至少应在服务器 B 上打开 33060 tcp/udp 端口以接收传入流量,并在服务器 A 上打开 33060 tcp/udp 端口以接收传出流量
可能的解决方案:
检查应用程序是否响应服务器 A 和服务器 B
$ nc -zv 10.42.40.182 33060
检查 serverB 上的应用程序是否绑定到物理接口 10.42.40.182,而不仅仅是本地主机或环回接口(127.0.0.1)
$ netstat -tulpn | grep 33060
检查防火墙规则(serverA 和 serverB)
$ iptables -L