欧洲VPS高防怎么配
来源: 飞翔小编 2026/11/5 22:21:33 浏览量:0
一、欧洲VPS被攻击的四种典型表现

在动手配置之前,先学会识别攻击。 因为不同类型的攻击需要完全不同的处置手段,用错方法会让你花很多钱却没解决问题。
第一种表现:带宽被打满,但 CPU 和内存都很闲。
# 看 CPU 使用率,攻击时这个数字往往很低
top -bn1 | grep "Cpu(s)"
# 看网卡流量,这是带宽型攻击的特征
sudo sar -n DEV 1 5
# 看连接数,攻击时 SYN_RECV 会堆积
sudo ss -s
这是典型的流量型攻击(DDoS)。 特征是:入站流量瞬间打满端口带宽,但你的服务进程根本没有时间处理请求。表现给用户看就是「打开很慢」或者「一直转圈」,而服务器控制台里看起来「一切正常」——因为 CPU 确实正常。 这种情况需要的是流量清洗,不是升级配置。
第二种表现:CPU 被打满,进程数暴涨。
# 看谁的 CPU 占用最高
ps aux --sort=-%cpu | head -20
# 看进程总数
ps aux | wc -l
# 看是否有大量异常的 PHP/Nginx worker
ps aux | grep -c "php-fpm"
ps aux | grep -c "nginx: worker"
这是连接耗尽型攻击或者放大攻击。 特征是:进程数被瞬间打满,服务器响应极慢但带宽占用看起来不高。最常见的场景是 HTTP 洪水——攻击者用大量并发请求打你的 Web 服务,Nginx 会为每个连接创建 worker 进程,进程表很快就被撑爆。
第三种表现:正常用户突然访问不了,但服务器看起来完全正常。
# 从外部测试能不能连通
curl -s -o /dev/null -w "%{http_code} %{time_total}s\n" --connect-timeout 5 http://你的域名
# 看防火墙是否在丢包(这是黑洞路由的表现)
sudo ufw status verbose
sudo nft list ruleset 2>/dev/null | head -30
这说明攻击流量已经被上游清洗掉了,而你的 IP 因为被判定为攻击源或整个网段被拉黑。 这种情况叫「被误封」或「被连带」,常见于共享 IP 段或者同机房的其他机器被攻击导致整个段被黑洞。遇到这种情况,先确认是不是自己被攻击了,再去问服务商。
第四种表现:特定服务异常,其他服务正常。
# 查某个服务的日志
sudo journalctl -u nginx --since "1 hour ago" --no-pager | tail -50
# 查系统日志里的异常
sudo grep -iE "segfault|oom|killed process" /var/log/syslog | tail -20
# 看是否有针对特定路径的密集请求
sudo awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20
这通常是应用层的攻击:针对某个接口的暴力请求、针对某个登录接口的爆破、或者针对某个存在漏洞的路径的利用尝试。这一类攻击不需要高防,需要的是应用层的限速和 WAF 规则。
区分这四种表现是第一步。 把判断结果记下来,处置方式完全不同:
| 表现 | 攻击类型 | 该找谁 | 该做什么 |
|---|---|---|---|
| 带宽满,CPU 闲 | 流量型 | 服务商 / 上游 | 要流量清洗或换高防 IP |
| CPU 满,进程暴涨 | 连接耗尽 | 服务商 + 自己 | 要清洗,同时做应用层限速 |
| 一切正常但访问不了 | 被连带 / 被封 | 服务商 | 查 IP 段状态,申请解封 |
| 特定服务异常 | 应用层 | 自己 | 查日志、加限速、加规则 |
二、流量清洗与黑洞路由:两种完全不同的机制

