我有很多来自数据中心对FreeBSD上的web服务器的请求,有时它在我的web项目中有很多性能问题。在IPFW列表中添加所有IP的数据中心是不可能的。
我不想使用大型的反DDoS系统,而是创建bash脚本来连接到我的服务器,通过IP过滤并添加到IPFW表IP地址,这些地址现在连接在超过5个线程中。或者可能在IPFW上创建几个表,并按表添加:
Filter by IP应该跳过Google和其他搜索引擎ip的主机名。
这是我用于grep连接和排序的脚本:
netstat -nptcp | egrep -v 'Active|Address' | awk '{print $5}' | cut -d. -f 1-4 | sort | uniq -c | sort -n | tail -n 30解析日志文件太糟糕了,因为日志文件有时很大,而且我必须要额外的资源web服务器来解析和排序。
所以,我想过,也许可以在PHP上创建这个脚本?但是,如果crashES,服务器将不会受到保护。
我还需要注意其他的考虑吗?
发布于 2015-10-10 16:47:46
在PHP中做这个工作是个坏主意;如果您对下面提到的脚本接口有任何经验,我强烈建议您这样做;否则,除了PHP之外,您别无选择,在PHP中可以不费吹灰之力就可以完成它。
与下面列出的问题相比,PHP脚本的崩溃并不是什么大问题。
您可能想尝试使用BASH/Perl/Python,无论您喜欢哪种方式,都可以在沙箱模型中创建一个单独的脚本(创建一个用户并在sudoers中为它添加只用于所需任务的权限,并使其远离运行keep服务器或互联网上任何其他任务的用户)
https://stackoverflow.com/questions/33054796
复制相似问题