ipset、iptables快速使用

这篇具有很好参考价值的文章主要介绍了ipset、iptables快速使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:ipset 和 iptables 是两个不同但相关的工具,用于管理和操作防火墙规则。

iptables 是 Linux 系统上的经典防火墙工具,用于配置和管理网络数据包过滤规则,控制流量的进出。它使用链(chains)和规则(rules)的概念,基于数据包的源地址、目标地址、端口等信息进行过滤和转发。

ipset 是一个用于管理大规模 IP 地址集合的工具,它提供了高效的数据结构和命令行接口,用于存储和操作 IP 地址、网络和端口的集合。它与 iptables 结合使用,可以更高效地过滤和匹配数据包,提供优化性能和灵活性的防火墙规则管理方案。

实际上,ipset 和 iptables 通常结合使用,以提高防火墙规则的效率和管理能力。通过将 ipset 创建的 IP 地址集合与 iptables 结合,可以更快速地进行 IP 地址过滤和匹配操作。iptables 规则可以引用 ipset 的集合名称,从而将这些集合中的 IP 地址应用于具体的过滤规则。

使用 ipset 可以实现对 IP 地址的分组、分类和管理,而 iptables 提供了对数据包的详细控制和过滤功能。结合使用 ipset 和 iptables,可以更灵活和高效地管理大规模的 IP 地址集合和防火墙规则,提供更好的网络安全保护。

1. 直接来看一条命令
sudo ipset add myset_name 127.0.0.1
#	本条命令的意思是:在名为 myset_name 的一个集合中 添加(add)一条地址为127.0.0.1的ip

sudo ipset add myset_name 127.0.0.1-127.0.1.200
#	可以在一个ipset中批量加入ip地址,固定写法:中间以“-”连接,地址需要写全,不全会报错,加不进去
2. 如何创建一个ipset?
sudo ipset create myset hash:ip 
#	hash:ip表示创建一个使用 IP 地址作为元素的哈希集合。它指定了 ipset 的类型和数据结构,以便有效地存储和检索 IP 地址。冒号前面的部分(hash)表示 ipset 的类型,冒号后面的部分(ip)表示使用的数据类型。
#
#	类型可以是以下之一:
#    hash:ip:使用 IP 地址作为元素的哈希集合。
#    hash:net:使用 IP 网络(CIDR)作为元素的哈希集合。
#    hash:ip,port:使用 IP 地址和端口号组合作为元素的哈希集合。
#    hash:net,port:使用 IP 网络(CIDR)和端口号组合作为元素的哈希集合。
#    其他类型,如 list:set、bitmap:ip、bitmap:port 等。
#
#	 也可以使用-N参数来代替create:sudo ipset -N myset_name hash:ip

sudo ipset create myset_name hash:ip maxelem 1000000
#	ipset默认可以存储65536个元素,使用maxelem指定数量
3. 如何查看当前已有哪些ipset?
sudo ipset list
#	查看当前服务器已创建的ipset

sudo ipset list myset_name
#	查看myset_name表中已经添加的ip地址
4. 此时已经创建了一张ipset表,如何结合iptables使用呢?ipset有什么作用?
sudo iptables -I INPUT -m set ! --match-set myset_name src -p tcp -j DROP
#	本条命令的意思是:使用iptables的规则
#		-I INPUT:这表示在 INPUT 链的开头插入规则 (详见下条 5.四表五链)
#		-m set 表明要使用ipset扩展模块进行匹配
#		!表示取反
#		-p tcp 表明匹配 TCP 协议的数据包 (其他取值:tcp、udp、icmp、icmpv6、esp......)
#		--match-set myset_name src 表明查找数据包的来源是否属于名为`myset_name`的ipset
#		-J 表明如果匹配成功,则丢弃(DROP)掉 (其他取值:ACCEPT、DROP、REJECT、LOG......)
# 整条命令的意思是:使用 iptables 在头部插入一条规则,将未在 myset_name 中匹配到的源IP地址的TCP流量DROP
#
sudo iptables -A INPUT -p tcp -m multiport -dport 8081:8088 -m set ! --match-set myset_name src  -j DROP
# 整条命令的意思是:使用 iptables 在尾部添加一条规则,将访问8081到8088的未在 myset_name 中匹配到的源IP地址的TCP流量DROP
#
#	大致语法:
#		iptables [-t table] COMMAND [chain] CRETIRIA -j ACTION
#		详见这里: https://man7.org/linux/man-pages/man8/iptables.8.html
5. 四表五链
sudo iptables -nvL 
#	查看当前设置了哪些规则
#
# 五链:防火墙的规则需要写入具体的数据链中
#	INPUT(入站数据过滤)
#	OUTPUT(出站数据过滤)
#	FORWARD(转发数据过滤)
#	PREROUTING(路由前过滤)
#	POSTROUTING(路由后过滤)
#
# 四表:有印象即可
#	filter:负责过滤数据包,包括的规则链有:input,output和forward
#	nat:用于网络地址转换(IP、端口),包括的规则链有:prerouting,postrouting 和 output
#	mangle:主要应用在修改数据包、流量整形、给数据包打标识,默认的规则链有:INPUT,OUTPUT、 forward,POSTROUTING,PREROUTING
#	raw:控制 nat 表中连接追踪机制的启用状况,可以控制的链路有 PREROUTING、OUTPUT
6. 添加错了,如何修改/删除一条iptables规则?
iptables -L INPUT --line-numbers
#	表明列出名为 INPUT 的 iptables 链的规则,并显示规则的行号

iptables -R INPUT 2 <new_rule>
#	使用-R参数,修改 INPUT 链中行号为 2 的规则,在 <new_rule> 的位置,替换为要设置的新规则

