Cloudflare-iptables恢复实际ip以限制每个ip CentOS 7的连接

时间:2019-02-13 21:23:02

标签: centos centos7 iptables cloudflare

使用CentOS 7即时通讯。

在使用Cloudflare在Web上获取真实的访问者IP时,还有什么可能? 后端服务器,然后通过iptables限制真实用户的IP连接?

因为现在这是不可能的,因为它只会限制Cloudflares IP,而不是用户IP。

已经使用 mod_cloudflare 进行了尝试,但未成功。

示例

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

将打印所有Cloudflare IP,而不是实际的访问者IP。

我需要它,因为僵尸网络只是向网站请求“合法” URL,但是僵尸网络的速度如此之快 Web服务器只是无法处理它。

希望获得帮助,希望您理解我的问题。

1 个答案:

答案 0 :(得分:0)

mod_cloudflare 是为apache网络服务器设计的模块。它实际上会为您的网站访问者显示真实的IP地址,但是使用netstat命令,这完全发生在apache访问日志中,而不是在Linux系统上。如果使用netstat,它将显示CloudFlare的IP地址。

mod_cloudflare 使用一些特定的HTTP标头(CF-Connecting-IP)来为访问者显示真实IP地址。

有关HTTP标头的更多信息,请参见: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers

您应该尝试从Web服务器日志中提取所需的信息,而不要使用netstat

更新:

您可以使用带有使用Cloudflare API的功能的CSF防火墙,并将IP块直接添加到Cloudflare中,而不是阻止服务器上的IP。如前所述, mod_cloudflare 将在Web服务器日志中显示真实IP,而在服务器上,您将始终看到Cloudflare的IP地址。但是CSF所做的是使用 mod_cloduflare ,从Web服务器日志中提取真实IP地址并使用 Cloudflare API ,它直接在Cloudflare防火墙中的这些IP地址或范围上添加了块

您可以在此处阅读有关CSF的更多信息(第27章): https://download.configserver.com/csf/readme.txt

请记住,Cloudflare的防火墙中的标准限制为1000个IP地址或范围(至少对于免费帐户而言)。当达到1000时,您必须删除较旧的条目,以便可以添加更多条目。