讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux如何配置防火墙iptables_Linux iptables防火墙配置方法

酷浩吖_8039

酷浩吖_8039

发布时间:2026-04-05 17:21:34

|

403人浏览过

|

来源于php中文网

原创

iptables是内核netfilter的用户态工具,非传统服务;重启丢规则需手动保存,确认生效需检查firewalld状态、iptables规则链、内核模块及命令版本。

linux如何配置防火墙iptables_linux iptables防火墙配置方法

iptables 不是“开个服务就能用”的传统服务,它本质是内核 netfilter 框架的用户态操作工具。在 CentOS 7+/Ubuntu 16.04+ 等现代发行版中,iptables 命令仍可用,但默认不带持久化服务——你加的规则重启就丢,除非手动保存。


怎么确认当前生效的是 iptables 还是 firewalld

别猜,直接看:

  • systemctl status firewalld:如果显示 active (running),说明 firewalld 正在管事,此时 iptables -L 显示的可能是它自动生成的兼容规则(非你手写的)
  • iptables -t filter -S:输出原始规则语句,比 -L 更可靠,能看清是否真有你加的规则
  • lsmod | grep ip_tables:返回非空说明内核模块已加载,iptables 命令底层可用
  • which iptables 和 iptables --version:确认命令存在且版本 ≥ 1.4.21(避免老系统里缺 -m state 支持)

关键点:Ubuntu 默认没装 iptables-services 包,CentOS 7+ 默认禁用 iptables 服务,但 iptables 命令本身仍可临时加规则。


添加一条放行 Web 端口的 INPUT 规则

常见错误是只写 -A INPUT -p tcp --dport 80 -j ACCEPT 就以为完事了——这规则加在链末尾,而默认策略(POLICY DROP)可能已经把包拒之门外。

正确做法(以 Ubuntu/Debian 或关闭 firewalld 的 CentOS 为例):

  • 先确保已有 ESTABLISHED/RELATED 流量放行:iptables -I INPUT 1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  • 再插入新规则到合适位置(比如第2条):iptables -I INPUT 2 -p tcp --dport 80 -j ACCEPT
  • 最后检查顺序:iptables -nL INPUT --line-numbers,确认 ESTABLISHED 在最前、你的规则紧随其后

注意:-I 插入比 -A 追加更安全;--dport 必须配合 -p tcp 或 -p udp,否则无效;conntrack 模块名在新版内核中替代了旧的 state 模块(-m state --state 已弃用)。


为什么重启后规则没了?怎么保存

因为 iptables 规则是运行时写进内核的,不自动落盘。不同系统保存方式不同:

  • Ubuntu/Debian:sudo apt install iptables-persistent,然后 sudo netfilter-persistent save(会存到 /etc/iptables/rules.v4)
  • CentOS 7+(启用传统服务):sudo yum install iptables-services,再 sudo service iptables save(存到 /etc/sysconfig/iptables)
  • 通用临时方案(不推荐长期用):iptables-save > /root/my-iptables.rules,开机时用 iptables-restore 加载

容易踩的坑:Ubuntu 上装了 iptables-persistent 但没运行 netfilter-persistent reload,规则依然不会加载;CentOS 7+ 执行 service iptables save 前必须先 systemctl stop firewalld,否则会被覆盖。


INPUT 链里有一条 REJECT 规则,但它总在生效,怎么调顺序

iptables 是**从上到下逐条匹配**,一旦命中就执行目标(ACCEPT/DROP/REJECT),不再继续。所以如果你在末尾加了 REJECT,又没在它前面放好 ACCEPT 规则,所有流量都会被拦住。

排查和修复步骤:

  • 用 iptables -nL INPUT --line-numbers 查看带行号的规则列表
  • 找到那条 REJECT 规则的行号(比如第5行),再看它上面有没有覆盖目标端口的 ACCEPT
  • 若没有,用 iptables -I INPUT 4 -p tcp --dport 22 -j ACCEPT 把 SSH 规则插到它前面
  • 若已有但位置靠后,先删掉再重插:iptables -D INPUT 5,再 iptables -I INPUT 4 ...

真正麻烦的不是加规则,而是理解「匹配即终止」这个逻辑——很多连不上 SSH 的问题,根源就是一条 REJECT 规则挡在了所有 ACCEPT 前面,而且没人去看行号。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

754

2023.11.24

tcp和udp的区别
tcp和udp的区别

TCP和UDP的区别,在连接性、可靠性、速度和效率、数据报大小以及适用场景等方面。本专题为大家提供tcp和udp的区别的相关的文章、下载、课程内容,供大家免费下载体验。

483

2023.07.25

udp是什么协议
udp是什么协议

UDP是OSI参考模型中一种无连接的传输层协议。本专题为大家带来udp是什么协议的相关文章,免费提供给大家。

2651

2023.08.08

tcp和udp有什么区别
tcp和udp有什么区别

tcp和udp的区别有:1、udp是无连接的,tcp是面向连接的;2、udp是不可靠传输,tcp是可靠传输;3、udp是面向报文传输,tcp是面向字节流传输。想了解更多tcp相关的内容,可阅读本专题下面的相关文章。

3109

2024.11.14

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

3910

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3353

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2513

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

6050

2023.07.05

C++运算符基础入门
C++运算符基础入门

本专题详细讲解了C++运算符的类型、语法与使用方法,涵盖算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符及其他特殊运算符,并通过代码示例解析优先级与结合性。

0

2026.10.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn