Telnet:无法打开与端口 23 上的主机的连接:连接失败

Telnet:无法打开与端口 23 上的主机的连接:连接失败

我在 Google 上搜索了很多次,也在许多论坛上查过了,但仍然无法解决这个问题。

当我从 Windows 系统远程登录192.18.212.169到 RHEL 系统时,192.18.212.124出现错误

连接到 192.18.212.124...无法在端口 23 上打开与主机的连接:连接失败。

当我从 CentOS 系统尝试时,192.18.209.87出现错误

尝试 192.18.212.124... telnet:连接到地址 192.18.212.124:没有到主机的路由

telnet 服务器和客户端已经安装完毕,一旦我允许交换机上的子网, 192.18.212.124我就可以登录到交换机。192.18.209.124

但是当我尝试从任何其他系统连接时192.18.212.124,它不起作用。尽管如果我尝试从任何系统使用 ssh 连接,它就可以工作。

我知道 telnet 已经过时了,但我正在使用的某个软件需要它。请帮忙。

更新:
ip route对于 CentOS 客户端(192.18.209.87):

默认通过 192.18.209.3 dev enp1s0 proto 静态度量 1024
192.18.200.80 通过 192.18.209.3 dev enp1s0 proto 静态度量 1
192.18.209.0/24 dev enp1s0 proto 内核范围链接 src 192.18.209.87
192.168.122.0/24 dev virbr0 proto 内核范围链接 src 192.168.122.1

ip routeRHEL 服务器 (192.18.212.124):

192.18.212.0/24 dev eth2 proto 内核范围链接源 192.18.212.124 度量 1
默认通过 192.18.212.3 dev eth2 proto 静态

答案1

鉴于 ssh 可以工作但 telnet 不工作,因此有以下几种选择:

  • 防火墙阻止了服务器上的流量
  • 服务器上未运行 Telnet
  • 您的连接将通过网关进行路由,该网关会过滤掉 telnet 流量
  • 当您尝试通过 ssh/telnet 连接时,您输入了不同的 IP 地址

1. 可能是您的服务器的防火墙阻止了连接。

为了快速检查,添加(临时)规则以允许所有流量:

[root@server]# iptables -I INPUT 1 -j ACCEPT
[root@server]# iptables -I OUTPUT 1 -j ACCEPT

您也可以在客户端上执行相同的操作以解决此问题。完成测试后(在本消息末尾),使用以下命令删除这两个

[root@server]# iptables -D INPUT 1
[root@server]# iptables -D OUTPUT 1

2. 您的服务器缺少 192.18.209.0/24(?)子网的路由

您的服务器的路由表很奇怪。您说它的 IP 地址是 192.18.209.124,但路由表显示它是 192.18。212.124 。您是否将其更改为 212 子网来测试某些事情?如果是这样,您可以将其恢复到您写第一条消息时的状态吗?

从服务器到客户端执行跟踪路由,反之亦然,以检查路径是否正确。

3. 仅当您有服务器的物理访问权限时才可以进行完整测试序列(因为您可能会因潜在的 IP 更改而失去网络访问权限)

假设您的拓扑非常简单,两台机器都在同一个网络上,如下图所示:

        +---------+                  Server: 192.18.209.124/24
        | Switch  |                  CentOS: 192.18.209.87 /24
        +---------+
     _____|     |_____
    |                 |
+--------+        +--------+
| Server |        | CentOS |
+--------+        +--------+

[root@server] iptables -I INPUT 1 -j ACCEPT
[root@server] iptables -I OUTPUT 1 -j ACCEPT
[root@server] ifconfig eth2 192.18.209.124/24
[root@server] netstat -tapn | grep :23

[root@centos] iptables -I INPUT 1 -j ACCEPT
[root@centos] iptables -I OUTPUT 1 -j ACCEPT
[root@centos] traceroute 192.18.209.124
[root@centos] nc -vv 192.18.209.124 23

[root@server] traceroute 192.18.209.87
[root@server] iptables -D INPUT 1
[root@server] iptables -D OUTPUT 1

[root@centos] iptables -D INPUT 1
[root@centos] iptables -D OUTPUT 1

答案2

CentOS 客户端和 RHEL 服务器均位于 192.18.209.x 网段。根据您的路由转储,CentOS 上的默认网关是 192.12.209.3,而 RHEL 上的默认网关是 192.12。212.3.

尝试在 192.12.209.3 中更改 RHEL 上的默认网关并检查它是否有效。

相关内容