这两个词经常被混用,但机制和效果完全不同。
黑洞路由(Blackhole Routing)的做法是:检测到攻击流量后,直接把受攻击的 IP 的流量丢弃,不转发到你的服务器。
- 优点:成本极低,不需要额外带宽资源
- 缺点:你的服务器在这段时间是完全不可访问的,合法用户也一样访问不了
- 适用场景:允许短时间中断的业务,比如备份节点、测试环境
流量清洗(Traffic Scrubbing / Cleaning)的做法是:检测到攻击流量后,把流量引到清洗中心,由清洗中心识别并丢弃攻击包,把干净的流量再转发到你的源站。
- 优点:合法用户的访问基本不受影响,这是它的核心价值
- 缺点:成本高,清洗中心按流量计费,攻击峰值越大账单越高
- 适用场景:所有对外提供服务的生产业务
普通高带宽主机(Scrubbing on Larger Pipes)的做法是第三种:直接给你一台带宽特别大的机器,比如 10Gbps 端口。
- 优点:配置简单,不需要额外的清洗服务
- 缺点:这是「用带宽硬扛」,不是清洗。 攻击流量达到 10Gbps 时你照样挂;而且这些流量全是无效流量,你的业务进程一样收不到请求
- 适用场景:轻度攻击、或者作为自建清洗方案的基础
这三者的差别可以用一个场景说明。 假设你被 5Gbps 的 UDP 洪水攻击:
- 黑洞路由:你的服务器 0 流量(省了带宽钱),但网站完全打不开
- 流量清洗:清洗中心扛下 5Gbps,滤掉攻击包后把正常的几 Mbps 转发给你,网站正常访问,但清洗费按 5Gbps 计费
- 高带宽主机:你的 10Gbps 端口吃进 5Gbps 攻击流量,这 5Gbps 全是垃圾,你的服务还是没响应,而且这 5Gbps 是从你套餐里出的
「高带宽主机不等于高防」是这一节最重要的结论。 很多人在被打时第一反应是「换个带宽大的机器」,结果钱花了、攻击流量照样打满、该挂还是挂。
怎么判断一个商家说的是哪一种?问三个问题:
1. 攻击期间我的 IP 会不会被拉黑名单? 如果会,那是黑洞路由
2. 清洗是免费的还是按流量计费的? 计费的话,超出套餐的清洗流量怎么算钱
3. 清洗中心到我的源站这段链路带宽是多少? 如果清洗中心到源站只有 1Gbps,而攻击有 5Gbps,清洗中心也会被打满
第三个问题最关键。 很多所谓的清洗服务,清洗中心到源站的链路带宽有限,攻击流量超过这个值时,清洗中心自己就成了瓶颈。
三、高防 IP 和高防服务器的区别

这两个东西经常被混着卖,但适用场景完全不同。
高防服务器(高防主机):整台机器带清洗能力。你正常用 SSH 登录、部署应用,就像用普通 VPS 一样,只是多了防护。适合你的服务本来就在这台机器上、没有其他依赖的情况。
高防 IP(独立 IP 解析):你把域名解析到这个高防 IP,高防 IP 前面有清洗中心,清洗后的流量转发到你真正的源站服务器。
- 源站 IP 必须是隐藏的,DNS 里不能出现你的真实 IP,否则攻击者直接打源站
- 适合源站已经在别处(阿里云、腾讯云、其他机房)的场景
- 适合你需要保留原有服务器、只加一层防护的情况
两者的成本结构完全不同。 高防服务器是把防护成本摊进机器月费;高防 IP 通常单独计费,且清洗流量超量后按量付费。
选哪种,看你的源站在哪:
| 你的情况 | 该选 |
|---|---|
| 源站就是这台 VPS,域名直接解析到它 | 高防服务器 |
| 源站在云厂商的机器上,想加一层防护 | 高防 IP |
| 源站在国内机房,海外访问是主要问题 | 先换节点,再谈防护 |
| 源站IP 已经公开泄露 | 先换 IP,再谈防护 |
如果你的源站 IP 已经泄露了,高防 IP 就没有意义。 攻击者会绕过清洗直接打源站。解决顺序是:先换 IP,再上防护。
怎么检查你的源站 IP 是否已经泄露:
# 查询域名当前解析的 IP
dig +short 你的域名
# 查看历史解析记录(有些工具能查到历史 IP)
# 在 SecurityTrails 或 DNSDumpster 上输入域名查询
# 检查邮件头里的源站 IP(如果你用自己服务器发信)
sudo grep -i "Message-ID\|Received" /var/log/mail.log | head -5
一个常见的安全建议是:Web 服务和邮件服务不要用同一个 IP。 因为邮件头里的 Received 字段会暴露源站 IP,攻击者通过发送一封邮件就能拿到你的服务器地址。
四、防护等级怎么验证:自己动手测

