<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="防DDOS攻击的一个方法《用 iptables 屏蔽来自某个国家的 IP（转载）》" id="card1">
<p> 游客</p><p>
标题:防DDOS攻击的一个方法《用 iptables 屏蔽来自某个国家的 IP（转载）》<br/>
正文:<br/>
期六我们一位客户受到攻击，我们的网络监测显示有连续6小时的巨大异常流量，我们立即联系了客户，没有得到回应，我们修改和限制了客户的 VPS，使得个别 VPS 受攻击不会对整个服务器和其他 VPS 用户造成任何影响，我们一直保持这个 VPS 为开通状态（尽管一直受攻击），攻击又持续了24小时，星期天攻击仍在继续，我们忍无可忍，但是仍然无法联系到客户，我们向客户网站的另一负责人询问是否需要我们介入来帮助解决，这位负责人答应后我们立即投入到与 DDoS 的战斗中（我们动态扫描屏蔽坏 IP，现在客户网站已恢复。整个过程很有意思，以后有时间再写一篇博客来描述）。登录到客户 VPS 第一件事情就是查当前连接和 IP，来自中国的大量 IP 不断侵占80端口，典型的 DDos. 所以第一件事是切断攻击源，既然攻击只攻80端口，那有很多办法可以切断，直接关闭网站服务器、直接用防火墙/iptables 切断80端口或者关闭所有连接、把 VPS 网络关掉、换一个 IP，⋯，等等。因为攻击源在国内，所以 VPSee 决定切断来自国内的所有访问，这样看上去网站好像是被墙了而不是被攻击了，有助于维护客户网站的光辉形象。那么如何屏蔽来自某个特定国家的 IP 呢？方法很容易，先到 下载以国家代码编制好的 IP 地址列表，比如下载 cn.zone：# wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone有了国家的所有 IP 地址，要想屏蔽这些 IP 就很容易了，直接写个脚本逐行读取 cn.zone 文件并加入到 iptables 中：#!/bin/bash# Block traffic from a specific country# written by vpsee.comCOUNTRY = &amp;quot;cn&amp;quot;IPTABLES = /sbin/iptablesEGREP = /bin/egrepif [ &amp;quot;$(id -u)&amp;quot; != &amp;quot;0&amp;quot; ]; then   echo &amp;quot;you must be root&amp;quot; 1&amp;gt;&amp;amp;2   exit 1firesetrules() {$IPTABLES -F$IPTABLES -t nat -F$IPTABLES <br/><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=425&amp;Page=1">[&lt;&lt;]</a><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=425&amp;Page=1">[[1]]</a><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=425&amp;Page=2">[2]</a><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=425&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=425">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=425">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://www.xmwzidc.com/blog/wap.asp">首页</a>
</p>
</card>
</wml>