Linux DDOS mod重写IP请求

Linux DDOS mod重写IP请求,linux,.htaccess,mod-rewrite,ddos,Linux,.htaccess,Mod Rewrite,Ddos,我们收到来自IP 192.168.0-255.0-255特定范围的DDOS攻击。在我们的htaccess文件中,我们试图将他们的请求转发到一个静态HTML文件,但只有一半的请求被阻止。有人知道为什么会这样吗 RewriteCond %{REMOTE_ADDR} ^(10\.0\.0\.1|192\.168\.[0-9]{0,3}\.[0-9]{0,3})$ RewriteCond %{REQUEST_URI} [^/etc/blocked_ip.html] RewriteRule ^(.*)$

我们收到来自IP 192.168.0-255.0-255特定范围的DDOS攻击。在我们的htaccess文件中,我们试图将他们的请求转发到一个静态HTML文件,但只有一半的请求被阻止。有人知道为什么会这样吗

RewriteCond %{REMOTE_ADDR} ^(10\.0\.0\.1|192\.168\.[0-9]{0,3}\.[0-9]{0,3})$
RewriteCond %{REQUEST_URI} [^/etc/blocked_ip.html]
RewriteRule ^(.*)$ /etc/blocked_ip.html [R=301,L]
我们的访问日志显示:

2014-06-27 11:59:03 192.168.20.232 - 1.2.3.4 443 GET /etc/blocked_ip.html ?
2014-06-27 11:59:08 192.168.20.231 - 1.2.3.4 443 GET /video/832
注意:我用专用范围替换了实际IP范围


谢谢您的建议。

实际上您的重写条件不正确:

RewriteCond %{REQUEST_URI} [^/etc/blocked_ip.html]
也许你的意思是:

RewriteCond %{REQUEST_URI} !^/etc/blocked_ip\.html
您可以将规则缩短为:

RewriteCond %{REMOTE_ADDR} ^(10\.0\.0\.1|192\.168\.[0-9]{1,3}\.[0-9]{1,3})$
RewriteRule !^etc/blocked_ip\.html$ /etc/blocked_ip.html [R=301,L,NC]

还要确保这是你在.htaccess中的第一条规则。

这只是一个不熟悉这些东西的人提出的问题:192.168左右的IP通常不是本地的吗?是的,它们是私有的,我替换了实际范围。@anubhava,这是你正在查看的访问日志。第一个IP是请求IP,第二个是服务器地址,因此不需要它。我们最终修改了iptable来完成阻塞。iptables-A INPUT-m iprange-src range 192.168.0.0-192.168.255.255-j DROP这不是答案,但对于遇到相同问题的其他用户来说,这是一种替代方法。我也不能将此标记为一个答案,因为我是一个新用户。如果用户已经在他们被指示重写的页面上,则重写可以停止循环。cond%{REQUEST_URI}[^/etc/blocked_ip.html]问题是他们没有一直被指示到该页面;大概有65%的时间。我不确定这个解决方案是否有效。我知道我们所处的重写条件并不是不正确的,因为在第一次重写被阻止的页面后,它就正常工作了。在办公室,我们首先阻止了我们的内部访问以进行确认。问题是为什么他们的请求中没有35%被重写。这是我们htaccess中的第一条规则。把它移到IP表上就成功了。