商家说「10G 防御」是什么意思,你必须自己验证。 这一节给出验证方法。
首先要明确「10G 防御」的含义:通常指清洗中心能处理的峰值流量是 10Gbps。 超过这个值,超出部分通常会被直接丢弃(相当于黑洞),你的源站压力会突然恢复但用户完全访问不了。
验证方法一:用压测工具模拟攻击(谨慎使用)。
注意:请只对你自己购买的机器做这个测试,并且先和服务商确认不会被封号。 在自己机器上做流量生成是标准做法,但如果服务商看到你的 IP 在往公网发大流量,可能会触发自动封禁。
# 用 hping3 做 UDP 洪水测试(在自己机器上,向公网测试地址发)
# 必须用你自己的机器,且流量要小
sudo hping3 -c 1000 -d 1200 -S -p 80 你的服务器IP
# 用 ab 或 wrk 做 HTTP 洪水测试(这个是合法流量,压力小)
wrk -t 4 -c 200 -d 30s http://你的域名
wrk 是最安全的测试工具,因为它是完整的 HTTP 请求,不是畸形包,不会触发大多数防攻击系统的畸形包检测。
验证方法二:找第三方测试服务。 很多服务提供免费或付费的抗压测试,你可以用自己的服务器 IP 发起测试,让服务商侧观察清洗效果。这是最接近真实攻击的验证方式。
验证方法三:向服务商要清洗日志。 这是最直接的证据。
# 清洗日志通常会有这些关键字段
# 攻击开始时间、结束时间、峰值流量、清洗后剩余流量、被封的 IP 数量
你要从日志里确认三件事:
- 峰值流量数字:日志里的实际峰值是多少?如果和你付的套餐一致,说明是真实能力
- 清洗后的流量:攻击期间回源到源站的流量是多少?这个数字应该接近正常业务流量
- 攻击持续时间:清洗是全程覆盖还是中途被限速了
验证方法四:观察攻击期间的源站表现。 如果有机会经历一次真实攻击,看这三个指标:
# 攻击期间在源站上看
sudo sar -n DEV 1 10 # 入站流量应该保持平稳,而不是飙升
watch -n 1 "ss -s" # 连接数应该平稳
top -bn1 | grep Cpu # CPU 应该平稳
源站的入站流量平稳、连接数平稳、CPU 平稳,说明清洗正常工作。 如果源站入站流量也飙升了,说明清洗没起作用,钱白花了。
验证方法五:查你自己是否在黑名单里。
# 从外部机器测(不是从服务器本地测)
# 在你自己的电脑上执行
ping -c 3 你的服务器IP
traceroute 你的服务器IP
本地测一定能通,但从外部测不通,这就是「本地 IP 被放行、外部 IP 被拉黑」的典型误封。 这种情况要么是源站被判定为攻击源,要么是整个 IP 段被连带。
一个必须知道的事实:验证防守能力的最佳时机是买之前,不是买之后。 如果可以,在付款前要求服务商提供近期的清洗日志截图,或者要求一次测试窗口。
五、在自己机器上必须做的应用层加固

