1.安裝ipset命令
#安裝ipset
yum install ipset
2. ipset命令相關(guān)應(yīng)用
#刪除iplist
ipset destroy banthis
#創(chuàng)建規(guī)則:
ipset create banthis hash:net maxelem 1000000
#添加規(guī)則:
ipset add banthis 1.1.1.1/32
#列出規(guī)則:
ipset list
#保存規(guī)則:
ipset save banthis -f banthis.txt
#編輯規(guī)則:
vim banthis.txt
#導(dǎo)入iplist
ipset restore -f banthis.txt
3. 配置iptables規(guī)則
#iptables執(zhí)行規(guī)則
iptables -I INPUT -m set --match-set banthis src -p tcp --destination-port 80 -j DROP
#查找所有規(guī)則
iptables -L INPUT --line-numbers
#刪除一條規(guī)則
iptables -D INPUT 11 (注意,這個(gè)11是行號灶似,是iptables -L INPUT --line-numbers 所打印出來的行號)
##次數(shù)說明肆汹,比如你刪除第一條規(guī)則后,其后的規(guī)則都會發(fā)生變化杠氢,所以建議每刪除一條就進(jìn)行查看一次ip。有些規(guī)則不能刪哦另伍。鼻百。```
### 4. 實(shí)例
a. 清空需要配置的規(guī)則名稱
[root@localhost ~]# ipset destroy banthis
b. 編輯配置文件
```bash
[root@localhost ~]#vim banthis.txt
##文件內(nèi)容寫法:
create banthis hash:net family inet hashsize 1024 maxelem 1000000
add banthis 1.179.183.27
##create 后是名稱
##hash:net 代表的是集合的類型。IP集有多個(gè)類型摆尝。hash:net類型的IP集使用哈希來存儲多個(gè)CIDR塊温艇。
##maxelem 1000000 設(shè)置ip個(gè)數(shù)上限
c.導(dǎo)入配置文件
[root@localhost ~]#ipset restore -f banthis.txt
確保成功:
[root@localhost ~]#ipset list
d.加入iptables配置規(guī)則
[root@localhost ~]#iptables -I INPUT -m set --match-set banthis src -p tcp --destination-port 80 -j DROP
#查看規(guī)則是否生效:
[root@localhost ~]#iptables -L INPUT --line-numbers
##如果看到字樣
num target prot opt source destination
1 DROP tcp -- anywhere anywhere match-set banthis src tcp dpt:http
##則說明it is oook.
e. 刪除規(guī)則
[root@localhost ~]#iptables -D INPUT 1
更多歡迎訪問:http://www.mykernel.cn/