温馨提示×

linux telnet速度慢为啥

小樊
50
2026-09-18 17:05:53
栏目: 智能运维

在 Linux 下使用 telnet 连接慢,常见原因和排查思路如下:


一、最常见原因:DNS 反向解析

telnet 在建立连接时,默认会尝试对客户端 IP 做反向 DNS 解析(PTR 记录)。

如果:

  • 服务端无法访问 DNS
  • 或反向解析超时

就会明显卡顿(通常 5~30 秒)。

验证方法

time telnet ip地址 端口

如果直接连 IP 慢,但 ssh -o StrictHostKeyChecking=no 正常,多半是 DNS。

解决方法

1. 服务端关闭反向解析(推荐)

# /etc/hosts
客户端IP   客户端主机名

2. telnet 服务端(通常是 inetd/xinetd)关闭日志解析

# xinetd 服务
service telnet
{
    disable = no
    log_on_success -= HOST
    log_on_failure -= HOST
}

3. 临时测试(客户端)

telnet -N ip 端口

(-N 禁用反向 DNS,部分版本支持)


二、telnet 服务端本身慢(xinetd / inetd)

  • xinetd 启动慢
  • 系统负载高
  • 限制了连接速率

检查

top
uptime
systemctl status xinetd

三、网络问题

1. 防火墙 / 安全组

  • 连接被 DROP(不是 REJECT)
  • 超时重传
telnet ip 端口
# 一直卡住,多半是 DROP

2. 路由 / MTU 问题

ping -M do -s 1472 ip

四、IPv4 / IPv6 尝试顺序问题

telnet 可能先尝试 IPv6 再 IPv4。

测试

telnet ipv4地址 端口

解决

# /etc/gai.conf
precedence ::ffff:0:0/96  100

五、PAM / 登录慢(登录后慢)

如果是登录后慢,不是连接慢:

  • PAM 做了 DNS
  • pam_loginuid
  • NSS 慢
# /etc/nsswitch.conf
hosts: files dns

六、快速排查顺序(推荐)

1. telnet IP 端口        # 是否慢
2. ssh IP                # 是否慢
3. 看服务端 DNS 是否通
4. 关掉反向解析
5. 抓包
   tcpdump -i any port 端口

如果你愿意,可以告诉我:

  • 是 连接慢 还是 登录后慢
  • 服务端是 CentOS / Ubuntu / 嵌入式
  • 用的是 xinetd 还是 systemd

我可以直接给你对应配置文件。

0 踩