上游清洗只能挡住流量型攻击,应用层攻击必须自己处理。 这一节是主机侧的配置。
第一件事:Nginx 连接数限制。 这是防连接耗尽型攻击最直接的一招。
# /etc/nginx/nginx.conf 的 http 块里
limit_req_zone $binary_remote_addr zone=one:10m rate=30r/s;
server {
# 单 IP 最多 100 个并发连接
limit_conn_zone $binary_remote_addr zone=conn:10m;
limit_conn conn 100;
# 全局最多 1000 个连接
limit_conn_zone $server_name zone=global:10m;
limit_conn global 1000;
}
limit_conn conn 100 的意思是:单个 IP 最多同时开 100 个连接。 正常用户用浏览器访问最多开 6 个连接,100 这个上限留了极大余量,但足以挡住脚本化的并发洪泛。
第二件事:请求速率限制。
server {
# 全站每秒 30 个请求
limit_req zone=one burst=50 nodelay;
# 对后台接口单独限制
location /wp-login.php {
limit_req zone=one burst=10 nodelay;
}
}
burst=50 nodelay 的意思是:允许突发 50 个请求立即处理而不是排队延迟。 这个设置既挡攻击又不影响正常用户。
第三件事:限制请求体大小和请求头大小。 很多攻击是靠超大请求头耗尽内存的。
client_max_body_size 10m;
client_header_buffer_size 1k;
large_client_header_buffers 4 8k;
client_body_timeout 30s;
client_header_timeout 15s;
send_timeout 30s;
client_header_timeout 15s 这一条能砍掉大量慢速攻击。 攻击工具常用「慢速发包」来耗尽服务器的连接资源,设置超时后这些连接会被自动清理。
第四件事:Web 服务器限速。
# 安装 Nginx 限速模块(大多数发行版已内置)
sudo apt install nginx-extras
# 检查模块是否可用
nginx -V 2>&1 | grep -i limit_req
第五件事:给后台接口加验证码或二次验证。 这是对付暴力破解最有效的手段,比任何网络层防护都管用。
# 限制后台的请求体
location /admin/ {
limit_req zone=one burst=5 nodelay;
client_max_body_size 1m;
}
第六件事:关掉不需要的服务。
# 列出所有对外监听的端口
sudo ss -tulnp | grep -E "0\.0\.0\.0|::"
# 攻击面最小化:关掉用不上的服务
sudo systemctl stop ftp
sudo systemctl disable mail
第七件事:开启系统层的连接跟踪限制。 Linux 内核有个 nf_conntrack_max 参数,默认值在高并发下会被打满,打满的表现是所有新连接都被丢弃,服务器看起来像被 DDoS 了一样。
# 看当前值和使用率
sudo sysctl net.netfilter.nf_conntrack_max
sudo cat /proc/sys/net/netfilter/nf_conntrack_count
# 调大
sudo sysctl -w net.netfilter.nf_conntrack_max=262144
sudo nano /etc/sysctl.d/99-conntrack.conf
写入配置文件的内容:
net.netfilter.nf_conntrack_max = 262144
这个参数被打满是很隐蔽的故障。 症状是「突然所有请求都超时,重启服务就好」,很容易被误判成被攻击。排查攻击问题时,先看一眼这个计数。
六、被攻击时的应急处置流程

攻击发生时的处置顺序很重要。 慌乱中做错操作会让情况更糟。
第 0 步(0 到 2 分钟):判断类型,不要慌着重启。
# 一条命令看全局
uptime; free -m; df -h /; sudo ss -s; sudo sar -n DEV 1 3
如果看到带宽满但 CPU 闲,直接跳到第 2 步。 如果 CPU 满进程暴涨,先做第 1 步。
第 1 步(2 到 5 分钟):紧急止血。
# 如果是应用层洪水,立刻限速(最快见效)
sudo sed -i 's/rate=30r\/s/rate=5r\/s/' /etc/nginx/nginx.conf
sudo nginx -t && sudo systemctl reload nginx
# 如果是连接数耗尽,直接踢掉异常连接
sudo ss -tn state established '( sport = :80 )' | awk '{print $4}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20
# 杀掉异常来源的连接(先看排行再动手)
sudo pkill -f "nginx: worker process" && sudo systemctl restart nginx
重启 Nginx 会中断所有连接,但能立刻清空进程表。 对于被洪水打的站点,短暂中断优于长期挂着。
如果攻击直接打的是 PHP 应用层,重启 PHP-FPM:
sudo systemctl restart php8.2-fpm
第 2 步(5 到 15 分钟):联系服务商。
联系时把这几个数字报给技术支持,能让他们定位快得多:
# 你的公网 IP
curl -s ifconfig.me
# 攻击开始时间(精确到分钟)
sudo journalctl --since "30 min ago" | tail -5
# 你的入站流量峰值
sudo sar -n DEV 1 60 | awk 'NR>2 {print $6}' | sort -rn | head -5
# 连接数
sudo ss -s | grep -E "total|used"
# 被攻击的目标端口
sudo ss -tulnp | grep LISTEN
报「我被攻击了」的效率远低于报具体数据。
第 3 步(15 到 60 分钟):切换或启用防护。
# 如果有备用 IP,紧急切换 DNS
# 如果有备用服务器,把流量导过去
# 如果服务商能临时加清洗,开启它
应急切换的关键是提前准备好备用方案。 平时就要准备好:备用 IP、备用服务器、DNS 服务商的 API 密钥、以及一条能在 5 分钟内跑完的切换脚本。
第 4 步:恢复与复盘。
# 确认服务恢复
curl -s -o /dev/null -w "%{http_code}\n" https://你的域名/
# 确认没有残留的异常进程
ps aux --sort=-%cpu | head -15
# 确认没有异常账号
awk -F: '$3 == 0 {print $1}' /etc/passwd
复盘时要把这次攻击的峰值流量、持续时间、攻击类型记下来。 这些数据决定了你的防护预算应该给多少。遭遇过一次 5Gbps 攻击之后,你就知道自己需要什么级别的清洗了,而不是靠猜。
七、欧洲机房做高防的天然优势与限制

