【发布时间】:2015-10-10 14:01:51
【问题描述】:
我在 FreeBSD 上从数据中心向我的 Web 服务器发送了很多请求,有时我的 Web 项目会出现很多性能问题。将所有 IP 的数据中心添加到 IPFW 列表是不可能的。
我不想使用大型 Anti-DDoS 系统,而是想创建 bash 脚本来获取与我的服务器的连接、按 IP 过滤并添加到现在连接超过 5 个线程的 IPFW 表 IP 地址。或者可能在 IPFW 上创建多个表,并按表添加:
- 0
- 5
- 10
- 15
- 更多 20:- 表 4(1 天禁令)
按 IP 过滤应该通过主机名跳过 Google IP 和其他搜索引擎 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 上创建这个脚本?但是如果 PHP crashES,服务器将不受保护。
还有其他需要注意的事项吗?
【问题讨论】:
标签: php bash freebsd ddos ipfw