1.
准备工作与环境确认
步骤1:登录控制面板或通过SSH确认服务器型号、操作系统版本(例如CentOS7/8或Ubuntu20.04);步骤2:确认VOSENT提供的公网IP、网卡名称(eth0/ens3)、BGP/多线说明文档;步骤3:备份现有配置:sudo tar czvf /root/config-backup-$(date +%F).tgz /etc /root/;步骤4:在本地准备测试机器用于外部连通性测试(mtr、iperf3、hping3)。
2.
多线路由和策略路由配置
步骤1:查看当前路由 ip route show;步骤2:为不同运营商/出口建立路由表,编辑 /etc/iproute2/rt_tables 增加表号如 201 telcoA、202 telcoB;步骤3:添加路由和规则:ip route add default via 1.1.1.1 dev eth0 table 201;ip rule add from 10.0.0.0/24 table 201;步骤4:验证 ip rule show 和 ip route show table 201;步骤5:结合 keepalived 或 bird/frr 做本地故障切换和BGP会话。
3.
BGP/Anycast 与运营商策略
步骤1:若VOSENT提供AS和BGP能力,申请AS号或使用其Anycast服务;步骤2:通过FRRouting(frr)配置BGP邻居示例:在 /etc/frr/bgpd.conf 中配置 neighbor x.x.x.x remote-as NNN;步骤3:使用BGP community 控制路由宣传优先级;步骤4:测试路由收敛:使用looking glass或bgp.he.net查看公告;步骤5:优化MED/LOCAL_PREF以偏向延迟最低的链路。
4.
负载均衡与流量分发(L3/L4)
步骤1:使用ipvs或haproxy做四层负载分发,安装 ipvsadm 或 keepalived+ipvs:apt install ipvsadm keepalived;步骤2:设置虚拟IP并将流量按源IP、端口或权重分发到不同出口;步骤3:示例:ipvsadm -A -t 公网IP:80 -s rr;ipvsadm -a -t 公网IP:80 -r 10.0.0.2:80 -m;步骤4:结合conntrack和timeout调优,避免长连接压垮服务器。
5.
内核网络参数与TCP调优
步骤1:临时调整并持久化到 /etc/sysctl.conf;关键项示例:net.ipv4.tcp_fin_timeout=15;net.ipv4.tcp_tw_reuse=1;net.core.somaxconn=1024;net.ipv4.tcp_max_syn_backlog=4096;net.ipv4.tcp_syncookies=1;步骤2:生效命令 sudo sysctl -p;步骤3:为大并发优化文件描述符:ulimit -n 200000,并在 /etc/security/limits.conf 持久化。
6.
防护规则配置(SYN、UDP、ICMP 限制)
步骤1:启用SYN cookies:sysctl -w net.ipv4.tcp_syncookies=1;步骤2:使用iptables/nftables做速率限制:iptables -A INPUT -p tcp --syn -m limit --limit 100/s --limit-burst 200 -j ACCEPT;步骤3:限制ICMP:iptables -A INPUT -p icmp -m limit --limit 10/s -j ACCEPT;步骤4:对UDP关键端口(DNS、游戏)使用hashlimit或xt_recent做源速率限制;步骤5:结合VOSENT高防面板开启清洗/黑洞策略。
7.
流量清洗与黑洞策略协调
步骤1:与VOSENT客服确认高防清洗触发阈值和黑洞范围;步骤2:设置阈值规则:在DDoS来临时优先触发清洗而不是全网黑洞;步骤3:建立自动化告警:使用Zabbix/Prometheus监控流量,当流量异常调用API触发清洗;步骤4:演练流程:模拟攻击(小流量hping)观察清洗响应。
8.
连接追踪与状态表优化
步骤1:查看conntrack当前设置 conntrack -L | wc -l;步骤2:调整 conntrack 最大值:sysctl -w net.netfilter.nf_conntrack_max=2621440;步骤3:设置超时:/etc/sysctl.conf 中增加 net.netfilter.nf_conntrack_tcp_timeout_established=86400;步骤4:注意内存占用,监控 /proc/sys/net/netfilter/nf_conntrack_count。
9.
QoS 与链路优先级设置
步骤1:用tc给不同流量打标:tc qdisc add dev eth0 root handle 1: htb default 30;步骤2:建立class并用iptables mark 标记流量:iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 10;步骤3:tc filter 根据 mark 分配带宽和优先级;步骤4:在多链路场景下对敏感业务(游戏、语音)设置高优先级。
10.
监控与故障检测流程
步骤1:部署实时监控(Prometheus + node_exporter + blackbox exporter)收集延迟、丢包、带宽;步骤2:设置阈值告警:丢包>5% 或 RTT>200ms 触发告警并发送至运维群;步骤3:脚本化故障切换:当主链路丢包持续超过30s,调用 ip route replace 切换出口并记录日志;步骤4:定期做链路压力测试(iperf3)并保留历史数据。
11.
日常维护与安全检查清单
步骤1:每周检查BGP邻居和路由表是否有异常;步骤2:每月更新系统与防护软件(apt/yum update)并重启关键服务;步骤3:定期清理黑名单、优化iptables规则顺序减少CPU消耗;步骤4:保存并验证配置备份,确保可在故障时快速恢复。
12.
测试与演练:验证优化效果
步骤1:使用mtr、ping在不同运营商出口做延迟和丢包统计;步骤2:通过外部节点跑iperf3并记录吞吐;步骤3:模拟高并发连接(wrk/ab)测试应用在多线切换下的可用性;步骤4:根据测试结果回退或微调路由权重、内核参数。
13.
问:如何判断是否需要在VOSENT香港节点开启Anycast?
答:如果业务面向全球且希望优化全球或区域就近路由与抗攻击能力,Anycast有明显好处。判断方法:查看用户分布(CDN统计)、多区域延迟对比、当前单点DDoS历史。若全球用户比重大且延迟/丢包对体验影响明显,建议启用Anycast并与VOSENT沟通路由策略。
14.
问:在多线环境下发生大流量攻击,优先级该如何设置?
答:优先策略应为:1) 启动清洗服务保护主业务端口;2) 在本地用iptables限速并丢弃已知攻击源;3) 若清洗效果不足,分流到备用链路或采取部分黑洞;4) 保持与VOSENT运维沟通,依据业务优先级逐步扩大或收缩防护范围。
15.
问:有哪些常见的快速排查命令和步骤?
答:常用步骤:1) 检查链路与路由:ip route show;2) 丢包与延迟:mtr -r -c 100 目标IP;3) 流量统计:iftop 或 ip -s link;4) 连接状态:ss -tunap;5) 防护日志:查看防火墙、VOSENT面板与syslog,定位流量峰值时刻并对照路由变更记录。
来源:vosent香港高防服务器在多线网络环境中的表现优化方法