欧洲机房在防攻击这件事上既有独特优势,也有明确的限制。
优势一:整机的资源普遍富余。 欧洲机房的服务器配置普遍是内存 4GB 到 32GB 起、大容量 SSD、带 NVMe。大容量硬盘的一个附带好处是:在被打满时,你可以用磁盘做缓存扛住一部分请求,而不像小内存机器那样直接 OOM。
优势二:带宽单价在部分产品线上有优势。 产品库里的年付系列每 TB 流量成本是 3.413 美元,跨多档机型不变。流量成本低意味着你在自建清洗方案或者用大带宽硬扛时的代价更可控。
优势三:距离 DDoS 清洗节点近。 欧洲本地的清洗中心到欧洲机房的回源链路通常在 1Gbps 到 10Gbps 之间,延迟低,丢包小。如果你的源站在欧洲而清洗中心在亚洲,中间的跨境链路反而可能成为瓶颈。
限制一:跨境流量攻击的成本结构不同。 攻击者打你的成本是打出口带宽,如果你的用户主要在亚洲,你的流量要经过跨境链路回国,攻击流量从哪一侧进入会影响清洗效果。
限制二:IP 段被连带拉黑的风险更高。 欧洲机房普遍是整段 IP 分配,同段的其他机器被攻击时,你可能被连带拉黑。这是欧洲节点做高防时的一个现实问题,也是第三节说的「一切正常但访问不了」那种表现的常见成因。
限制三:滥用举报机制会让你「自己打自己」。 如果你的机器因为配置不当被系统判定为攻击源并自动封禁,你会发现自己完全无法访问自己的服务器。避免这个问题的做法是:不做任何对外的扫描或压测,fail2ban 的封禁时长设置得温和一些,并且确保出站流量没有异常模式。
限制四:没有 ICP 备案意味着不能用国内 CDN 节点分流。 如果你的站点主要面向中国大陆用户,用境外服务器做高防意味着你没法用国内的 CDN 厂商做流量清洗。这个限制会让你的防护选择变少。
关于机房位置的一个判断原则: 高防能力取决于服务商上游的清洗网络,而不是你自己那台机器所在的城市。在评估时,要问清楚清洗节点在哪、到你的源站链路带宽多少、回源 IP 段是否共享。 这三个问题比「你机房在哪」重要得多。
八、按预算和场景的防护方案对照

