当前位置: 首页 > 工具软件 > ipset_list > 使用案例 >

服务器安全-使用ipset 和iptables禁止国外IP访问

全兴运
2023-12-01

服务器遭受ddos攻击,发现发部分IP来自国外……

IPSET安装

yum install ipset 
// 安装ipset
ipset create china hash:net hashsize 10000 maxelem 1000000
// 创建地址表  
ipset add china 172.18.0.0/16 
ipset list china

获取国内IP地址段并导入

vi ipset_china.sh
#!/bin/bash
rm -rf cn.zone
wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone
for i in `cat cn.zone`
do
ipset add china $i
done
~     

执行上面的脚本,将国内的ip段写进china

chmod 777 ipset_china.sh 
./ipset_china.sh

可通过下面命令查看写入结果 

ipset list china
检查目标ip是否在ipset集合中
ipset test china 1.1.1.1
删除条目
ipset del china 1.1.1.1
清空ipset中所有集合的ip条目(删条目,不删集合)
ipset flush china

  删除ipset中的某个集合或者所有集合:ipset destroy

ipset  destroy china
需要保存配置,不然重启会失效
保存ipset规则
ipset save china -f /root/china.ipset
导入ipset规则
/sbin/ipset restore -f /root/china.ipset #写到/etc/rc.d/rc.local中给执行权限

iptables

-A INPUT -m set --match-set china src -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m set --match-set china src -p tcp -m tcp --dport 3306 -j ACCEPT

 类似资料: