设置全站只能通过CDN访问

发布于 / 系统运维 / 3 条评论

为什么这么做:前段时间网站一直被慢速CC困扰,尽管开启cloudflare的五秒盾之后世界都安静了,但是这样会影响到用户体验

而且我发现经常有一些恶意IP扫描端口,并且绕过CDN进行网站访问

这个月的访问流量
Cloudflare,YES!

考虑到这个放博客的VPS并没有部署其他的服务,因此我决定直接全站只允许CDN访问(当然还包括自己家IP啦)


iptables -I INPUT -s 自己的IP -p tcp --dport 22 -j ACCEPT    #ssh默认22端口,不过我改了

iptables -I INPUT -p tcp --dport 1:65535 -j DROP       #全端口TCP关闭

#############只允许CDN(cloudflare)的IP访问###########

iptables -I INPUT -s 103.21.244.0/22 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 103.22.200.0/22 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 103.31.4.0/22 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 104.16.0.0/12 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 108.162.192.0/18 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 131.0.72.0/22 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 162.158.0.0/15 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 172.64.0.0/13 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 173.245.48.0/20 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 188.114.96.0/20 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 190.93.240.0/20 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 197.234.240.0/22 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 198.41.128.0/17 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 103.21.244.0/22 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 103.22.200.0/22 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 103.31.4.0/22 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 104.16.0.0/12 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 108.162.192.0/18 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 131.0.72.0/22 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 162.158.0.0/15 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 172.64.0.0/13 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 173.245.48.0/20 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 188.114.96.0/20 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 190.93.240.0/20 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 197.234.240.0/22 -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -s 198.41.128.0/17 -p tcp --dport 443 -j ACCEPT

在你测试这段代码没有问题能正常工作之后,可以永久保存此规则

service iptables save

执行这个命令的时候有时候可能会报错:The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

这是因为没有安装iptables服务,直接使用yum安装iptables服务即可.

yum install iptables-services

安装完成后,重新执行 service iptables save 命令即可保存成功。

PS:cloudflare的IP列表查看https://www.cloudflare.com/ips/amp/

其他CDN的IP段列表看这里:链接

本文基于《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
转载原创文章请注明,转载自: 沧水的博客 » 设置全站只能通过CDN访问
  1. cat66

    想要請教右下角哪人偶代碼相關問題 請問站長能否聯繫呢,謝謝

  2. 折纸

    你底部能不能再丑点

    1. 沧水
      @折纸 xswl