iptables -D INPUT 3
#	使用-D参数,删除 INPUT 链中行号为 3 的规则
7.持久化保存防火墙规则

所有对iptables规则的设置、删除、修改、都是即时生效的,无需手动重启或生效服务。但如果不保存,当计算机重启后所有的规则都会丢失,所以对防火墙规则进行及时保存的操作是非常必要的。

#	在 Ubuntu 系统中,可以使用以下方法保存和备份防火墙规则:

sudo iptables-save > firewall-rules.txt
#	使用 iptables-save 命令将当前的防火墙规则保存到文件中。可以将输出重定向到一个名为 firewall-rules.txt的文件中

sudo iptables-restore < 文件名称
#	iptables-restore 命令可以批量导入Linux防火墙规则,同时也需要结合重定向输入来指定备份文件的位置
#	导入的文件必须是使用 iptables-save工具导出来的才可以!!!

参考文献:

《一篇搞懂》系列之一 —— iptables
Linux iptables命令详解
Linux下iptables防火墙配置详解
Centos7 ipset命令介绍及使用文章来源地址https://www.toymoban.com/news/detail-624825.html

到了这里,关于ipset、iptables快速使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 超实用!使用Python快速对比两个Excel表格之间的差异

    这是「活用数据」的第 11 篇原创文章 主要介绍如何通过DeepDiff实现两个Excel文件数据的快速对比。 对于日常办公中需要处理数据的同学来说,有时候需要对比两个Excel表格(或者是数据库)的数据是否完全相同。 对于简单少量的数据,我们当然可以人工肉眼对比,但是如果数

    2024年02月15日
    浏览(52)
  • 快速上手Xilinx DDR3 IP核----汇总篇(MIG) ?前言

            本文是 《快速上手Xilinx DDR3 IP核》 系列文章的汇总篇。         该系列介绍了Xilinx 控制DDR3的IP核----MIG IP核的基本构成和使用方法,在MIG 接口的基础上在外部封装了FIFO,使得操作时序更加简单,并用此方法实现了几个练手的小项目。         MIG IP核对外提供了两类

    2024年02月05日
    浏览(38)
  • Vscode快速对比两个文件的不同部分

    打开vscode,打开文件或者文件夹 选中需要对比的文件 按住 ctrl 选择要对比的另一个文件,鼠标右键选择将已选项进行比较 结果如下: 打开文件,点击鼠标右键 命令面板 输入 compare 选择要比较的文件 结果如下 点击扩展,查找 file-compare ,并安装插件 打开文件,鼠标右键,

    2024年02月12日
    浏览(33)
  • Linux iptables使用

      查看状态 systemctl status iptables 启动服务 systemctl start iptables 查看列表 iptables -t filter -L 使用规则 iptables - INPUT -p tcp -s 172.24.140.181 -j DROP iptables -I INPUT -p tcp --dport 22 -s 172.24.140.181 -j ACCEPT iptables -I INPUT -p tcp --dport 8088 -j DROP iptables -I INPUT -p all --dport 8088 -s 192.168.252.139 -j ACCEPT iptab

    2024年02月10日
    浏览(25)
  • iptables的安装和使用

    1、安装 连接服务器后,打开/etc/sysconfig/目录,然后运行以下命令安装 提示Complete!即没问题 2、如果有安装防火墙服务,先停止: 有的话就停止: 3、iptables的使用: 如果还是不行的话,执行iptables -F,清除所有的命令,重新再试一遍(我就是试了两遍才可以的),一定要注

    2024年02月16日
    浏览(21)
  • 快速连接两个金浪路由上网的方法

      像这种两个路由器连接方法中的路由器1是提供物理、数据链和网络层、同时路由器1又是集线器,而路由器2充当交换机的功能,可以把路由器2当作一个交换机来看待、也就是说房间里的电脑实际上都属于路由器1的管辖,那么从路由器连接中分配出来的固定IP地址是不能同时

    2024年02月05日
    浏览(22)
  • 使用 Iptables 命令详细图文教程

    目录 一、防火墙管理工具 二、Iptables 2.1 策略与规则链 2.2 基本的命令参数 2.2.1. 在 iptables 命令后添加 -L 参数查看已有的防火墙规则链。  2.2.2 在 iptables 命令后添加 -F 参数清空已有的防火墙规则链。  2.2.3 把 INPUT 规则链的默认策略设置为拒绝。  2.2.4 向 INPUT 链中添加允许

    2024年02月08日
    浏览(29)
  • 使用 GPT4 和 ChatGPT 开发应用:前言到第三章

    原文:Developing Apps with GPT-4 and ChatGPT 译者:飞龙 协议:CC BY-NC-SA 4.0 在发布仅仅五天后,ChatGPT 就吸引了惊人的一百万用户,这在科技行业及其他领域引起了轰动。作为一个副作用,OpenAI API 用于人工智能文本生成的接口突然曝光,尽管它已经可用了三年。ChatGPT 界面展示了这

    2024年01月20日
    浏览(59)
  • Linux 使用 iptables 禁止某些 IP 访问

    在Linux服务器被攻击的时候,有的时候会有几个主力IP。如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了。 在Linux下封停IP,有封杀网段和封杀单个IP两种形式。一般来说,现在的攻击者不会使用一个网段的IP来攻击(太招摇了),

    2024年02月08日
    浏览(28)
  • [LINUX使用] iptables && tcpdump && wireshark && tshark

    收到来自 10.10.10.10 的数据后都丢弃 直接 reject 来自 10.10.10.* 网段的数据 dump eth0的数据到本地 只抓 目的地址是 10.10.10.10 的包 统计抓包文件里共有多少source ip

    2024年02月09日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包