我正在尝试从 ec2 上的 Ubuntu 服务器(运行 Maverick)通过 telnet 连接到我在 ec2 上设置的另一台机器 - 我们将其称为“server-x”。 Server-x 正在运行 imap 服务器,我正在尝试测试与它的连接。
两台机器通过 vpn 连接。我可以从 ec2 机器 ping 到 server-x,没有问题。在另一台也使用 vpn 但不在 ec2 上的机器上,我可以 telnet 到 server-x,没有问题,因此它正在接受该端口上的传入连接。
但是当我从 ubuntu 实例运行 telnet 到 server-x 时,我得到:
ubuntu@ip-10-111-11-11:~$ telnet 5.1.1.1 9143
Trying 5.1.1.1...
telnet: Unable to connect to remote host: Connection refused
其他 telnet 的工作方式如下:
ubuntu@ip-10-111-11-11:~$ telnet imap.gmail.com 993
Trying 173.194.76.108...
Connected to gmail-imap.l.google.com.
Escape character is '^]'.
我已在 ubuntu 机器上禁用 ufw。还有其他东西可以阻止此传出连接吗?我尝试将传出端口添加到 iptables,但我不确定我是否做得正确。
更新: 在 server-x 上运行的服务是 imap 服务器。当我将其更改为使用传统的 imap 端口 143 时,ubuntu 机器现在可以无问题地进行 telnet。为什么它不能在 9143 上进行 telnet?
当我运行 netstat 时,我确信 9143 已打开并正在监听 server-x:
netstat -an |grep 9143
tcp46 0 0 *.9143 *.* LISTEN
tcp4 0 0 *.9143 *.* LISTEN
答案1
连接被拒绝除了端口被封锁之外,还可能意味着没有什么正在监听该端口(或该 IP /接口)。
请在您尝试 telnet 的机器上运行以下命令到:
netstat --numeric-ports -l | grep 9143
并将输出粘贴为注释,或将其编辑到您的问题中。如果您没有得到输出,那么应该监听端口 9143 的任何程序都有问题。