麒麟系统防火墙配置全攻略:安全、高效管理网络访问(2025最新版)

在国产化替代浪潮中,麒麟操作系统(Kylin OS) 作为我国自主研发的重要Linux发行版,已被广泛应用于政府、金融、能源等关键领域。保障系统安全是使用麒麟系统的核心需求之一,而防火墙配置正是构建系统安全防线的第一道屏障。

麒麟系统防火墙配置全攻略:安全、高效管理网络访问(2025最新版)

本文将为您全面解析麒麟系统防火墙的配置方法,涵盖状态查看、启停管理、端口开放与关闭、规则管理等核心操作,帮助您轻松掌握防火墙配置技巧,提升系统安全性。


麒麟系统防火墙基础:了解 firewalld

麒麟系统默认采用 firewalld 作为动态防火墙管理工具,它通过 firewall-cmd 命令行工具进行管理,支持区域(zone)、服务、端口、富规则等多种配置方式,相比传统的 iptables 更加灵活、易于维护。

提示:部分旧版本麒麟系统可能使用 iptables,但现代版本(如基于Linux 5.x内核的银河麒麟)已普遍采用 firewalld


检查与启停防火墙服务

在进行任何配置前,首先需要确认防火墙服务的状态。

1. 查看防火墙状态

systemctl status firewalld
  • 若显示 Active: active (running),表示防火墙已开启。

  • 若显示 Active: inactive (dead),表示防火墙已关闭。

您也可以使用以下命令快速判断:

firewall-cmd --state

返回 running 表示运行中,not running 表示未运行。

2. 启动与关闭防火墙

  • 启动防火墙并设置开机自启

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
  • 临时关闭防火墙(重启后恢复)

    sudo systemctl stop firewalld
  • 永久关闭防火墙(禁止开机启动)

    sudo systemctl disable firewalld

安全建议:生产环境不建议完全关闭防火墙,应通过精细配置规则来满足业务需求。


开放与关闭指定端口

在部署Web服务、数据库、远程连接等应用时,需开放对应端口。

1. 开放单个端口(以8080端口为例)

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • --zone=public:指定作用域为公共区域(常用)。

  • --add-port=8080/tcp:添加TCP协议的8080端口。

  • --permanent:永久生效,重启后不失效。

2. 开放端口范围

sudo firewall-cmd --zone=public --add-port=30000-40000/tcp --permanent

适用于需要开放大量端口的场景,如P2P应用或视频流服务。

3. 开放UDP端口

sudo firewall-cmd --zone=public --add-port=53/udp --permanent

常用于DNS、VoIP等服务。

4. 关闭已开放的端口

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent

使用 --remove-port 替换 --add-port 即可。


应用配置并验证结果

所有配置完成后,必须重新加载防火墙以使规则生效:

sudo firewall-cmd --reload

验证端口是否开放:

  • 查看所有已开放端口:

    firewall-cmd --list-ports
  • 查询特定端口是否开放:

    firewall-cmd --query-port=8080/tcp

    返回 yes 表示已开放。

  • 查看当前允许的服务:

    firewall-cmd --list-services

高级配置:基于IP的访问控制(富规则)

除了端口管理,您还可以通过富规则(rich rules) 实现更精细的控制,例如仅允许特定IP访问某端口。

允许特定IP访问指定端口

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'

此命令允许IP为 192.168.1.100 的主机通过SSH(端口22)连接。

拒绝特定IP访问

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.5" reject'

阻止该IP的所有网络请求。

注意:富规则功能强大,建议结合日志分析使用,避免误封合法流量。


自动化管理:使用防火墙脚本(推荐)

为简化日常管理,可编写Shell脚本统一管理防火墙规则。以下是一个简化版示例:

#!/bin/bash
# firewall_manager.sh - 麒麟防火墙管理脚本

case $1 in
    start)
        sudo systemctl start firewalld && echo "防火墙已启动"
        ;;
    stop)
        sudo systemctl stop firewalld && echo "防火墙已停止"
        ;;
    status)
        firewall-cmd --state && firewall-cmd --list-ports
        ;;
    add-port)
        sudo firewall-cmd --zone=public --add-port=$2/tcp --permanent && sudo firewall-cmd --reload
        echo "端口 $2 已开放"
        ;;
    del-port)
        sudo firewall-cmd --zone=public --remove-port=$2/tcp --permanent && sudo firewall-cmd --reload
        echo "端口 $2 已关闭"
        ;;
    *)
        echo "用法: $0 {start|stop|status|add-port|del-port} [端口号]"
        ;;
esac

保存为 firewall_manager.sh,赋予执行权限后即可快速操作:

chmod +x firewall_manager.sh
./firewall_manager.sh add-port 8080

安全最佳实践建议

  1. 最小权限原则:只开放必要的端口和服务。

  2. 定期审计规则:使用 firewall-cmd --list-all 定期检查现有规则。

  3. 启用日志记录:通过 --log-denied 记录被拒绝的连接,便于排查问题。

  4. 备份配置:重要规则配置建议备份至外部存储。

  5. 避免完全关闭防火墙:即使在内网环境,也应保持防火墙开启并合理配置。


麒麟系统的防火墙配置不仅关乎系统可用性,更是信息安全的重要保障。通过本文介绍的 firewalld 命令与管理技巧,您可以高效、安全地管理网络访问策略。无论是日常运维还是安全加固,掌握这些技能都将大幅提升您的工作效率。

立即行动:检查您当前麒麟系统的防火墙状态,清理不必要的开放端口,为系统筑起坚固的安全屏障!

发表评论

评论列表

还没有评论,快来说点什么吧~