温馨提示×

为什么linux telnet慢

小樊
41
2026-09-15 18:12:25
栏目: 智能运维

Linux 下 telnet 连接慢,通常不是网络本身慢,而是连接建立前后做了一些“会卡住”的事情。常见原因和对应解决办法如下:


一、最常见原因:DNS 反向解析(90% 的情况)

现象

telnet 192.168.1.10

要等 几秒到十几秒 才出现 Connected to ...

原因

telnet 在连接后,会尝试对对端 IP 做反向 DNS 解析(PTR 记录):

  • 若 DNS 服务器不可达
  • 或没有 PTR 记录
  • /etc/resolv.conf 配置不合理

就会一直等到超时

解决办法

方法 1:禁用 telnet 的 DNS 解析

telnet -N 192.168.1.10

-N 表示不反向解析)

方法 2:在客户端禁用 DNS

编辑 /etc/resolv.conf/etc/hosts

192.168.1.10  target

然后:

telnet target

方法 3:服务端禁用反向解析(如果控制服务端)

  • xinetd 管理 telnet:
disable = no
server_args = -n

二、/etc/nsswitch.conf 配置不合理

现象

不仅是 telnet,ssh、ping 也慢

检查

cat /etc/nsswitch.conf

常见问题:

hosts: files dns

但如果 dns 很慢,就会卡

优化

hosts: files [NOTFOUND=return] dns

三、IPv4 / IPv6 双栈问题

现象

telnet 先尝试 IPv6,失败再 IPv4

原因

系统启用了 IPv6,但网络不支持

解决

方法 1:强制 IPv4

telnet -4 192.168.1.10

方法 2:禁用 IPv6(不推荐长期)

sysctl -w net.ipv6.conf.all.disable_ipv6=1

四、telnet 服务端响应慢

如果:

  • 连接建立了
  • 登录提示很慢

可能原因:

  • PAM 做 DNS 解析
  • /etc/hosts 不完整
  • login shell 启动慢(.bashrc 里有网络操作)

检查

telnet localhost

如果也慢,问题在服务端


五、网络层问题(较少见)

  • MTU 不匹配
  • 防火墙半开连接(SYN 被丢)
  • 中间设备限流

可用:

tcpdump -i eth0 port 23

六、补充:telnet 本身已不推荐

⚠️ telnet 明文传输,生产环境建议:

  • ssh
  • nc / socat

总结(最快排查顺序)

  1. telnet -N
  2. telnet -4
  3. 检查 /etc/resolv.conf
  4. 检查 DNS 反向解析

如果你愿意,可以贴一下:

  • 慢的具体阶段(连接前 / 连接后)
  • 客户端和服务端系统版本
    我可以帮你精确定位。

0