温馨提示×

Debian telnet慢怎么办

小樊
39
2026-08-14 02:33:26
栏目: 智能运维

Debiantelnet 连接慢,通常不是 telnet 本身的问题,而是 DNS 反向解析 / 网络 / 系统配置 导致的。下面按常见原因给你排查和解决思路。


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

现象

  • telnet 刚连上时会卡几秒
  • 登录前等待时间长
  • ssh 也可能慢

原因

telnetd 默认会对客户端 IP 做 反向 DNS 解析,如果 DNS 不通或慢,就会卡住。

解决方法(推荐)

✅ 方法 1:禁用 telnet 的反向解析

编辑 /etc/inetd.conf(如果使用 inetd):

sudo nano /etc/inetd.conf

找到 telnet 行,例如:

telnet  stream  tcp  nowait  root  /usr/sbin/tcpd  /usr/sbin/in.telnetd

改为:

telnet  stream  tcp  nowait  root  /usr/sbin/tcpd  /usr/sbin/in.telnetd -D

或更彻底(不推荐长期使用,仅测试):

telnet  stream  tcp  nowait  root  /usr/sbin/in.telnetd  in.telnetd -h

然后重启 inetd:

sudo systemctl restart inetd

✅ 方法 2:修改 /etc/hosts(最常用)

把客户端 IP 加到 hosts:

sudo nano /etc/hosts

例如:

192.168.1.100  client-pc

✅ 方法 3:禁用 DNS 解析(系统级)

编辑:

sudo nano /etc/nsswitch.conf

找到:

hosts: files dns

改为:

hosts: files

⚠️ 注意:这会影响所有 DNS 解析,不建议服务器长期使用。


二、systemd 反向解析问题(Debian 9+)

如果你用的是 systemd + telnet socket

sudo nano /lib/systemd/system/telnet.socket

[Socket] 段添加:

NoDelay=true

然后:

sudo systemctl daemon-reload
sudo systemctl restart telnet.socket

三、IPv6 导致慢(很常见)

现象

  • 卡在连接阶段
  • 本地网络没有 IPv6

解决

禁用 IPv6(临时):

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

永久禁用(Debian):

sudo nano /etc/sysctl.conf

添加:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

四、防火墙 / 网络问题

检查

ping 目标IP
telnet 目标IP 23

可能原因

  • 中间有防火墙做 DNS 检查
  • 路由异常
  • 网卡 MTU 不匹配

五、确认 telnet 服务本身是否慢

在服务器本地测试:

telnet localhost
  • ✅ 如果很快 → 网络 / DNS 问题
  • ❌ 如果也慢 → telnetd 配置问题

六、强烈建议(安全提醒)

⚠️ telnet 是明文协议,不建议在生产环境使用

推荐替代方案:

  • ssh
  • socat
  • nc(临时调试)

七、快速排查清单(照着做)

# 1. 本地测试
telnet localhost

# 2. 看 DNS
cat /etc/resolv.conf

# 3. 改 hosts
# 4. 禁用 IPv6
# 5. 重启服务

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

  • Debian 版本(cat /etc/debian_version
  • 客户端慢 还是 服务端慢
  • 是否使用 inetd / systemd

我可以给你 精确到命令级别 的方案。

0