服务异常如何快速处理?

在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 u盘文件

    尝试使用testdisk等数据恢复软件,在Linux系统下操作,扫描U盘

    2025年8月19日
    1300
  • Linux如何高效监控CPU利用率?

    Linux系统监控CPU利用率可通过top、htop、sar等命令行工具及/proc/stat等系统文件实现,适用于性能优化与故障排查等场景。

    2025年7月27日
    2200
  • Linux挂载移动硬盘怎么操作?

    挂载前准备连接硬盘使用USB/SATA线连接硬盘,系统通常自动识别(部分旧硬盘需外接电源),终端输入 lsblk 或 sudo fdisk -l 查看硬盘设备标识(如 /dev/sdb1),创建挂载点sudo mkdir /mnt/mydrive # 在/mnt下创建目录作为挂载点手动挂载步骤确定文件系统类型运……

    2025年7月9日
    3400
  • 如何编译两个C文件生成可执行文件?

    在Linux系统中,Makefile是自动化编译的核心工具,尤其适用于管理多文件项目,它通过定义依赖关系和构建规则,显著提升开发效率,以下是详细指南:Makefile基础结构一个Makefile由规则组成,每条规则包含三个部分:目标(target): 依赖(dependencies) 命令(commands……

    2025年6月20日
    4400
  • Linux分区如何轻松挂载?

    挂载前的准备工作识别分区使用 lsblk 或 fdisk 命令查看磁盘分区:lsblk -f # 显示分区文件系统类型(如 ext4、NTFS)sudo fdisk -l # 列出所有磁盘及分区(需 root 权限)记录目标分区的设备名(如 /dev/sda1)和文件系统类型,创建挂载点挂载点是一个空目录,用于……

    2025年7月17日
    3300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信