服务异常如何快速处理?

在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

相关推荐

  • Linux环境下如何彻底卸载PHP?具体步骤与残留清理方法?

    在Linux系统中卸载PHP需要根据安装方式(包管理器安装或源码编译安装)选择不同的方法,同时需注意清理残留文件、配置及相关依赖,以确保系统干净,以下是详细的卸载步骤及注意事项,涵盖主流发行版如Debian/Ubuntu和CentOS/RHEL,卸载前的准备工作在开始卸载PHP前,建议完成以下准备工作,避免误操……

    2025年8月30日
    5500
  • Linux如何操作jar文件内容?

    在Linux系统中,JAR(Java Archive)文件是一种常见的归档格式,通常用于打包Java类文件、资源文件(如配置文件、图片、音频等)和依赖库,操作JAR文件内容是Java开发中常见的任务,包括查看、解压、修改、创建和运行等,本文将详细介绍Linux环境下操作JAR文件内容的具体方法和常用命令,查看J……

    2025年10月3日
    3700
  • Linux UDP端口怎么开?

    核心概念UDP协议:无连接协议,适用于DNS、DHCP、视频流等场景,“打开端口”的含义:配置防火墙允许外部UDP数据包到达指定端口,安全原则:仅开放必要端口,避免暴露整个系统,操作步骤(根据防火墙工具选择)方法1:使用 iptables(传统工具,适用于所有Linux)临时允许UDP端口(重启失效)开放UDP……

    2025年7月27日
    5600
  • 如何用systemctl管理systemd服务?

    在Linux系统中,服务(Service)是运行在后台的应用程序,通常用于提供特定功能(如Web服务、数据库等),查询服务状态是系统管理的基础操作,无论是检查服务是否正常运行、排查故障,还是管理启动项,都需要掌握相关命令,以下是多种查询Linux服务的详细方法,适用于主流发行版(如Ubuntu、CentOS、D……

    2025年7月31日
    5300
  • 在Linux操作系统中,如何查看已安装的GCC编译器的具体版本信息呢?

    在Linux系统中,GCC(GNU Compiler Collection)是广泛使用的编译器套件,用于将C、C++、Objective-C等源代码编译为可执行文件,查看GCC版本是开发过程中常见的需求,无论是确认编译器兼容性、调试代码还是满足项目依赖,都需要准确掌握当前系统安装的GCC版本,本文将详细介绍多种……

    2025年9月22日
    4000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信