了解如何利用 IP 访问规则来限制、质询或允许流向您的站点的流量。
概述
IP 访问规则通常用于阻止或质询可疑的恶意流量。IP 访问规则的另一种常见用途是允许定期访问您的站点的服务(API、爬网程序、支付提供商等)。IP 访问规则根据访问者的 IP 地址、国家/地区或 ASN,对流量执行列入允许列表、阻止和质询操作。
IP 访问规则有五个可配置的操作:
- 列入允许列表:将访问者从所有安全检查中排除(浏览器完整性检查、I'm Under Attack 模式和 WAF 等)。当可信访问者被 Cloudflare 的默认安全功能阻止时,您可以使用此功能。列入允许列表优先于阻止。
-
托管质询:根据请求的特性,Cloudflare 将执行以下操作:
- 显示一个非交互式的质询页面(类似于当前的 JS 质询)
- 显示 Captcha
- JavaScript 质询:向访问者展示 I'm Under Attack Mode 插页。要求访问者的浏览器或客户端支持 JavaScript。可用于阻止 DDoS 攻击,并对合法访问者的影响最小。
- 旧版 CAPTCHA:要求访问者完成 CAPTCHA 后,再访问您的站点。防止机器人访问该站点。
- 阻止:阻止访问者访问您的站点。
添加 IP 访问规则
若要创建 IP 访问规则 ,请按照下列步骤操作:
- 登录您的 Cloudflare 帐户。
- 选择您的域名。
- 打开安全性 > WAF。
- 单击工具选项卡。
- 在 IP 访问规则下 ,输入以下详细信息:
- 输入值作为 IP、IP范围或两个字母的国家/地区代码。
- 选择操作 。
- 选择规则适用于该网站还是帐户中的所有网站。
- (可选)添加注释 (即 Payment Gateway )。
- 单击添加 。
另外,您也可以通过 Cloudflare API 以编程方式阻止或信任 IP。Cloudflare 支持在您的服务器上使用 fail2ban 来阻止 IP。但是,为防止 fail2ban 意外阻止 Cloudflare IP 并给某些访问者造成错误,请确保在源服务器日志中恢复源访问者 IP。
访问规则的类型
访问规则有几种类型:
在提示下键入 | 范例值 |
IPv4 地址 | 192.0.2.3 |
IPv4 /24 地址范围 | 192.0.2.0/24 |
IPv4 /16 地址范围 | 192.0.0.0/16 |
IPv6 地址 | 2001:db8:: |
IPv6 地址范围 | 2001:db8::/48, 2001:db8::/64 |
国家(按名称或代码) | US、germany、tor、CN |
自治系统号(ASN) | AS13335 |
被 Cloudflare 全局允许的 IP 可通过 IP 访问规则覆盖国家/地区阻止,但不通过防火墙规则覆盖国家/地区阻止。
地址范围示例
CIDR | 范围开始(示例) | 范围结束(示例) | IP地址数量 |
/64 | 2001:db8:: | 2001:db8:0000:0000:ffff:ffff:ffff:ffff | 18,446,744,073,709,551,616 |
/48 | 2001:db8:: | 2001:db8:0000:ffff:ffff:ffff:ffff:ffff | 1,208,925,819,614,629,174,706,176 |
/32 | 2001:db8:: | 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff | 79,228,162,514,264,337,593,543,950,336 |
/24 | 192.1.2.0 | 192.1.2.255 | 256 |
/16 | 192.1.0.0 | 192.1.255.255 | 65,536 |
IP 访问规则限制
帐户限制为最多 50,000 条规则。企业客户可以通过其客户团队请求增加规则限制。
按国家/地区阻止仅面向 Cloudflare Enterprise 计划。另外,使用防火墙规则的所有计划也可使用按国家/地区阻止。
两字母国家/地区代码
以下是为 IP 防火墙创建 Access Rule 所需的 ISO 3166-1 Alpha 2 格式的二位字母国家/地区代码的完整列表:
国家/地区代码
Cloudflare 还对 Tor 出口节点使用 T1(不是 ISO 代码)。
阿富汗 | AF |
奥兰群岛 | AX |
阿尔巴尼亚 | AL |
阿尔及利亚 | DZ |
美属萨摩亚 | AS |
安道尔 | AD |
安哥拉 | AO |
安圭拉 | AI |
南极洲 | AQ |
安提瓜和巴布达 | AG |
阿根廷 | AR |
亚美尼亚 | AM |
Aruba | AW |
澳大利亚 | AU |
奥地利 | AT |
阿塞拜疆 | AZ |
巴哈马 | BS |
巴林 | BH |
孟加拉国 | BD |
巴巴多斯 | BB |
白俄罗斯 | BY |
比利时 | BE |
伯利兹 | BZ |
贝宁 | BJ |
百慕大 | BM |
不丹 | BT |
玻利维亚(多民族国) | BO |
博内尔岛、圣尤斯特歇斯和萨巴岛 | BQ |
波斯尼亚和黑塞哥维那 | BA |
博茨瓦纳 | BW |
布维岛 | BV |
巴西 | BR |
英属印度洋领地 | IO |
文莱达鲁萨兰 | BN |
保加利亚 | BG |
布基纳法索 | BF |
布隆迪 | BI |
柬埔寨 | KH |
喀麦隆 | CM |
加拿大 | CA |
佛得角 | CV |
开曼群岛 | KY |
中非共和国 | CF |
乍得 | TD |
智利 | CL |
中国大陆 | CN |
圣诞岛 | CX |
科科斯(基林)群岛 | CC |
哥伦比亚 | CO |
科摩罗 | KM |
刚果 | CG |
刚果民主共和国 | CD |
库克群岛 | CK |
哥斯达黎加 | CR |
科特迪瓦 | CI |
克罗地亚 | HR |
古巴 | CU |
库拉索 | CW |
塞浦路斯 | CY |
捷克共和国 | CZ |
丹麦 | DK |
吉布提 | DJ |
多米尼加 | DM |
多米尼加共和国 | DO |
厄瓜多尔 | EC |
埃及 | EG |
萨尔瓦多 | SV |
赤道几内亚 | GQ |
厄立特里亚 | ER |
爱沙尼亚 | EE |
埃塞俄比亚 | ET |
福克兰群岛(马尔维纳斯) | FK |
法罗群岛 | FO |
斐济 | FJ |
芬兰 | FI |
法国 | FR |
法属圭亚那 | GF |
法属波利尼西亚 | PF |
法属南部领土 | TF |
加蓬 | GA |
冈比亚 | GM |
格鲁吉亚 | GE |
德国 | DE |
加纳 | GH |
直布罗陀 | GI |
希腊 | GR |
格陵兰 | GL |
格林纳达 | GD |
瓜德罗普岛 | GP |
关岛 | GU |
危地马拉 | GT |
格恩西岛 | GG |
几内亚 | GN |
几内亚比绍 | GW |
圭亚那 | GY |
海地 | HT |
赫德和麦克唐纳群岛 | HM |
梵蒂冈(教区) | VA |
洪都拉斯 | HN |
中国香港特别行政区 | HK |
匈牙利 | HU |
冰岛 | IS |
印度 | IN |
印度尼西亚 | ID |
伊朗伊斯兰共和国 | IR |
伊拉克 | IQ |
爱尔兰 | IE |
马恩岛 | IM |
以色列 | IL |
意大利 | IT |
牙买加 | JM |
日本 | JP |
新泽西 | JE |
约旦 | JO |
哈萨克斯坦 | KZ |
肯尼亚 | KE |
基里巴斯 | KI |
朝鲜民主主义人民共和国 | KP |
大韩民国 | KR |
科威特 | KW |
吉尔吉斯斯坦 | KG |
老挝人民民主共和国 | LA |
拉脱维亚 | LV |
黎巴嫩 | LB |
莱索托 | LS |
利比里亚 | LR |
利比亚 | LY |
列支敦士登 | LI |
立陶宛 | LT |
卢森堡 | LU |
中国澳门特别行政区 | MO |
前南斯拉夫马其顿共和国 | MK |
马达加斯加 | MG |
马拉维 | MW |
马来西亚 | MY |
马尔代夫 | MV |
马里 | ML |
马耳他 | MT |
马绍尔群岛 | MH |
马提尼克 | MQ |
毛里塔尼亚 | MR |
毛里求斯 | MU |
马约特 | YT |
墨西哥 | MX |
密克罗尼西亚联邦 | FM |
摩尔多瓦共和国 | MD |
摩纳哥 | MC |
蒙古 | MN |
黑山 | ME |
蒙特塞拉特 | MS |
摩洛哥 | MA |
莫桑比克 | MZ |
缅甸 | MM |
纳米比亚 | NA |
瑙鲁 | NR |
尼泊尔 | NP |
荷兰 | NL |
新喀里多尼亚 | NC |
新西兰 | NZ |
尼加拉瓜 | NI |
尼日尔 | NE |
尼日利亚 | NG |
纽埃 | NU |
诺福克岛 | NF |
北马里亚纳群岛 | MP |
挪威 | NO |
阿曼 | OM |
巴基斯坦 | PK |
帕劳 | PW |
巴勒斯坦国 | PS |
巴拿马 | PA |
巴布亚新几内亚 | PG |
巴拉圭 | PY |
秘鲁 | PE |
菲律宾 | PH |
皮特凯恩 | PN |
波兰 | PL |
葡萄牙 | PT |
波多黎各 | PR |
卡塔尔 | QA |
留尼汪岛 | RE |
罗马尼亚 | RO |
俄罗斯联邦 | RU |
卢旺达 | RW |
圣巴泰勒米 | BL |
圣赫勒拿、阿森松和特里斯坦达昆哈 | SH |
圣基茨和尼维斯 | KN |
圣卢西亚 | LC |
圣马丁(法属) | MF |
圣皮埃尔和密克隆群岛 | PM |
圣文森特和格林纳丁斯 | VC |
萨摩亚 | WS |
圣马力诺 | SM |
圣多美和普林西比 | ST |
沙特阿拉伯 | SA |
塞内加尔 | SN |
塞尔维亚 | RS |
塞舌尔 | SC |
塞拉利昂 | SL |
新加坡 | SG |
圣马丁(荷属) | SX |
斯洛伐克 | SK |
斯洛文尼亚 | SI |
所罗门群岛 | SB |
索马里 | SO |
南非 | ZA |
南乔治亚和南德桑威奇群岛 | GS |
南苏丹 | SS |
西班牙 | ES |
斯里兰卡 | LK |
苏丹 | SD |
苏里南 | SR |
斯瓦尔巴岛和扬马延岛 | SJ |
斯威士兰 | SZ |
瑞典 | SE |
瑞士 | CH |
阿拉伯叙利亚共和国 | SY |
中国台湾省 | TW |
塔吉克斯坦 | TJ |
坦桑尼亚联合共和国 | TZ |
泰国 | TH |
东帝汶 | TL |
多哥 | TG |
托克劳 | TK |
汤加 | TO |
特立尼达和多巴哥 | TT |
突尼斯 | TN |
土耳其 | TR |
土库曼斯坦 | TM |
特克斯和凯科斯群岛 | TC |
图瓦卢 | TV |
乌干达 | UG |
乌克兰 | UA |
阿拉伯联合酋长国 | AE |
英国 | GB |
美国 | US |
美属外岛 | UM |
乌拉圭 | UY |
乌兹别克斯坦 | UZ |
瓦努阿图 | VU |
委内瑞拉玻利瓦尔共和国 | VE |
越南 | VN |
英属维尔京群岛 | VG |
美属维尔京群岛 | VI |
瓦利斯和富图纳 | WF |
西撒哈拉 | EH |
也门 | YE |
赞比亚 | ZM |
津巴布韦 | ZW |
未知/保留 | XX |