ipset 安裝
sudo apt update
sudo apt install ipset
ipset建立基於ip hash的集合名稱
例如 blacklist表示集合的名字是blacklist
hashsize 4096 表示初始值為4096個,如果滿了,這個 hash 會自動擴容為之前的兩倍。最大能儲
存的數量是 maxelem指定的值;hashsize 的預設值是 1024
maxelem 1000000表示最大元素個數為100000 ,ipset預設值為65536
timeout 3600 表示封禁3600s;
ipset create blacklist hash:ip hashsize 4096 maxelem 1000000 timeout 3600
iptables開啟封禁80,443
iptables -A INPUT -p tcp -m set --match-set blacklist src -m multiport --dports 443,80 -j DROP
ipset 命令
ipset create blacklist hash:ip,port hashsize 4096 maxelem 1000000 timeout 100 #加入集合
ipset del blacklist x.x.x.x # 從 blacklist 集合中刪除內容
ipset add blacklist x.x.x.x #在集合內增加內容
ipset list blacklist # 檢視 blacklist 集合內容
ipset list # 檢視所有集合的內容
ipset flush blacklist # 清空 blacklist 集合
ipset flush # 清空所有集合
ipset destroy blacklist # 銷燬 blacklist 集合
ipset destroy # 刪除所有集合
如ipset save blacklist > test.txt # 輸出 banip 集合內容到test.txt
ipset save > test.txt # 輸出所有集合內容到test.txt
ipset save blacklist # 輸出 blacklist 集合內容到標準輸出
ipset save # 輸出所有集合內容到標準輸出
ipset restore # 根據輸入內容恢復集合內容
如 ipset restore <test.txt # 根據test.txt內容恢復集合內容
service ipset save #儲存
service ipset restart #restart ipset
ipset test blacklist x.x.x.x. #測試x.x.x.x.這個ip是否在blacklist集合中