把前面所有内容整理成可直接对号入座的方案表。
方案一:预算最低,只做主机侧加固(适合个人站、博客)。
- 成本:零额外支出
- 配置:Nginx 的 limit_conn 加 limit_req、请求头大小限制、超时设置、关掉多余服务、nf_conntrack 调大
- 能挡住:应用层暴力请求、脚本化的低强度攻击、连接耗尽
- 挡不住:超过 1Gbps 的流量型攻击
- 适合你如果:站点价值不高、能接受偶尔不可用
方案二:中等预算,用高带宽主机扛(适合中小业务)。
- 成本:升级到高带宽档位,参考产品库里 10000Mbps 端口的年付机型
- 配置:高带宽端口 + 主机侧加固 + 流量告警
- 能挡住:中低强度的 UDP/SYN 洪水,因为端口带宽大,攻击流量没打满之前你的服务还能响应
- 挡不住:超过端口带宽的攻击
- 适合你如果:业务允许短暂中断、攻击强度不大
方案三:正规高防 IP(适合有商业价值的生产业务)。
- 成本:单独计费 + 按清洗流量计费
- 配置:DNS 解析到高防 IP、源站 IP 隐藏、应用侧只放行高防 IP 的回源段
- 能挡住:几 Gbps 到几十 Gbps 的流量型攻击,且合法用户基本无感
- 挡不住:应用层攻击、CC 攻击(需要配合限速和 WAF)
- 适合你如果:站点是收入来源、不能长时间中断
源站只允许高防 IP 回源,这是必须配的一步:
# 只允许清洗节点的 IP 段访问 Web 服务
sudo ufw allow from 清洗节点IP段 to any port 80 proto tcp
sudo ufw allow from 清洗节点IP段 to any port 443 proto tcp
sudo ufw deny 80
sudo ufw deny 443
方案四:换到有原生防护的节点(适合攻击频繁的业务)。
- 成本:迁移成本 + 新机器成本
- 配置:选本身就带清洗能力的线路或节点,配合主机侧加固
- 能挡住:取决于该节点的清洗能力上限
- 适合你如果:你已经被反复攻击,或者你的业务对可用性要求极高
方案五:架构层面规避(适合有开发能力的团队)。
- 成本:开发成本,无额外机器费用
- 配置:静态内容全部上对象存储加 CDN,业务只在源站跑动态接口,源站 IP 完全不暴露
- 能挡住:绝大部分攻击,因为攻击者找不到你的源站 IP
- 适合你如果:你的站点内容以静态为主、可以接受一定的架构改造成本
这五个方案的成本是递增的,但「能挡住的攻击强度」也是递增的。 从方案一开始做,不要一上来就买最贵的。
按你的情况,下一步该看哪家
上面讲的是判断标准,但多数人最后还是想问一句「那我该买谁」。按你的实际情况对照下面几条,直接去看对应的机型页比继续比价更快:
- 只想搭个站、预算优先:先看价格最低那档够不够用,别为用不上的配置付钱。看 cloudcone 当前机型与价格
- 做跨境或店群、需要多 IP:优先看 IP 类型与换 IP 政策,别只看配置。看 digitalocean 当前机型与价格
- 主要访客在国内、在意打开速度:先确认回程线路,再谈配置。看 hostwinds 当前机型与价格
- 只是开发测试、临时用:按小时或月付,用完就删,别买年付。看 interserver 当前机型与价格
价格与库存以商家页面当日显示为准,下单前建议先确认退款窗口与是否支持按月付费。
九、常见问题

被 DDoS 攻击了,第一步该做什么?
先判断类型,别急着重启。 跑 sar -n DEV 1 5 看带宽、top 看 CPU、ss -s 看连接数。带宽满而 CPU 闲是流量型,要找服务商清洗;CPU 满而进程暴涨是连接耗尽,要立刻限速和重启应用。 顺序错了会浪费时间。
高防服务器和高防 IP 有什么区别,该选哪个?
源站就是这台机器,选高防服务器;源站在别处(比如云厂商),选高防 IP。 高防 IP 的前提是源站 IP 必须隐藏,已经泄露的 IP 要先换掉再加防护。
商家说的「10G 防御」是真的吗?
三个问题就能问出来:清洗是按流量计费还是含在月费里、清洗中心到源站的链路带宽是多少、超出部分怎么处理。 另外要拿到近期的清洗日志,看实际峰值和清洗后回源流量。最直接的验证是在自己机器上用 wrk 做压力测试。
攻击期间我的网站还能访问吗?
取决于用的是哪种防护。 黑洞路由会让你的站点完全不可访问;流量清洗能让合法用户正常访问,这是它的核心价值。买之前一定要问清楚对方用的是哪种。
我的服务器 IP 被拉黑了怎么办?
先确认是不是整段被连带。 在外部机器上测能不能连通,能通就是你自己 IP 的问题,不能通就查 IP 段状态。最有效的办法是换 IP,然后同时做三层防护:高防 IP 做流量清洗、主机的 fail2ban 做应用层限速、上游 CDN 做源头分流。IP 段连带拉黑这种情况,即使自己买了高防 IP 也很麻烦,因为清洗中心到源站那一跳同样会被拉黑。
CC 攻击和高防能防住吗?
防不住。 CC 攻击的请求是「合法」的——它伪装成正常浏览器访问你的页面,高防的流量清洗识别不出来,因为每个请求看起来都正常。CC 只能靠应用层解决:请求频率限制、验证码、行为分析、接口签名。
带宽被打满,CPU 很闲,这种情况下重启有用吗?
没用。 重启只是清空了连接状态,攻击流量会立刻重新填满,源站还是收不到任何正常请求。这种情况必须靠上游清洗或者把流量切走,在源机上操作是浪费时间。
要开多少并发限制合适?
单 IP 100 个连接、全局 1000 个连接是合理的起点。 正常浏览器最多开 6 个连接,100 留了极大余量。但要注意用反向代理的场景,如果你前面有 CDN 或高防 IP,那么它们回源时用的源 IP 相同,全局限制要相应调高,否则你自己的 CDN 回源请求会被限流。
我应该买多少带宽的端口来防御?
按「能扛住你历史上最大攻击的 1.5 倍」来算。 但要注意带宽端口不是防御手段,只是提高被击穿的门槛。如果你的流量单价很低(产品库里年付系列每 TB 流量是 3.413 美元,跨档不变),高带宽端口的边际成本不高,作为临时过渡方案是划算的。
攻击过后要不要重装系统?
看有没有被入侵的迹象。 如果日志里有异常的登录记录、陌生的 cron 项、异常进程,说明攻击不只是打流量而是打进了系统,这时候必须重装。如果只有带宽被打满、服务进程正常、没有异常账号和文件,不需要重装,只需要把防护补上。
主机上装了 fail2ban 和 DDoS 防护是一回事吗?
完全不是一回事。 fail2ban 是应用层的,在你的机器上封禁暴力破解的 IP,对流量型攻击无效,因为流量型攻击的请求来自成百上千个不同 IP,封不过来。流量型攻击必须在你的机器之外被挡住。
十、结论:按你的处境直接对号入座

