使用ping命令测试目标服务器的IP地址或域名,确认网络连接正常(无丢包、延迟过高)。若ping不通,需排查本地网络配置(如IP地址、子网掩码、默认网关)、路由器设置或目标服务器的网络可达性。
sudo yum install telnet(CentOS 6用sudo yum install telnet-client)。telnet-server包(sudo yum install telnet-server),修改/etc/xinetd.d/telnet文件中的disable = yes为disable = no,然后重启xinetd服务(sudo systemctl start xinetd,CentOS 7及以上用sudo systemctl enable telnet.socket)。firewalld开放Telnet端口(默认23):sudo firewall-cmd --permanent --add-service=telnet,然后重载防火墙:sudo firewall-cmd --reload。iptables添加规则:sudo iptables -I INPUT -p tcp --dport 23 -j ACCEPT,保存规则(sudo service iptables save)并重启服务(sudo service iptables restart)。若SELinux处于Enforcing模式,可能阻止Telnet连接。可临时关闭SELinux测试(sudo setenforce 0),若问题解决,需永久修改:编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=permissive,然后重启系统。
使用netstat或ss命令确认目标服务器的Telnet服务是否在监听23端口:
sudo netstat -tuln | grep 23
# 或
sudo ss -tuln | grep 23
若无输出,说明Telnet服务未正确启动,需重新检查服务配置。
若目标服务器与客户端处于同一内网且使用NAT,可能因tcp_timestamps开启导致SYN包被忽略(详见搜索结果中内核参数分析)。需修改/etc/sysctl.conf文件,添加或修改以下参数:
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_recycle = 0
然后执行sudo sysctl -p使参数生效。
若Telnet仍超时,尝试用wget或curl测试目标服务器的其他服务(如HTTP),确认是否为Telnet服务本身问题。若其他方式也超时,需进一步排查目标服务器的应用层配置。