iptables黑/白名單設置(使用ipset 工具)


ipset介紹

ipset是iptables的擴展,它允許你創建 匹配整個地址集合的規則。而不像普通的iptables鏈只能單IP匹配, ip集合存儲在帶索引的數據結構中,這種結構即時集合比較大也可以進行高效的查找,除了一些常用的情況,比如阻止一些危險主機訪問本機,從而減少系統資源占用或網絡擁塞,IPsets也具備一些新防火牆設計方法,並簡化了配置.官網:http://ipset.netfilter.org/

1.ipset安裝

yum安裝: yum install ipset

2.創建一個ipset

ipset create xxx hash:net (也可以是hash:ip ,這指的是單個ip,xxx是ipset名稱)

ipset默認可以存儲65536個元素,使用maxelem指定數量

ipset create blacklist hash:net maxelem 1000000    #黑名單
ipset create whitelist hash:net maxelem 1000000    #白名單

查看已創建的ipset

ipset list

3.加入一個名單ip

ipset add blacklist 10.60.10.xx

4.去除名單ip

ipset del blacklist 10.60.10.xx

5.創建防火牆規則,與此同時,allset這個IP集里的ip都無法訪問80端口(如:CC攻擊可用)

iptables -I INPUT -m set --match-set blacklist src -p tcp -j DROP
iptables -I INPUT -m set --match-set whitelist src -p tcp -j DROP
service iptables save
iptables -I INPUT -m set --match-set setname src -p tcp --destination-port 80 -j DROP

6.將ipset規則保存到文件

ipset save blacklist -f blacklist.txt
ipset save whitelist -f whitelist.txt

7.刪除ipset

ipset destroy blacklist
ipset destroy whitelist

8.導入ipset規則

ipset restore -f blacklist.txt
ipset restore -f whitelist.txt

ipset的一個優勢是集合可以動態的修改,即使ipset的iptables規則目前已經啟動,新加的入ipset的ip也生效

 轉自:http://www.cnblogs.com/harlanzhang/p/6190674.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM