Cloudflare 用 ASN 屏蔽恶意爬虫

作者: MakerNeo
最后更新: 2026-04-05 14:51:29
标签:

Index

最近网站被爬虫爬了,来回会换 ip 屏蔽起来很麻烦, 查了下最后通过屏蔽 ASN 解决。

🧭 什么是 ASN?

ASN(Autonomous System Number,自治系统编号)是互联网上用于标识自治系统(AS)的唯一编号。一个自治系统是由一个或多个网络运营商管理的一组 IP 路由前缀,具有统一的路由策略。ASN 在边界网关协议(BGP)中用于路由信息的交换,帮助网络识别和管理数据传输路径。


每个自治系统在互联网上都有一个唯一的 ASN,用于在 BGP 路由中标识该系统ASN 有两种格式

  • 16 位 ASN范围从 1 到 65534
  • 32 位 ASN范围从 131072 到 4294967294

ASN 的主要作用是帮助自治系统之间交换路由信息,确保数据包能够通过最优路径传输

通过 Cloudflare 的防火墙规则(Firewall Rules)使用 ASN 来屏蔽恶意爬虫,具体操作如下:

步骤一:查看恶意爬虫的 ASN

你可以通过日志或访问统计,确定恶意爬虫的 IP,并在网上查询对应的 ASN。

例如:

步骤二:Cloudflare 配置

  1. 进入 Cloudflare 仪表盘,选择你的站点。
  2. 点击左侧菜单栏的 安全性(Security) > WAF > 防火墙规则(Firewall Rules)
  3. 点击创建防火墙规则(Create a firewall rule)

设置类似于:

  • 字段 (Field)ip.geoip.asnum
  • 操作符 (Operator):选择 等于(如果屏蔽多个 ASN)。
  • 值 (Value):填入对应的 ASN 数字,例如 AS12345

示例规则

ip.geoip.asnum in {12345 54321}

操作 (Action)

  • 设置为 阻止 (Block)质询 (Challenge)

生效

创建规则后立即生效,后续该 ASN 下的 IP 将无法直接访问你的网站。

☁️ 常见云服务提供商及其 ASN

以下是一些常见云服务提供商的自治系统编号(ASN),这些信息可用于在 Cloudflare 防火墙中设置规则,以识别或屏蔽特定运营商的流量:

云服务商 ASN 说明
Amazon Web Services (AWS) AS16509、AS14618、AS8987 AWS 使用多个 ASN,具体取决于服务区域和类型。
Google Cloud Platform (GCP) AS15169、AS19527、AS396982 Google 的主要 ASN 用于其全球基础设施。
Microsoft Azure AS8075、AS3598、AS8070 Microsoft 使用多个 ASN,涵盖其 Azure 服务。
Alibaba Cloud AS37963、AS45102、AS58593 阿里云在不同地区使用不同的 ASN。
Oracle Cloud AS31898 Oracle 的主要 ASN。
IBM Cloud AS36351 IBM Cloud 的主要 ASN。
DigitalOcean AS14061 DigitalOcean 的主要 ASN。
Hetzner Online AS24940 Hetzner 的主要 ASN。
OVHcloud AS16276 OVH 的主要 ASN。
Linode AS63949 Linode 的主要 ASN。