iptables设置白名单允许Cloudflare访问

Cloudflare提供免费的CDN加速网站访问
然而有些工具可以绕过CDN找到源IP,然后你懂的
这里在iptables设置白名单,可以让Cloudflare保护我们的安全

直接编辑 /etc/sysconfig/iptables

-A INPUT -p tcp --dport 80 -s 103.21.244.0/22 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 103.22.200.0/22 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 103.31.4.0/22 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 104.16.0.0/12 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 108.162.192.0/18 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 131.0.72.0/22 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 141.101.64.0/18 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 162.158.0.0/15 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 172.64.0.0/13 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 173.245.48.0/20 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 188.114.96.0/20 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 190.93.240.0/20 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 197.234.240.0/22 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 198.41.128.0/17 -j ACCEPT
-A INPUT -p tcp --dport 80 -s 199.27.128.0/21 -j ACCEPT
-A INPUT -p tcp --dport 80 -j DROP

添加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 tcp 连接 22 端口
iptables -I INPUT -s 8.8.8.8 -p tcp --dport 22 -j ACCEPT

关闭除白名单外所有 TCP 端口
iptables -I INPUT -p tcp --dport 1:65535 -j DROP

如果你有更多需求,请参考下面文章
https://support.cloudflare.com/hc/en-us/articles/200169166-How-do-I-whitelist-Cloudflare-s-IP-addresses-in-iptables-

https://blog.csdn.net/u010511236/article/details/78039242

此处评论已关闭