在日常运维中,网络管理不只是配好IP和路由就完事了。真正的挑战往往出现在半夜三点,当你被告警电话吵醒,发现核心服务无法访问时。
及时掌握流量异常
某次公司官网突然变慢,排查发现不是服务器负载过高,而是外部爬虫短时间内发起数万次请求。这时候靠肉眼查日志已经来不及。我们用简单的脚本结合iptables做了限制:
<script>
# 统计每秒来自同一IP的请求数,超过20则封禁
watch -n 1 'netstat -an | grep :80 | awk "{print $5}" | cut -d: -f1 | sort | uniq -c | awk "$1 > 20 {print $2}"' | while read ip; do
iptables -A INPUT -s $ip -j DROP
echo "$(date): Blocked $ip" >> /var/log/ddos_block.log
done
</script>
这个小脚本不能替代专业防护,但在突发情况下能争取时间。
善用端口聚合提升带宽利用率
公司内网传输大文件总是卡顿,检查发现是交换机到服务器的单条链路跑满了。后来启用了LACP做链路聚合,两根千兆变两千兆,实际吞吐直接翻倍。配置过程不复杂,关键是要两端都开启:
interface port-channel 1
description Server_Uplink_Bond
switchport mode trunk
!
interface range gigabitethernet 0/1 - 2
channel-group 1 mode active
别忘了服务器这边也要配置对应的bond接口,Linux下用mode=4(802.3ad)最稳妥。
DNS解析出问题别慌
有一次所有服务器突然连不上外网API,ping域名超时,但用IP直连正常。第一反应是网络中断,结果查下来是本地DNS缓存服务器挂了。临时方案是在每台机器的/etc/resolv.conf里加上公共DNS:
nameserver 8.8.8.8
nameserver 114.114.114.114
虽然这不是长久之计,但能让业务先恢复。之后我们加了DNS双节点+健康检查,避免单点故障。
定期备份配置别偷懒
有位同事改完防火墙规则没保存,重启后整个办公网断了一小时。从那以后,我们定了一条铁规:每次变更必须执行备份脚本,并上传到Git仓库。
一个简单的cron任务就能搞定:
0 2 * * * /usr/local/bin/backup-switch-config.sh &> /dev/null
哪怕只是改了个VLAN,也要留档。出了问题能快速回滚,比手动重配快得多。
监控要看得见真实延迟
很多团队只看服务器CPU和内存,却忽略了网络抖动。我们在关键服务器之间部署了mtr定时检测,记录跨机房链路质量:
mtr --report --report-cycles 10 10.20.30.40 >> /logs/mtr_daily.log
连续几天出现高延迟,就能提前发现线路问题,而不是等用户投诉才动手。
网络管理没有太多炫技的操作,更多是细节上的坚持。谁都会配IP,但能在问题爆发前察觉异样,才是实战中的真本事。