服务异常如何快速处理?

在Linux系统中,防火墙是保护系统安全的核心组件,它通过控制网络流量进出,有效防御恶意攻击,不同Linux发行版使用不同的防火墙管理工具,本文将详细讲解三种主流工具的操作方法:firewalld(适用于CentOS/RHEL/Fedora)、ufw(适用于Ubuntu/Debian)和基础工具iptables


firewalld 操作指南(推荐用于CentOS/RHEL 7+)

firewalld提供动态管理功能,支持运行时修改规则而无需重启服务。

基础命令

sudo systemctl stop firewalld
sudo systemctl restart firewalld
# 设置开机自启
sudo systemctl enable firewalld

开放端口(以HTTP/HTTPS为例)

# 开放80端口(HTTP)
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
# 开放443端口(HTTPS)
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
# 重新加载配置
sudo firewall-cmd --reload

允许服务(如SSH)

sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --reload

阻止特定IP

sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject' --permanent
sudo firewall-cmd --reload

查看当前规则

sudo firewall-cmd --list-all  # 查看所有规则
sudo firewall-cmd --list-ports  # 查看开放端口

ufw 操作指南(推荐用于Ubuntu/Debian)

ufw(Uncomplicated Firewall)是简化版的防火墙管理工具。

启用ufw

sudo ufw enable  # 启用
sudo ufw disable # 禁用

开放端口与服务

# 开放SSH(默认端口22)
sudo ufw allow ssh
# 开放自定义端口(如8080)
sudo ufw allow 8080/tcp
# 允许特定IP访问
sudo ufw allow from 192.168.1.50

拒绝流量

# 拒绝HTTP访问
sudo ufw deny http
# 阻止IP
sudo ufw deny from 203.0.113.10

删除规则

# 先查看规则编号
sudo ufw status numbered
# 根据编号删除(如删除规则2)
sudo ufw delete 2

重置规则

sudo ufw reset  # 清除所有规则并禁用

iptables 操作指南(通用底层工具)

iptables是Linux内核的底层防火墙,适用于所有发行版,但规则需手动保存。

开放端口

# 允许80端口
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

阻止IP

sudo iptables -A INPUT -s 10.0.0.5 -j DROP

保存规则

# CentOS/RHEL
sudo service iptables save
# Ubuntu/Debian
sudo apt install iptables-persistent
sudo netfilter-persistent save

查看规则

sudo iptables -L -v

关键注意事项

  1. 避免锁定自己

    • 修改规则前确保开放SSH端口(默认22),否则可能导致无法远程登录。
    • 测试规则前使用sudo iptables -P INPUT ACCEPT临时允许所有流量。
  2. 备份配置

    • firewalld:备份/etc/firewalld/目录
    • ufw:备份/etc/ufw/目录
    • iptables:运行sudo iptables-save > backup.rules
  3. 优先级问题

    • 规则按顺序匹配,第一条匹配的规则生效。
    • 使用iptables -I INPUT 1将规则插入顶部。
  4. 工具兼容性

    避免同时启用多个防火墙工具(如firewalld和iptables),可能引发冲突。


  • 初学者:优先使用ufw(Ubuntu)或firewalld(CentOS),操作简单。
  • 高级用户:直接操作iptables,灵活性更高。
  • 生产环境:修改前务必备份规则,并通过telnetnmap测试端口是否生效。

引用说明: 参考Linux官方文档:

  • firewalld: firewalld.org
  • ufw: Ubuntu UFW指南
  • iptables: netfilter.org
    所有命令均在CentOS 8、Ubuntu 22.04 LTS实测验证。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4472.html

(0)
酷番叔酷番叔
上一篇 2025年6月14日 13:52
下一篇 2025年6月14日 14:53

相关推荐

  • 如何退出 cc命令 linux

    Linux 中,要退出 cc 命令,可按 Ctrl + C

    2025年8月18日
    2900
  • Linux系统如何调用C语言程序?

    在Linux操作系统中,C语言作为系统级开发的核心语言,其调用与执行过程涉及环境搭建、代码编写、编译链接及系统交互等多个环节,本文将详细说明Linux环境下C语言的完整调用流程,从基础环境准备到高级系统调用实现,帮助读者全面掌握Linux与C语言的协同工作方式,需确保系统已安装C语言编译工具链,Linux主流发……

    2025年9月19日
    2200
  • 如何轻松创建Linux系统镜像文件?

    在Linux环境中制作镜像文件是备份系统、迁移数据或创建可部署模板的关键操作,以下是三种主流方法,涵盖不同场景需求:制作整个磁盘/分区的原始镜像(适用于系统克隆)工具:dd命令原理: 逐字节复制原始设备,生成.img或.iso格式的精确副本,包含分区表、引导扇区和所有数据,操作步骤:识别设备路径sudo fdi……

    2025年8月7日
    3600
  • Linux逐行读取文件的最佳方法?

    核心方法详解while 循环 + read 命令while IFS= read -r line; do echo "处理内容: $line"done < "文件名.txt"关键参数IFS=:防止首尾空格被截断-r:禁止反斜杠转义(如\n不会被解释为换行)适用场景:中……

    2025年6月22日
    5300
  • linux新手如何学会看日志

    对于Linux新手来说,日志系统就像系统的“黑匣子”,记录了系统运行、服务状态、错误信息等关键数据,学会看日志,是排查故障、理解系统行为的核心技能,本文将从基础概念到实用命令,带你一步步掌握日志查看方法,日志是什么?为什么重要?日志是系统或应用程序在运行过程中产生的记录文件,包含时间、事件、进程ID、错误描述等……

    2025年9月9日
    2000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信