linux中ipset命令的使用方法详解
作者:lijiaocn 发布时间:2023-07-22 19:45:07
ipset介绍
iptables是在linux内核里配置防火墙规则的用户空间工具,它实际上是netfilter框架的一部分.可能因为iptables是netfilter框架里最常见的部分,所以这个框架通常被称为iptables,iptables是linux从2.4版本引入的防火墙解决方案.
ipset是iptables的扩展,它允许你创建 匹配整个地址sets(地址集合) 的规则。而不像普通的iptables链是线性的存储和过滤,ip集合存储在带索引的数据结构中,这种结构即时集合比较大也可以进行高效的查找.
除了一些常用的情况,比如阻止一些危险主机访问本机,从而减少系统资源占用或网络拥塞,IPsets也具备一些新防火墙设计方法,并简化了配置.
官网:http://ipset.netfilter.org/
安装
rpm -ivh libmnl-devel-1.0.2-3.el6.x86_64.rpm libmnl-1.0.2-3.el6.x86_64.rpm
tar xvf ipset-6.24.tar.bz2
cd ipset-6.24
./configure
make
make install
#注意:
如果在centos6.6或其他情况下安装时候,configure报错如下
configure: error: Invalid kernel source directory /lib/modules/2.6.32-358.el6.x86_64/source
解决:需要安装内核源码包kernel-devel-2.6.32-358.el6.x86_64.rpm
创建ipset
ipset -n或者ipset create:
n, create SETNAME TYPENAME [ CREATE-OPTIONS ]
SETNAME是创建的ipset的名称,TYPENAME是ipset的类型:
TYPENAME := method:datatype[,datatype[,datatype]]
method指定ipset中的entry存放的方式,随后的datatype约定了每个entry的格式。
可以使用的method:
bitmap, hash, list
可以使用的datatype:
ip, net, mac, port, iface
添加记录
ipset add用于在ipset中添加记录:
add SETNAME ADD-ENTRY [ ADD-OPTIONS ]
向ipset中添加entry的时候,加入的entry的格式必须与创建ipset是指定的格式匹配。
$ipset creat foo hash:ip,port,ip
$ipset add foo ipaddr,portnum,ipaddr
$ipset list foo
Name: foo
Type: hash:ip,port,ip
Revision: 2
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 16584
References: 0
Members:
192.168.1.2,tcp:80,192.168.1.3
删除记录
ipset del用于从ipset中删除记录:
del SETNAME DEL-ENTRY [ DEL-OPTIONS ]
查询记录
ipset test可以检查目标entry是否在ipset中:
test SETNAME TEST-ENTRY [ TEST-OPTIONS ]
ipset list可以查看ipset的所有内容:
list [ SETNAME ] [ OPTIONS ]
导出导入
ipset save可以导出所有的ipset:
save [ SETNAME ]
ipset restore则用于将导出的内容导入。
其它
flush [ SETNAME ]
Flush all entries from the specified set or flush all sets if none is given.
e, rename SETNAME-FROM SETNAME-TO
Rename a set. Set identified by SETNAME-TO must not exist.
w, swap SETNAME-FROM SETNAME-TO
Swap the content of two sets, or in another words, exchange the name of two sets. The referred sets must exist and identical type of sets can be swapped only.
help [ TYPENAME ]
Print help and set type specific help if TYPENAME is specified.
version
Print program version.
- If a dash is specified as command, then ipset enters a simple interactive mode and the commands are read from the standard input. The interactive mode can be finished by entering the
pseudo-command quit.
在iptables中使用ipset
在iptables中可以使用-m set
启用ipset模块,例如。
-A POSTROUTING -m set --match-set felix-masq-ipam-pools src -m set ! --match-set felix-all-ipam-pools dst -j MASQUERADE
iptables的set模块:
set
This module matches IP sets which can be defined by ipset(8).
[!] --match-set setname flag[,flag]...
where flags are the comma separated list of src and/or dst specifications and there can be no more than six of them. Hence the command
iptables -A FORWARD -m set --match-set test src,dst
...
在TARGET中也可以操作ipset:
SET
This module adds and/or deletes entries from IP sets which can be defined by ipset(8).
--add-set setname flag[,flag...]
add the address(es)/port(s) of the packet to the set
--del-set setname flag[,flag...]
delete the address(es)/port(s) of the packet from the set
where flag(s) are src and/or dst specifications and there can be no more than six of them.
...
在man iptables-extensions
中可以找到set module
和SET TARGET
的所有选项。
来源:http://www.lijiaocn.com/%E6%8A%80%E5%B7%A7/2017/08/06/linux-net-ipset.html


