centos cleanup如何优化网络设置
小樊
35
2025-12-17 15:16:02
CentOS Cleanup 的网络设置优化指南
一 基础网络配置与连通性
- 确认网卡与链路状态:使用命令查看接口与地址,例如 ip addr;必要时用 nmcli device status 检查由 NetworkManager 管理的连接状态。
- 配置静态 IP(传统 ifcfg 文件,适用于 CentOS 7/8 的最小化安装):编辑文件 /etc/sysconfig/network-scripts/ifcfg-ens33(接口名以实际为准),确保包含:DEVICE=ens33、BOOTPROTO=static、ONBOOT=yes、IPADDR=你的IP、NETMASK=子网掩码、GATEWAY=网关、DNS1=主DNS、DNS2=备DNS;保存后执行 systemctl restart NetworkManager 或 systemctl restart network 使配置生效。
- 使用 NetworkManager 配置(推荐方式):nmcli con add type ethernet con-name eth0 ifname ens33 ipv4.method manual ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.1 ipv4.dns “223.5.5.5 223.6.6.6” autoconnect yes mtu 1452;随后 nmcli con reload eth0 与 nmcli con up eth0 使配置生效。
- 验证:ping 网关与上游 DNS,执行 nslookup example.com 检查解析;必要时检查路由表 route -n 与链路状态 ethtool ens33。
二 内核网络参数优化
- 编辑 /etc/sysctl.conf 或新建 /etc/sysctl.d/99-network.conf,按需加入以下参数并 sysctl -p 生效:
- 连接与队列:net.core.somaxconn=4096;net.ipv4.tcp_max_syn_backlog=4096;net.core.netdev_max_backlog=5000。
- 端口与回收:net.ipv4.ip_local_port_range=1024 65535;net.ipv4.tcp_tw_reuse=1;net.ipv4.tcp_fin_timeout=30;net.ipv4.tcp_max_tw_buckets=2000000。
- 缓冲区与窗口: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_window_scaling=1。
- 拥塞控制:net.ipv4.tcp_congestion_control=bbr(内核支持时);net.core.default_qdisc=fq。
- 注意:net.ipv4.tcp_tw_recycle 在 NAT/负载均衡前禁用(值为 0),避免连接异常。
- 文件描述符与本地端口:在 /etc/security/limits.conf 增加 * soft nofile 655350 与 * hard nofile 655350,并确认 systemd 服务继承(如服务单元设置 LimitNOFILE=)。
- 持久化与回滚:所有 sysctl 改动写入配置文件并使用 sysctl -p 加载;变更前备份原始文件,变更后在测试环境验证。
三 多队列与 offload 调优
- 确认网卡多队列支持:ethtool -l ens33;如支持,启用多队列与常用 offload:ethtool -L ens33 combined 4(队列数按实际 CPU/网卡队列匹配);ethtool -K ens33 tso on gso on gro on rx on tx on(开启硬件分段/通用分段/聚合与接收/发送 offload)。
- 目的:提升高并发与高带宽场景下的网络吞吐与 CPU 利用率,降低软中断压力。
四 DNS 与连接管理优化
- DNS 优化:优先使用稳定低时延的公共 DNS(如 223.5.5.5/223.6.6.6、114.114.114.114、8.8.8.8),在 ifcfg 或 NetworkManager 的 ipv4.dns 中配置主备;必要时在 /etc/resolv.conf 设置 nameserver(注意某些环境会被网络服务覆盖)。
- 减少 SSH 连接延迟:编辑 /etc/ssh/sshd_config,设置 UseDNS no;按需调整 GSSAPIAuthentication、LoginGraceTime、MaxStartups 等参数并重启 sshd。
- 连接跟踪与端口规划:高并发短连接服务适当增大本地端口范围(ip_local_port_range),并关注 conntrack 表项使用(如部署于防火墙/NAT 前后)。
五 监控验证与回滚
- 实时监控:部署 iftop、nload 观察带宽与流量排行;用 ss -s、netstat -s 查看连接状态与重传率;必要时用 sar -n DEV 1 检查历史网卡利用率。
- 基线对比:优化前后记录基线指标(如 RTT、P95/P99 延迟、pps、丢包率、重传率、CPU 软中断占比),结合业务压测验证。
- 回滚方案:保留 ifcfg 与 sysctl 配置备份;如出现异常,使用 nmcli con reload/down/up 快速恢复网络,或 sysctl -p 回滚到备份的 sysctl 配置。