在 Debian 上 telnet 连接慢,通常不是 telnet 本身的问题,而是网络/系统配置导致的。下面按常见原因从高到低说明,并给出对应解决办法。
telnet 客户端在连接时,默认会对远端 IP 做反向 DNS 解析,如果 DNS 不通或很慢,就会卡很久。
telnet 192.168.1.100
# 卡几秒到十几秒才出现 Escape character
telnet -N 192.168.1.100
(-N 表示不反向解析)
telnet 192.168.1.100
cat /etc/resolv.conf
如果 DNS 服务器不可达:
nameserver 8.8.8.8
或修改 /etc/nsswitch.conf
hosts: files dns
先走 /etc/hosts
如果 telnet 的是本机或局域网主机,但 /etc/hosts 没配:
127.0.0.1 localhost
可能导致:
vim /etc/hosts
确保至少有:
127.0.0.1 localhost
::1 localhost
Debian 默认可能先尝试 IPv6,失败后回退 IPv4。
telnet example.com 80
# 卡几秒
强制 IPv4:
telnet -4 example.com 80
或禁用 IPv6(不推荐全局):
sysctl -w net.ipv6.conf.all.disable_ipv6=1
检查:
cat /etc/hosts.deny
cat /etc/hosts.allow
iptables -L -n
nft list ruleset
有些规则会 DROP 而不是 REJECT,导致超时慢。
如果 telnet 能连上但登录慢:
可能是:
检查:
vim /etc/pam.d/login
vim /etc/nsswitch.conf
⚠️ telnet 是明文协议,已不推荐 建议用:
nc -v ip port
ssh user@host
telnet -N -4 IP PORT
如果快了 → DNS / IPv6 问题
如果还慢 → 网络 / 防火墙 / 服务端问题
如果你愿意,可以告诉我:
我可以更精确地判断。