CentOS/RHEL如何ipset管理工具

时间:2019-11-20 08:52:44  来源:igfitidea点击:

在CentOS Linux v6.xRed Hat Enterprise Linux中如何为Netfilter/iptables安装ipset?

解决方案

ipset是Linux 2.4.x和2.6.x内核中的一个框架。
根据类型的不同,当前IP设置可能会以某种方式存储IP地址,(TCP/UDP)端口号或带有MAC地址的IP地址。
用于iptables匹配多个ip和端口,而不影响性能。

安装ipset

首先启用EPEL repo并执行以下yum命令:

# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
# yum install ipset

ipset示例

创建一个ip集合

ipset -N badips iphash
 

添加要控制的ip

ipset -A badips 202.54.1.2
ipset -A badips 203.54.1.2

在iptable中使用ip集合,这样就不需要逐一添加ip

iptables -A INPUT -m set --set badips src -j DROP

下面的示例将创建一个防火墙黑名单:

# ipset create myblacklist hash:ip hashsize 4096
# iptables -A INPUT -m set --set myblacklist src -j DROP

将禁止ip添加到黑名单中

# ipset add myblacklist 192.168.1.2
# ipset add myblacklist 101.44.1.12
# ipset add myblacklist 101.44.1.13