可搜索,可注册,可登录,致敬逗比大佬!尽在救援版逗比根据地 dbgjd.com
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程

iptables 将 Cloudflare’s IP 加入白名单

News mlone11978 72℃ 0评论

本文介绍如何使用 iptables 将 Cloudflare’s IP 加入白名单。

本文适用于这种情况:你的网站使用了 Cloudflare,你的网站不需要获取客户真实 IP,你的网站只想放行 Cloudflare 服务器的访问而拒绝所有来自其它 IP 的访问

那么这时,你需要将 Cloudflare’s IP 放进 iptables 的白名单,并将其它访问都 drop 掉。

需要注意的是,iptables 规则是有顺序的,所以需要先写 accept 再写 drop。这点类似于 Nginx 的 allow 和 deny 的顺序。

将 Cloudflare’s IP 放进白名单

官方文档:https://support.cloudflare.com/hc/en-us/articles/200169166-How-do-I-whitelist-Cloudflare-s-IP-addresses-in-iptables

基于这个官方文档,我写了这么一个简易脚本来实现 iptables 的规则加入:

# 对 cloudflare 的 ip 进行白名单放行  accept-v4(){ # ipv4 iptables  -t filter -A INPUT -p tcp -m multiport --dports http,https -s $1 -j ACCEPT }  # ipv6 accept-v6(){ ip6tables -t filter -A INPUT -p tcp -m multiport --dports http,https -s $1 -j ACCEPT }  accept-v4 103.21.244.0/22 accept-v4 103.22.200.0/22 accept-v4 103.31.4.0/22 accept-v4 104.16.0.0/12 accept-v4 108.162.192.0/18 accept-v4 131.0.72.0/22 accept-v4 141.101.64.0/18 accept-v4 162.158.0.0/15 accept-v4 172.64.0.0/13 accept-v4 173.245.48.0/20 accept-v4 188.114.96.0/20 accept-v4 190.93.240.0/20 accept-v4 197.234.240.0/22 accept-v4 198.41.128.0/17 accept-v6 2400:cb00::/32 accept-v6 2405:8100::/32 accept-v6 2405:b500::/32 accept-v6 2606:4700::/32 accept-v6 2803:f800::/32 accept-v6 2c0f:f248::/32 accept-v6 2a06:98c0::/29  echo "success!" 

把以上代码放进 accept.sh 然后运行,白名单就写入完成了。

禁止所有其它访问

iptables  -t filter -A INPUT -p tcp -m multiport --dports http,https -j DROP ip6tables -t filter -A INPUT -p tcp -m multiport --dports http,https -j DROP 

这两行运行完成后,就禁止了所有对你的网站的访问。

然后因为先写入了对 Cloudflare 的白名单规则,最后达到的效果就是只有 Cloudflare 的反代服务器能够访问你的源站。

转载请注明:逗比根据地 » iptables 将 Cloudflare’s IP 加入白名单

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址