IP集合-ipset

2023-12-15 14:27:22 1605

IP集合-ipset

概述

ipset 是一个 Linux 内核功能,它允许你创建、管理和操作 IP 集合(IP sets)。IP 集合是一种高效的数据结构,可以存储多个 IP 地址、网络地址或者端口号,以便于快速匹配和处理网络数据包。

ipset 工具提供了一组命令行工具,让用户可以创建不同类型的集合(比如哈希集合、有序集合等),将 IP 地址添加到这些集合中,从集合中删除地址,或者检查一个地址是否存在于集合中。它还允许用户将这些 IP 集合结合起来,方便地应用于防火墙规则或者路由策略。

这个功能强大的工具在网络安全和管理中被广泛使用,特别是在需要高效处理大量 IP 地址的情况下,如防火墙规则、流量控制和网络地址转换(NAT)等,主要还是与iptables结合使用

ipset的安装和卸载

官网:http://www.landui.com/

安装

  • 直接使用yum安装,

yum -y install ipset

  • 源代码编译安装

# 安装依赖
yum
-y install libmnl-devel libmnl
# 官网下载源码包
wget https://www.landui.com/ipset-7.19.tar.bz2
# 解压
tar
-xf ipset-7.19.tar.bz2
cd ipset-7.19/
# 编译安装
./configure
--prefix=/usr/local/ipset && make && make install

卸载

  • 使用yum方式安装的可直接yum remove      ipset卸载

  • 编译安装方式卸载:

# 先删除用到ipset的防火墙规则,再删除集合,再删除相关文件
rpm
-ql ipset
/usr/sbin/ipset
/usr/share/doc/ipset-7.1
/usr/share/doc/ipset-7.1/COPYING
/usr/share/doc/ipset-7.1/ChangeLog
/usr/share/man/man8/ipset.8.gz
# 删除上述相关文件以及安装目录/usr/local/ipset的所有内容

ipset命令格式

ipset 命令的基本语法格式如下:

ipset [选项] 命令 [参数]

  • 选项 是可选的,用于修改命令的行为或提供额外的信息。

  • 命令ipset 提供的操作,比如 createadddellistsaverestoredestroy 等等。

  • 参数 是针对命令的具体设置、IP 地址或集合的名称等内容。

使用实例:

# 创建一个 IP 集合:
ipset create myset hash:ip
# 这会创建一个名为 `myset` 的 IP 集合,类型为 `hash:ip`,用于存储 IP 地址。

# 添加一个 IP 地址到集合中:
ipset add myset
192.168.1.100
# 这将 `192.168.1.100` 添加到名为 `myset` 的集合中。

# 删除一个 IP 地址从集合中:
ipset del myset
192.168.1.100
# 这将从名为 `myset` 的集合中删除 `192.168.1.100`。

# 列出集合中的所有 IP 地址:
ipset list myset
# 这会列出名为 `myset` 的集合中的所有 IP 地址。

# 将一个集合中的 IP 地址备份到文件中:
ipset save myset > myset.txt
# 这会将名为 `myset` 的集合中的内容保存到 `myset.txt` 文件中。

# 从文件中恢复 IP 集合:
ipset restore < myset.txt
# 这会从 `myset.txt` 文件中恢复 IP 集合的内容到 `myset`。

# 删除一个 IP 集合:
ipset destroy myset
# 这会删除名为 `myset` 的 IP 集合。

ipset test myset
192.168.1.100
# 这将检查名为 myset 的 ipset 集合中是否包含 192.168.1.100 这个 IP 地址。如果这个 IP 存在于集合中,命令会返回 192.168.1.100 is in set myset.;否则会返回 192.168.1.100 is NOT in set myset。

测试 主机监听8080而不监听80 47.94.58.144 telnet 80通

 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: