linux批量设置ip防火墙,【原创文章】linux系统iptables防火墙批量封锁与解封指定国家ip的方法...

现在的cc攻击,ddos攻击满大街都是,搞得天怒人怨,但是又没有什么好办法。而对于很多外贸网站来说,经常被竞争对手各种流量攻击的情况是屡见不鲜,这样的网站遇到cc等流量攻击怎么办呢?

国内经营者运营的外贸网站如果被攻击,一般有两个特点。

第一个特点,目标客户都是国外用户,不关心国内用户的访问情况,只要方便管理网站就好了。

第二个特点,比较悲催,像这样的网站大多数的攻击源都是来自国内。

那么像这种情况,简单粗暴的解决方案来了,我们可以屏蔽国内ip访问我们的网站,最容易的实现方法就是使用linux系统的iptables防火墙了。

显然,首先要收集我们国家的ip段的所在地,已经有人给我们做好了这个工作,http://www.ipdeny.com,自己去选择就好了。下面就可以制定iptables规则了。

封锁指定国家ip访问

第二步就是添加到iptaables防火墙了,不可能一个一个去添加,这里我们用到shell脚本。

具体如下:

1,SSH环境下,建立脚本文件vi blockip.sh

之后点击i

插入代码。

比如我要屏蔽韩国的ip访问,具体代码如下#/bin/bash

wget -O /tmp/kr.zone http://www.ipdeny.com/ipblocks/data/countries/kr.zone

for ip in `cat /tmp/kr.zone`

do

iptables -I INPUT -s $ip -j DROP

done

执行这个脚本bash blockip.sh

这样iptable就添加好了,但是一定要保存“service iptables save”,不然重启就没了。

解封指定国家ip

解封是上面方法的反操作,删除iptables的命令是iptables -D INPUT 11

,这句话的意思就是删除序号为11的规则。也是不可能一个一个去删除,如果有10000个ip段,那是搞死人了。

ssh环境下,首先执行iptables -L -n --line-number

,这个语句就是查看规则的序号,然后用脚本来删除。

ea5d88cf69af4f7c187ea5eda7814082.png

比如我这个,我想删除10到56的规则。

建立脚本文件vi ip_del.sh

之后点击i

插入代码。

比如我要解封刚刚屏蔽的韩国的ip访问,具体代码如下#!/bin/bash

for ((i=10; i<=56; i++))

do

echo "$i"

iptables -D INPUT 10

done

执行这个脚本bash ip_del.sh

刷刷就全部删除了,之后“service iptables save”保存规则,搞定!!

喜欢 (2)or分享 (0)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值