为什么服务器只允许 Cloudflare IP 访问?因为套CF的网站也会碰到傻逼刷流量,只允许 Cloudflare IP 访问可有效防止这种情况。
下面是利用 iptables 来设置 CF IP 白名单的方法:
添加CF白名单
添加cloudflare ips-v4 iptables 白名单的命令:
for i in `curl https://www.cloudflare.com/ips-v4`;
do iptables -I INPUT -p tcp -m multiport --dports http,https -s $i -j ACCEPT;
done
添加cloudflare ips-v6 iptables 白名单的命令:
for i in `curl https://www.cloudflare.com/ips-v6`;
do ip6tables -I INPUT -p tcp -m multiport --dports http,https -s $i -j ACCEPT;
done
丢弃白名单以外的 ipv4 80,443 tcp 包:
iptables -A INPUT -p tcp -m multiport --dports http,https -j DROP
丢弃白名单以外的 ipv6 80,443 tcp 包:
ip6tables -A INPUT -p tcp -m multiport --dports http,https -j DROP
开机自启
上面就配置好了IP白名单,但是服务器重启,这些就会丢失,下面就来配置开机自启动。
首先安装 iptables-persistent:
apt install iptables-persistent
完成后运行:
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
以上就配置好了开机自启动。
清空规则,还原
当然如果不玩了,要清空上面规则命令如下:
iptables -P INPUT ACCEPT
iptables -F
> /etc/iptables/rules.v4
> /etc/iptables/rules.v6