CentOS Telnet服务稳定性提升技巧
调整内核参数可优化网络缓冲区、连接队列及拥塞控制,减少丢包和延迟。需修改/etc/sysctl.conf文件,添加或调整以下参数:
net.core.rmem_max = 16777216(接收缓冲区最大值)、net.core.wmem_max = 16777216(发送缓冲区最大值);net.ipv4.tcp_rmem = "4096 87380 16777216"(TCP接收缓冲区分段)、net.ipv4.tcp_wmem = "4096 65536 16777216"(TCP发送缓冲区分段),提升大数据量传输时的缓冲能力。net.ipv4.tcp_max_syn_backlog = 8192(SYN队列长度)、net.core.somaxconn = 65535(监听队列最大值),避免高并发时连接被拒绝。net.ipv4.tcp_congestion_control = cubic(或bbr,根据网络环境选择),优化数据传输效率。sysctl -p使参数生效。增加系统对并发连接的处理能力,避免因资源耗尽导致服务中断:
/etc/security/limits.conf,添加* soft nofile 65535(普通用户软限制)、* hard nofile 65535(普通用户硬限制),提升单个进程可打开的文件描述符数量(Telnet连接需占用文件描述符)。/etc/systemd/system.conf,修改DefaultLimitNOFILE = 65535,确保系统级文件描述符限制生效。通过防火墙过滤无关流量,减少恶意扫描和攻击对服务的影响:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="23" accept'(替换为允许的IP段),仅允许可信IP访问Telnet端口(默认23);然后执行firewall-cmd --reload使规则生效。/etc/sysconfig/iptables,添加-A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 23 -j ACCEPT(替换为允许的IP段),保存后重启iptables服务。Telnet默认端口23易被自动化工具扫描,更改端口可减少不必要的连接尝试:
编辑/etc/services文件,找到telnet 23/tcp和telnet 23/udp,将端口号修改为非标准端口(如2323);然后修改/etc/xinetd.d/telnet中的port参数为新端口,重启xinetd服务(systemctl restart xinetd)。
xinetd是更高效的超级服务器,可实现Telnet的“按需启动”,减少系统资源占用:
yum install xinetd -y。/etc/xinetd.d/telnet,将disable = yes改为disable = no。systemctl restart xinetd,并设置开机启动systemctl enable xinetd。通过工具实时监控Telnet服务的运行状态,快速定位性能瓶颈或异常:
ss -tnlp | grep 23(替换为新端口)查看当前Telnet连接数、状态及进程信息。top、htop查看CPU、内存使用率,vmstat 1查看磁盘I/O和进程调度情况,及时发现资源瓶颈。/var/log/messages或/var/log/syslog中的Telnet相关日志,排查连接失败、超时等问题。保持系统和Telnet服务的最新版本,获取最新的性能优化和安全补丁:
执行yum update centos-release telnet telnet-server xinetd -y更新系统及服务包,减少因软件漏洞导致的服务中断风险。
Telnet传输数据为明文,存在严重的安全隐患,建议使用SSH(Secure Shell)替代:
yum install openssh-server -y。systemctl start sshd,并设置开机启动systemctl enable sshd。ssh username@ip替代telnet ip,SSH提供加密传输和更强的身份验证机制。