![Telnet:无法打开与端口 23 上的主机的连接:连接失败](https://linux22.com/image/1420762/Telnet%EF%BC%9A%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80%E4%B8%8E%E7%AB%AF%E5%8F%A3%2023%20%E4%B8%8A%E7%9A%84%E4%B8%BB%E6%9C%BA%E7%9A%84%E8%BF%9E%E6%8E%A5%EF%BC%9A%E8%BF%9E%E6%8E%A5%E5%A4%B1%E8%B4%A5.png)
我在 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 route
RHEL 服务器 (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 上的默认网关并检查它是否有效。