1.
前期准备:选购与基础参数确认
- 选供应商:选择在香港有PoP并提供高防(高带宽清洗)能力的IDC或云厂商(例:阿里云香港、高防云、AWS香港合作、专业高防厂商)。
- 必选参数:清洗带宽(建议至少为业务峰值的3倍)、防护类型(SYN/UDP/HTTP清洗)、BGP Anycast支持、可保护IP数量、最大并发连接数(CPS/CC)与SLA。
- 购买建议:先购买按配置试用或月付,部署前确认是否需开通高防包或DDoS防护服务,并获取清洗阈值与演练接口。
2.
系统与网络基础配置(步骤式)
- 安装操作系统:推荐使用CentOS 7/8或Ubuntu 20.04,按IDC控制台装机或用镜像。
- 更新系统与安装常用工具:sudo yum update -y(或 sudo apt update && sudo apt upgrade -y);安装net-tools, htop, iproute2, curl。
- 配置网卡:编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 或 /etc/netplan/*.yaml,设置静态IP、网关、DNS,重启网络:systemctl restart network(或 netplan apply)。
3.
内核网络参数调优(关键命令)
- 临时调整(立即生效):sudo sysctl -w net.ipv4.tcp_syncookies=1;sudo sysctl -w net.ipv4.tcp_max_syn_backlog=4096;sudo sysctl -w net.netfilter.nf_conntrack_max=262144。
- 持久生效:将以下加入 /etc/sysctl.conf:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_fin_timeout = 30
net.netfilter.nf_conntrack_max = 262144
- 应用:sudo sysctl -p
4.
防火墙与流量过滤策略
- 基本iptables规则:屏蔽无效包与限制连接速率,示例(CentOS/iptables):
sudo iptables -F
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 5 -j REJECT
sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/s --limit-burst 100 -j ACCEPT
- 推荐使用云厂商WAF/防护面板与ACL,避免在内网暴露管理端口,SSH配置为非默认端口并启用密钥登录。
5.
Web服务(Nginx)与连接优化
- 安装:sudo yum install nginx -y 或 sudo apt install nginx -y;启动并开机自启。
- 推荐配置片段(/etc/nginx/nginx.conf)调整:
worker_processes auto;
worker_rlimit_nofile 200000;
events { worker_connections 65536; multi_accept on; }
http { keepalive_timeout 15; sendfile on; tcp_nopush on; tcp_nodelay on; }
- 重载:sudo nginx -t && sudo systemctl reload nginx
6.
应用层防护:WAF、速率限制与缓存
- 部署WAF:使用云WAF或开源ModSecurity与Nginx结合,配置常见规则阻挡HTTP Flood、SQL注入。
- Nginx限速示例(location):limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; limit_conn_zone $binary_remote_addr zone=addr:10m; 在location内引用 limit_req zone=one burst=20 nodelay; limit_conn addr 10;
- 使用缓存(Varnish或Nginx proxy_cache)减轻后端压力,静态内容尽量走CDN。
7.
高可用与弹性伸缩策略
- 内网部署多台应用节点并使用LVS/HAProxy或云负载均衡;Keepalived配合VRRP实现主动/被动切换。
- 自动扩容:在云上配置监控告警(CPU、连接数)触发弹性组扩容,结合自动加入负载均衡池的脚本。
- 备份:定期备份配置(rsync/Ansible),数据库使用主从或集群,并测试恢复流程。
8.
监控、告警与演练步骤
- 部署监控:Prometheus + node_exporter + Grafana 监控网络带宽、conntrack、负载、nginx状态。
- 告警:设置阈值(带宽使用率、连接数、错误率)并通过企业微信/邮件告警。
- 演练:先在内部或供应商提供的清洗演练环境进行压力测试,使用wrk/ab进行HTTP并发测试(示例:wrk -t12 -c200 -d60s http://yourdomain/),或向供应商请求DDoS模拟,不建议在公网对第三方发起攻击性测试。
9.
针对业务场景的配置推荐(实操要点)
- 游戏服务器(高并发UDP/低延迟):选择支持UDP清洗与低延迟线路,实例:带宽大、CPU中高、开启udp_conntrack调优;在内核增加 net.core.rmem_max / wmem_max,使用专线或Anycast。
- 电商/支付(高可用与安全):使用WAF+严格TLS、CDN缓存静态页面、后端应用限流、数据库主从与读写分离,建议开启应用层验证码和风控。
- 流媒体(大带宽):优先带宽与清洗能力,使用切片缓存(CDN+Edge)和流量分发策略,防止点播被刷。
- API服务(短连接高QPS):适当增加worker_connections、调高keepalive与限流策略,使用熔断与队列。
10.
常用排错命令与查看项(一步步操作)
- 查看连接数与端口占用:ss -tunap | grep :80;查看conntrack:sudo cat /proc/sys/net/netfilter/nf_conntrack_count。
- 查看iptables统计:sudo iptables -L -v -n;查看内核参数:sysctl net.ipv4.tcp_max_syn_backlog。
- 日志分析:tail -f /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn(用于快速识别单IP请求量)。
11.
答:首先使用供应商提供的攻击演练或清洗测试接口;其次在受控环境用wrk/ab进行并发压测(wrk -t8 -c200 -d30s URL)观察带宽、CPU、错误率是否由云防护平滑处理;最后观察控制台清洗告警与日志,确保超过阈值时流量导向清洗节点。
12.
问:配置高防后对延迟有影响吗,如何优化?
答:Anycast或通过清洗节点可能增加少量跳数,优化方法:选择靠近用户的香港POP、使用UDP加速或专线(如果业务要求严格低延迟),在内网使用Keepalive和TCP参数调优减少重建连接开销。
13.
问:小型电商如何以低成本配置香港高防服务器?
答:推荐按需购买清洗包(burst模式)+按小时计费的云主机,开启CDN缓存静态资源并启用云WAF基础规则,内网做应用限流和缓存,监控关键指标并在促销前短期提升防护阈值;这样成本可控同时具备基础防护能力。
来源:香港高防服务器配置详解与不同业务场景推荐