Linux 下 telnet 连接慢,通常不是网络本身慢,而是连接建立前后做了一些“会卡住”的事情。常见原因和对应解决办法如下:
telnet 192.168.1.10
要等 几秒到十几秒 才出现 Connected to ...
telnet 在连接后,会尝试对对端 IP 做反向 DNS 解析(PTR 记录):
/etc/resolv.conf 配置不合理就会一直等到超时
telnet -N 192.168.1.10
(-N 表示不反向解析)
编辑 /etc/resolv.conf 或 /etc/hosts:
192.168.1.10 target
然后:
telnet target
disable = no
server_args = -n
不仅是 telnet,ssh、ping 也慢
cat /etc/nsswitch.conf
常见问题:
hosts: files dns
但如果 dns 很慢,就会卡
hosts: files [NOTFOUND=return] dns
telnet 先尝试 IPv6,失败再 IPv4
系统启用了 IPv6,但网络不支持
telnet -4 192.168.1.10
sysctl -w net.ipv6.conf.all.disable_ipv6=1
如果:
可能原因:
/etc/hosts 不完整.bashrc 里有网络操作)telnet localhost
如果也慢,问题在服务端
可用:
tcpdump -i eth0 port 23
⚠️ telnet 明文传输,生产环境建议:
sshnc / socattelnet -Ntelnet -4/etc/resolv.conf如果你愿意,可以贴一下: