脚本配置网站或端口仅允许Cloudflare访问

简介

本文以 ubuntu22 为例,介绍如何在 VPS 上只允许 Cloudflare 的 IP 地址访问,本文适用于任何可以安装ufw的Linux系统。

安装ufw

如果已经安装ufw,可以跳过此步骤。

UFW 防火墙教程

编写防火墙配置脚本

创建add.sh:

mkdir -p ~/scripts/ufw
vim ~/scripts/ufw/add.sh

写入以下内容:

#!/bin/bash
cd ~/scripts/ufw

for ipv4 in `curl -s https://www.cloudflare.com/ips-v4 | tee ips-v4`
do
    sudo ufw allow from ipv4 to any port 80
done

for ipv6 in `curl -s https://www.cloudflare.com/ips-v6 | tee ips-v6`
do
    sudo ufw allow fromipv6 to any port 80
done

创建remove.sh:

vim ~/scripts/ufw/remove.sh

写入以下内容:

#!/bin/bash

cd ~/scripts/ufw
for ipv4 in `cat ips-v4`
do
    sudo ufw delete allow from ipv4 to any port 80
done

for ipv6 in `cat ips-v6`
do
    sudo ufw delete allow fromipv6 to any port 80
done

rm -f ips-v4 ips-v6

创建update.sh:

vim ~/scripts/ufw/update.sh

写入以下内容:

#!/bin/bash

cd ~/scripts/ufw

bash remove.sh
bash add.sh

 

使用

添加规则:

bash ~/scripts/ufw/add.sh

删除规则:

bash ~/scripts/ufw/remove.sh

更新规则:

bash ~/scripts/ufw/update.sh

 

THE END