我有 2 台 Solaris 机器,并且有一个通过端口 8556 打开套接字的应用程序,但由于某种原因,连接一直被拒绝。
当我在第二台服务器(serverb)上运行 netstat 命令时:
$ netstat -an | grep 8556
127.0.0.1.8556 *.* 0 0 128000 0 LISTEN
这似乎表明端口是开放的,我甚至可以 telnet 到本地主机:
$ telnet 127.0.0.1 8556
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
^]
但是当我尝试从第一台机器进行 telnet 时,连接失败:
bash-3.00# telnet serverb 8556
Trying 5.5.112.112...
telnet: Unable to connect to remote host: Connection refused
我可以从服务器 a 成功 ssh 到服务器 b,但套接字连接被拒绝。我尝试了主机名和 IP 地址,但没有成功。我还可以从服务器 a telnet 到端口 22 和 23 到服务器 b,这些端口似乎已打开,只是端口 8556 有问题。
这可能是什么问题?
答案1
侦听套接字已绑定到127.0.0.1
,如您的netstat
输出所示。它未绑定到5.5.112.112
或0.0.0.0
(充当通配符)。