2021年6月7日 星期一

ipset

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集合中