猜你喜欢
- 品牌博客成功的三进策略:一、人脉进门所有成功博客的身边都有一个很强大的由其他博客撰写者组成的支持团。网络在很大程度上可以从很多方面帮助你,这
- 在网络科技时代,SOHO(Small OfficeHome Office)或远程办公(Tele-office)作为一种新的工作和生活方式,已
- 当用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS
- SEO最常见的问题之今天你的站又被降权了吗?网站被降权是常有的事,相信每位站长都曾经历过。一不留神,被降权了,再怎么千万次的问候某个伟大的女
- 前二天为一个客户添加了一台服务器。共同承担一个论坛的运作。但是。要实现负载均衡。的确是件难事。之前有试过几个方法,一、DNS轮值。。优点:简
- 我做seo已经有些年头多了,做了一些比较成熟的网站,而且所在的网站公司相对来说也是还说的过去的。我现在在阿邦网做网站优化工作。在工作中,我会
- 2009年9月28日由51wan(我要玩)举办的“寻找女一号”选秀大赛,已如火如荼的进入到了第二阶段(51强进25强)!在经过一个月的残酷报
- 其实这个也没有什么可以改的,因为以前的也能用,不过局限性太小,现在,在代码里面用一个函数来获取表单所有数据来构造URL,避免一些不必要的麻烦
- 校内网的人气大家都知道,据校内自己官方数据,目前校内网真实注册用户超过4000万、PV4亿、日登陆2200万人次。这些都是高质量的流量,我们
- 在刚装完mysql,就建立了数据库abc,然后新建一个abc表,插入英文没有问题,但是插入中文就有问题,会报错:ERROR 1366 (HY
- 个人站长如何选择做站项目,说白了就是如何给自己的网站定位,确定自己的网站做什么主题,献给打算做站或者重新做站的站长以为他们选择做站主题提供个
- 本文介绍了如何在VMware workstation 14 pro上安装系统,供大家参考,具体内容如下点击创建新的虚拟机选择稍后安装系统,否
- AHCI 全名Advanced Host Controller Interface,是 Intel 所主导的一项技术,可以发挥SATA 硬盘
- SEO网站排名优化成为网络营销中不可忽视的力量,SEO成功制胜点在于链接。链接的初衷,目的很单纯,链接多半是为了用来介绍其它连接给访问者,所
- FTP站点是因特网上比较重要的资源,但是登录FTP网站和操作FTP站点上的文件或文件夹仍然比较繁琐。我们知道,在资源管理器器可以把一个远程电
- 网页内容是写给谁看得?这个问题不是客户问我的,而是我提出的。对这个问题的理解和把握,可以看出你对SEO的认识程度。或许很多网站设计者会毫不犹
- 前几日写了2010年可能会出现的一些常见的网络骗局,经过多日的思索,今天决定写剩下的那些骗局了。并不是因为不知道写什么,而且不知道要怎样写,
- 为了便于搜索引擎抓取,俺们可以将wordpress进行静态URL重写、下面是URL ReWrite的规则!下面是Rewrite规则:(请将下
- 子邮件传递可以由多种协议来实现。目前,在Internet网上最流行的三种电子邮件协议是SMTP、POP3和IMAP,下面分别简单介绍。◆SM
- 1. pv 命令有时候我们在电影屏幕上看到一些字幕一个个匀速显示出来,像有人在边敲键盘,边显示一样。Linux上的pv命令可以实现这种效果。