CentOS 上优化 Telnet 性能的可行方案
一 先排除连接慢的根因
- 关闭或优化 DNS 反向解析:在 /etc/resolv.conf 中注释无效 nameserver,或在 /etc/hosts 为常用客户端添加 IP-主机名 映射,可显著缩短登录前的等待。
- 仅放行必要流量:用 firewalld 精确放行 23/TCP,避免全量放行带来的额外检查与排队。
- 服务托管方式:传统 xinetd 托管时,可在 /etc/xinetd.d/telnet 中调整服务参数(如超时、并发),减少资源争用与连接排队。
以上措施常能立竿见影地改善“能连上但很慢”的现象。
二 内核与 TCP 栈调优
- 增大套接字缓冲区与内存上限,提升高带宽/高延迟链路的吞吐与稳定性:
- net.core.rmem_max = 16777216
- net.core.wmem_max = 16777216
- net.ipv4.tcp_rmem = 4096 87380 16777216
- net.ipv4.tcp_wmem = 4096 65536 16777216
- net.ipv4.tcp_mem = 786432 1048576 26777216
- 启用与选择拥塞控制算法(如 cubic 或 bbr):
- sysctl -w net.ipv4.tcp_congestion_control=cubic
- 开启并优化 TCP Keepalive,减少空闲掉线与异常重连:
- net.ipv4.tcp_keepalive_time = 60
- net.ipv4.tcp_keepalive_intvl = 10
- net.ipv4.tcp_keepalive_probes = 6
- 启用窗口缩放与 SACK 等特性,改善链路利用率:
- net.ipv4.tcp_window_scaling = 1
- net.ipv4.tcp_sack = 1
- 应用生效:执行 sysctl -p。
提示:数值需结合业务与内存容量逐步调优,避免一次性设置过大。
三 服务端与并发优化
- 若由 xinetd 托管 Telnet,可在 /etc/xinetd.d/telnet 中调整关键参数(示例):
- instances = 100(最大并发连接数,按实际内存与负载设定)
- timeout = 600(会话空闲超时,避免僵尸会话占用)
- 修改后重启服务:
- 防火墙仅放行必要端口:
- firewall-cmd --permanent --add-port=23/tcp && firewall-cmd --reload
这些调整可减少连接排队、提升并发处理能力,并降低被滥用风险。
四 架构与安全层面的优化建议
- 优先使用 SSH 替代 Telnet:SSH 提供加密通道,且可通过连接复用、密钥登录等手段在实际体验与安全性上更优;如条件允许,建议禁用 Telnet 并仅保留 SSH。
- 如业务允许,尽量采用连接复用或连接池,减少频繁建立/销毁连接的开销。
- 加强访问控制与最小权限:限制可登录用户、禁用 root 的 Telnet 登录(如在 /etc/securetty 中移除相关条目),并仅开放必要来源 IP。
- 网络侧优化:选用更高性能的网卡与交换设备、保障链路质量,减少丢包与重传。
以上做法在提升安全性的同时,往往也能带来更稳定的交互体验。