在 Ubuntu 上 telnet 连接慢(不是传输慢,而是“建立连接慢 / 卡很久才出提示”)通常是域名解析或网络环境导致的,而不是 telnet 本身的问题。下面按常见原因从高到低说明:
telnet 192.168.1.10
要等 5~30 秒 才出现:
Trying 192.168.1.10...
Connected to 192.168.1.10.
telnet -N 192.168.1.10
(-N 表示不反向解析)
编辑:
sudo vim /etc/resolv.conf
确保 DNS 可用,例如:
nameserver 8.8.8.8
nameserver 114.114.114.114
如果连的是 telnet 服务(23端口):
telnetd 默认会做 reverse DNS/etc/hosts 没有对应条目在 服务端 加:
sudo vim /etc/hosts
192.168.1.20 client
或在 /etc/xinetd.d/telnet 中:
disable = no
并确保没有 log_on_success += HOST
time nslookup 192.168.1.10
如果慢:
systemd-resolve --status
sudo systemctl restart systemd-resolved
或修改:
sudo vim /etc/systemd/resolved.conf
DNS=8.8.8.8
telnet 先尝试 IPv6,再退回 IPv4
telnet -4 192.168.1.10
或禁用 IPv6:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
可排查:
ping 192.168.1.10
mtr 192.168.1.10
如果是:
Connected to xxx.
(等很久才让输入用户名)
这是 login / PAM 在做 DNS 或 NTP 校验
解决:
sudo vim /etc/nsswitch.conf
确保:
hosts: files dns
telnet -N -4 IP
如果这样 立刻连上 → 就是 DNS / IPv6 问题
如果你愿意,可以告诉我:
我可以给你精确到命令的解决办法。