news 2026/4/23 16:21:30

iptables日常使用和操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
iptables日常使用和操作

一、iptables介绍

1、iptables介绍

iptables组件是一种工具,也被称为用户空间(userspace),可以操作插入,修改和除去信息包,过滤表中的规则。

2、防火墙的类型

①主机型防火墙:防护本服务器的,保护本服务器的安全 ②网络型防火墙:架设在多个服务器之间,主要是为了防护其他服务器的,一般现在专用的防火墙设备都是网络型防火墙

二、iptables基础概念
1、iptables有4表5链

4表:

filter默认表,数据包过滤(允许/拒绝数据包),其中包含INPUT、FORWARD、OUTPUT
nat网络地址转换,(端口映射,地址映射等),其中包含PREROUTING、POSTROUTING、OUTPUT
mangle特殊数据包修改(修改TOS/TTL/标记等)
raw绕过连接跟踪机制,包含PREROUTING、OUTPUT。设置raw时,是为了不让iptables做数据包的链接跟踪处理,提高性能,一般情况下不使用

5链:

INPUT处理进入本机的数据包
FORWARD处理经过本机路由的数据包
OUTPUT处理本机发出的数据包
PREROUTING数据包进入路由决策前修改
POSTROUTING数据包离开路由决策后修改

数据流转过程:

1.数据包首先进入 PREROUTING 链(在进入本机之前)。这里可以进行 DNAT 或 TOS 设置等操作。 2.根据目标地址,数据包可能进入 INPUT 或 FORWARD 链。如果是本机的目标地址,则进入 INPUT 链;否则,进入 FORWARD 链。 3.如果数据包在本机上被处理(例如,回应一个连接请求),它将进入 OUTPUT 链。 4.在离开本机之前,数据包会经过 POSTROUTING 链,这里可以进行 SNAT 或其他修改操作。 5.最后,数据包离开本机。
2、逻辑概念

①在不同的表中:优先级从高到低raw—>mangle—>nat—>filter

②在同一张表中,当匹配到相关第一条规则后,后面的规则就不会再匹配了,(从上到下规则)

三、iptables安装和使用
1、安装iptables
yum -y install iptables-services
2、启动防火墙
systemctl statrt iptables
3、关闭防火墙
systemctl stop iptables
4、重启防火墙
systemctl resatrt iptables
5、开机自启
systemctl enable iptables
6、永久关闭防火墙
systemctl disabled iptables
7、查看防火墙的运行状态
systemctl status iptables
8、保存配置文件
iptables-save > /etc/sysconfig/iptables
9、查看当前服务器iptables的设置
iptables -n -L
10、查看某个表的规则,需要将table换成具体的表名
iptables -t table -nL
四、iptables语法规则
iptables [-t table] COMMAND [chain] CONDITION -j ACTION ​ 参数: 1、-t table:表示表名,分别时filter、nat、mangle、raw,如果不带t,默认为filter ​ 2、COMMAND -A:追加,在当前链的最尾行新增一个规则,eg:iptables -A ... -I num:把当前规则插入为第几条,eg:iptables -l 3...; -R num:Replays替换/修改第几条规则,eg:iptables -R 3...; -D num:delete删除,删除第几条规则,eg:iptables -D 3...; ​ ​ 3、chain 链路名称(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING) ​ 4、CONDITION 1.-p:代表协议类型。 传输协议,tcp、udp、icmp、vrrp等 all:表示所有使用的协议,在规则中不指定-p协议下,默认使用all 协议对应的数值(tcp:6) 使用长的参数名--protocol 2.-m:指定iptables的插件模块 State:状态模块,常用 ENTABLISHED:建立长连接的状态 RELATED:该数据包和我们主机发出的数据包相关的包 NEW:新建立链接数据包 INVALID:无效的数据包 例: Iptables -A INPUT -m state RELATED,ENTABLISHED -j ACCEPT 3,-s:代表源地址 指定数据包的源地址 可以是ip地址,也可以是主机名或者域名 例如-s 192.168.99.24/32,表示针对特定地址 对于网络掩码,使用/mask表示 如果不指定-s参数,则表示匹配所有源地址 也可以使用长的参数名--src或--source ​ 4.-d:代表目的地址 指定数据包的目的地址 可以是ip地址,也可以是主机名或者域名 例如-d 192.168.99.24/32,表示针对特定地址 对于网络掩码,使用/mask表示 如果不指定-d参数,则表示匹配所有源地址 也可以使用长的参数名--drc或--destination ​ 5.--sport代表源端口 限制来源的端口 可以是一个端口,也可以是端口范围。--sport 80 \ --sport 11000:13000 ⑥--dport代表目的端口 显示目标的端口号 可以是一个端口,也可以是端口范围。--dport 80 \ --dport 11000:13000 ​ 6.-i代表入站接口 -i表示入站时的网络接口 指定数据包进入INPUT、OUTPUT、FORWARD链时经由的网络接口 例如-i eth0表示该规则应该针对从eth0进来的数据包 如果不指定-i参数,经由系统中所有可用的接口进入数据包都可以匹配该规则 ​ ​ 5、-j ACTION参数 ACCEPT:接受/通过/允许 DROP:悄悄丢弃,一般用于drop来隐藏身份以及隐藏链表 REJECT:明示拒绝,--reject-with参数表示名拒绝的原因 REDIRECT:将包重新导向另一个端口(PNAT),利用这个功能做端口转发 MASQUERADE:改写数据包来源IP为防火墙NIC IP,常用于链接公网时使用
五、案例:
1、查看当前各个表的规则
iptables -L(列出规则) -n(已数字形式显示IP和端口) -t 指定表名 -v(显示数据包和字节计数) --line-numbers(显示规则的行号) 例: # 查看 filter 表(默认表)的所有规则 iptables -L -n --line-numbers iptables -t nat -L -n --line-numbers iptables -L -v -n -t
2、清空规则
iptables -F(删除) -t 指定表 # 清空所有规则(filter 表) 例: iptables -F iptables -t nat -F # 删除所有自定义链 iptables -X ​ # 重置所有计数器(统计信息) iptables -Z
3、设置默认策略
# 设置 INPUT 链默认拒绝所有入站流量 iptables -P INPUT DROP ​ # 设置 OUTPUT 链默认允许所有出站流量 iptables -P OUTPUT ACCEPT ​ # 设置 FORWARD 链默认拒绝所有转发流量 iptables -P FORWARD DROP
4、允许特定流量
iptables -A INPUT -p tcp --dport 22 -j ACCEPT ​ -A INPUT:追加到 INPUT 链 -p tcp:匹配 TCP 协议 --dport 22:目标端口 22(SSH) -j ACCEPT:允许通过 ​ #允许ICMP iptables -A INPUT -p icmp -j ACCEPT #允许 HTTP(80)和 HTTPS(443) iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT 允许本地回环(lo) iptables -A INPUT -i lo -j ACCEPT
5、拒绝特定流量
iptables -A INPUT -s 192.168.1.100 -j DROP 参数: -s 192.168.1.100:匹配源 IP -j DROP:丢弃数据包(不回复) ​ #拒绝某个端口 iptables -A INPUT -p tcp --dport 3306 -j DROP # 拒绝 MySQL 端口 ​
6、删除规则
# 删除 INPUT 链的第 2 条规则 iptables -D INPUT 2 # 删除 SSH 允许规则 iptables -D INPUT -p tcp --dport 22 -j ACCEPT
7、恢复规则
iptables-restore < /etc/iptables/rules.v4
8、保存规则
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 15:08:49

