原文地址:點擊打開鏈接
在Linux服務器被攻擊的時候,有的時候會有幾個主力IP。如果能拒絕掉這幾個IP的攻擊的話,會大大減輕服務器的壓力,說不定服務器就能恢復正常了。
在Linux下封停IP,有封殺網段和封殺單個IP兩種形式。一般來說,現在的攻擊者不會使用一個網段的IP來攻擊(太招搖了),IP一般都是散列的。於是下面就詳細說明一下封殺單個IP的命令,和解封單個IP的命令。
在Linux下,使用ipteables來維護IP規則表。要封停或者是解封IP,其實就是在IP規則表中對入站部分的規則進行添加操作。
要封停一個IP,使用下面這條命令:
iptables -I INPUT -s ***.***.***.*** -j DROP
要解封一個IP,使用下面這條命令:
iptables -D INPUT -s ***.***.***.*** -j DROP
參數-I是表示Insert(添加),-D表示Delete(刪除)。後面跟的是規則,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放棄連接。
此外,還可以使用下面的命令來查看當前的IP規則表:
iptables -list
比如現在要將123.44.55.66這個IP封殺,就輸入:
iptables -I INPUT -s 123.44.55.66 -j DROP
要解封則將-I換成-D即可,前提是iptables已經有這條記錄。如果要想清空封掉的IP地址,可以輸入:
iptables -flush
要添加IP段到封停列表中,使用下面的命令:
iptables -I INPUT -s 121.0.0.0/8 -j DROP
其實也就是將單個IP封停的IP部分換成了Linux的IP段表達式。關於IP段表達式網上有很多詳細解說的,這裏就不提了。
相信有了iptables的幫助,解決小的DDoS之類的攻擊也不在話下!
參考:http://blog.renhao.org/2010/01/linux-ban-unban-ip/
附:其他常用的命令
編輯 iptables 文件
vi /etc/sysconfig/iptables
關閉/開啓/重啓防火牆
/etc/init.d/iptables stop
#start 開啓
#restart 重啓
驗證一下是否規則都已經生效:
iptables -L
保存並重啓iptables