如何在Linux上设置防火墙规则

来源:图像处理网作者:半夏头衔:草根站长
导读:本期聚焦于小伙伴创作的《如何在Linux上设置防火墙规则》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Linux上设置防火墙规则》有用,将其分享出去将是对创作者最好的鼓励。

在Linux系统中,防火墙是保护服务器网络安全的核心组件,通过配置合理的防火墙规则,可以限制不必要的网络访问,拦截恶意请求,避免系统端口被非法扫描或攻击。不同的Linux发行版默认使用的防火墙工具存在差异,常见的包括iptables、firewalld和ufw,用户需要根据自己使用的系统选择对应的工具进行规则配置。

如何在Linux上设置防火墙规则

一、iptables防火墙规则设置

iptables是Linux系统中经典的防火墙工具,基于内核的netfilter框架实现,很多老版本Linux发行版默认使用它作为防火墙管理工具。它的规则配置相对底层,灵活性较高,但学习成本也相对更高。

1. 基础规则操作

首先查看当前已有的iptables规则,可以使用以下命令:

# 查看当前filter表的规则,显示规则编号和详细信息
iptables -L -n -v --line-numbers

如果需要开放80端口(HTTP服务常用端口),允许外部访问,可以添加如下规则:

# 在INPUT链中添加规则,允许tcp协议访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

如果要限制特定IP访问22端口(SSH服务常用端口),可以添加如下规则:

# 允许192.168.1.100访问22端口
iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT
# 拒绝其他所有IP访问22端口
iptables -A INPUT -p tcp --dport 22 -j DROP

2. 规则持久化

iptables的规则默认是临时的,系统重启后会丢失,需要将规则保存到文件中实现持久化。在CentOS系统中可以使用以下命令保存:

# 保存iptables规则到配置文件
service iptables save

在Debian或Ubuntu系统中,需要先安装iptables-persistent工具:

# 安装持久化工具
apt-get install iptables-persistent
# 保存当前规则
netfilter-persistent save

二、firewalld防火墙规则设置

firewalld是Red Hat系列发行版(如CentOS 7及以上、Fedora)默认使用的防火墙管理工具,它支持动态更新规则,不需要重启服务就能生效,还引入了区域(zone)的概念,方便用户根据不同网络环境配置不同的规则策略。

1. 基础规则操作

首先查看firewalld的运行状态:

# 查看firewalld服务状态
systemctl status firewalld

开放80端口的命令如下:

# 永久开放80端口,--permanent表示规则永久生效,重启后不丢失
firewall-cmd --permanent --add-port=80/tcp
# 重新加载规则,让配置生效
firewall-cmd --reload

如果要限制特定IP访问服务,可以使用富规则(rich rule):

# 允许192.168.1.100访问22端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
# 重新加载规则
firewall-cmd --reload

2. 区域管理

firewalld的默认区域是public,用户也可以查看所有可用区域:

# 查看所有可用区域
firewall-cmd --get-zones

如果需要将网卡绑定到指定区域,可以使用以下命令:

# 将eth0网卡绑定到trusted区域
firewall-cmd --permanent --zone=trusted --change-interface=eth0
firewall-cmd --reload

三、ufw防火墙规则设置

ufw(Uncomplicated Firewall)是Ubuntu系统默认推荐的防火墙工具,它的设计目标是简化防火墙配置流程,操作命令更加简洁,适合新手用户使用。

1. 基础规则操作

首先启用ufw防火墙:

# 启用ufw,启用后会自动配置基础规则
ufw enable

开放80端口的命令如下:

# 允许80端口的tcp访问
ufw allow 80/tcp

限制特定IP访问22端口的命令如下:

# 允许192.168.1.100访问22端口
ufw allow from 192.168.1.100 to any port 22

2. 规则查看与删除

查看当前ufw规则可以使用以下命令:

# 查看ufw状态和规则列表
ufw status verbose

如果需要删除某条规则,可以先查看规则编号,再执行删除操作:

# 查看带编号的规则列表
ufw status numbered
# 删除编号为1的规则
ufw delete 1

四、防火墙规则配置注意事项

  • 配置规则前建议先备份原有规则,避免配置错误导致无法远程连接服务器。
  • 修改SSH服务对应的端口规则时,一定要先确保当前会话的规则不会被误删,否则可能导致服务器失联。
  • 规则配置完成后建议测试访问是否正常,确认规则生效且不影响正常业务。
  • 如果是云服务器,还需要注意云服务商的安全组规则,需要和系统内的防火墙规则配合配置。

不同防火墙工具的适用场景不同,iptables适合需要精细化控制规则的场景,firewalld适合Red Hat系列发行版用户,ufw适合Ubuntu新手用户,用户可以根据自己的需求选择合适的工具进行配置。

Linux防火墙规则iptablesfirewalldufw修改时间:2026-07-21 14:51:30

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。