LightVAE:让视频生成提速2-3倍的高效方案

LightVAE&#xff1a;让视频生成提速2-3倍的高效方案 【免费下载链接】Autoencoders 项目地址: https://ai.gitcode.com/hf_mirrors/lightx2v/Autoencoders LightVAE作为LightX2V团队推出的高效视频自编码器&#xff08;VAE&#xff09;系列&#xff0c;通过架构优化和…

作者头像 李华
网站建设 2026/4/23 12:36:31

python校园网上商城便利店跑题平台_1jxhb--论文_pycharm django vue flask

目录已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;已开发项目效果实现截图 同行可拿货,招校园代理 python校园网上商城便利店跑题平台_1jxhb–论文_pycharm djan…

作者头像 李华
网站建设 2026/4/23 3:16:12

智谱Open-AutoGLM部署避坑指南(90%新手都会忽略的3个细节)

第一章&#xff1a;智谱Open-AutoGLM模型怎么部署部署智谱AI推出的Open-AutoGLM模型&#xff0c;需基于其开源代码与预训练权重&#xff0c;在具备CUDA支持的Linux服务器环境中完成。整个过程涵盖环境配置、依赖安装、模型拉取及服务启动等关键步骤。环境准备 确保服务器已安装…

作者头像 李华
网站建设 2026/4/23 14:48:06

【AI推理框架选型指南】:为何Open-AutoGLM成为行业新宠?

第一章&#xff1a;安装Open-AutoGLM推理引擎框架Open-AutoGLM 是一款专为自动化代码生成与语义理解任务设计的开源推理引擎框架&#xff0c;支持多种大语言模型的本地部署与高效推理。在开始使用该框架前&#xff0c;需完成环境准备、依赖安装与核心组件配置。环境准备 在安装…

作者头像 李华
网站建设 2026/4/23 13:29:54

为什么90%的AI自动化团队都在用Open-AutoGLM群控?真相令人震惊

第一章&#xff1a;为什么90%的AI自动化团队都在用Open-AutoGLM群控&#xff1f;真相令人震惊在AI自动化领域&#xff0c;效率与协同能力决定了项目成败。Open-AutoGLM作为开源的多智能体群控框架&#xff0c;凭借其模块化架构和强大的任务调度能力&#xff0c;迅速成为行业首选…

作者头像 李华
网站建设 2026/4/23 16:18:04

【Open-AutoGLM安装全攻略】:手把手教你5步完成推理引擎部署

第一章&#xff1a;Open-AutoGLM推理引擎概述Open-AutoGLM 是一款专为大规模语言模型设计的高性能推理引擎&#xff0c;旨在优化生成式任务的执行效率与资源利用率。其核心架构融合了动态批处理、内存优化与硬件加速技术&#xff0c;支持在多种部署环境下实现低延迟、高吞吐的文…

作者头像 李华