一、如果你只是个人博客或小站,从来没被攻击过。
先做主机侧加固,成本为零。 Nginx 加 limit_conn 和 limit_req、设置请求头大小限制和超时、关掉用不上的服务、把 nf_conntrack_max 调大。这能挡住脚本化的低强度攻击和暴力请求。 等你真的被攻击了再考虑花钱,因为大部分人的站点永远不会遇到大规模攻击。
二、如果你的站点是收入来源,被打过一两次。
上高防 IP,前提是先把源站 IP 换掉。 同时把源站改成只允许高防 IP 的回源段访问,用 UFW 实现。加上主机侧的限速,应用层攻击也能挡住一部分。 预算参考:产品库里 2000Mbps 端口、40000GB 月流量的云途机型月费 700 美元,每 TB 流量 17.92 美元,这个量级的流量加上清洗费是真实成本,下单前先把超额单价问清楚。
三、如果你的业务不能有中断,或者攻击来自竞对恶意打。
优先选清洗能力明确、且清洗中心到源站链路带宽足够的方案。 关键是问清三个问题而不是看宣传页上的数字。同时用架构手段降低被攻击的收益:静态内容上对象存储加 CDN,让源站只跑动态接口,攻击者找不到你的真实 IP 就无从下手。
四、如果你是做企业站的,攻击目标是你而不是你的业务。
优先做的是换 IP 加隐藏源站,而不是加钱买带宽。 被人为针对的站点,攻击成本低而防守成本高,最好的防守是不给对方目标。同时把你的域名解析、邮件服务、第三方服务的关联信息全部梳理一遍,确保没有任何一条路径泄露源站 IP。
五、如果你在预算和效果之间要做取舍。
记住这个优先级顺序:架构规避(不暴露 IP)大于流量清洗(上游挡住)大于高带宽端口(硬扛)大于主机加固(应用层限速)。 但主机加固是唯一你马上能做且免费的一步,所以无论什么方案,都先把主机加固做完。
通用的一句收尾:防攻击这件事,最有效的投入不是买机器,而是先把「被打成什么样」变成可观测的。把本文第一节的判断脚本和第四节的验证方法做成每次异常时能立刻跑的清单,知道自己在什么状态,才谈得上处置。
关于本文提到的所有具体配置:文中引用的价格、端口带宽、月流量均来自渠道库快照(2026-11-05 22:39 抓取),以官网当日显示为准;没有给出结构化套餐数据的商家,本文不涉及具体报价,请以下单页为准。文中所有命令均为通用做法,压测类命令请只对自己拥有的机器执行并事先与服务商确认。
