必须先启用防火墙服务,再单独开放所需端口,两个动作缺一不可;可通过安全中心图形界面一键开启并配置,或使用firewall-cmd、ufw、kylin-firewall等命令行工具按需永久放行端口。

您正在使用麒麟操作系统,但远程服务无法访问、本地开发端口连不上、或者安全体检提示“防火墙未启用”,这通常是因为系统防火墙处于关闭状态,且未配置任何入站端口放行规则。必须先启用防火墙服务,再单独开放所需端口,两个动作缺一不可。
通过安全中心图形界面一键开启并开放端口
这是最直观、适合日常办公用户的方式,无需记忆命令,所有操作都在可视化界面中完成,且能即时看到状态反馈。
点击屏幕左下角【开始菜单】,在搜索框中输入“安全中心”,回车打开应用。
在左侧导航栏中选择【网络保护】或【防火墙与网络保护】(V10 SP1版本路径为“防火墙与网络保护”,旧版可能显示为“网络防护”)。
找到【防火墙】总开关,将其滑动至“开启”位置;此时若提示权限不足,请输入管理员密码确认。
勾选【开机自动启动】,否则重启后防火墙会再次关闭。【不勾选将导致系统重启后防护失效】
点击【配置访问策略】,根据实际网络环境选择:公共网络(默认拒绝所有入站)、办公网络(允许打印机、文件共享等常见内网服务)、自定义(后续需手动添加端口规则)。
用firewall-cmd永久开放指定端口
firewalld是麒麟V10服务器版及多数桌面版的默认防火墙后端,所有端口操作必须区分“运行时生效”和“永久保存”,否则重启或重载后规则丢失。
第一步:确认firewalld服务已启用并运行
执行命令:sudo systemctl status firewalld,输出中需含 active (running);若显示 inactive,则先运行 sudo systemctl start firewalld && sudo systemctl enable firewalld。
第二步:查看当前默认区域与已开放端口
执行 sudo firewall-cmd --list-all,注意记录输出中的 zone 名称(通常是 public)和现有 ports 列表。
第三步:永久添加TCP端口(例如开放Web服务端口80)sudo firewall-cmd --permanent --add-port=80/tcp。这一步只写入配置文件,不会立即生效。
第四步:永久添加UDP端口(如DNS查询端口53)sudo firewall-cmd --permanent --add-port=53/udp。UDP协议必须显式声明,不能省略 /udp。
第五步:重载规则使永久配置生效sudo firewall-cmd --reload。这是关键动作,漏掉则端口依然不通。
用ufw开放指定端口
ufw(Uncomplicated Firewall)作为轻量级前端,通过简洁语法管理iptables规则,适合快速部署基础端口策略,常见于麒麟桌面版V10 SP1及以上版本。
方法一:启用ufw并放行单个端口
执行 sudo ufw enable 启用防火墙;再执行 sudo ufw allow 22 允许SSH端口;sudo ufw allow 8080/tcp 显式指定TCP协议开放8080端口。
方法二:放行端口范围
执行 sudo ufw allow 3000:3010/tcp 一次性开放3000至3010共11个TCP端口。
方法三:设置安全基线后再放行
先执行 sudo ufw default deny incoming 设定默认拒绝所有入站连接,再逐条添加明确允许的端口规则,避免遗漏导致暴露高危服务。
用kylin-firewall添加带源IP限制的端口规则
kylin-firewall是麒麟原生安全子系统KYSEC提供的专用命令行工具,直接对接内核安全策略模块,适用于信创合规环境或需审计留痕的场景。
确认kylin-firewall服务已启动:sudo systemctl status kylin-firewall。
列出当前所有端口规则:sudo kylin-firewall --list-rules。
添加一条允许TCP 6800端口的入站规则:sudo kylin-firewall --add-rule "allow tcp in port 6800"。
添加带源IP限制的规则(仅允192.168.10.0/24网段访问80端口):sudo kylin-firewall --add-rule "allow tcp in port 80 from 192.168.10.0/24"。
保存当前规则集至持久化配置:sudo kylin-firewall --save-rules,然后立即应用:sudo kylin-firewall --apply-rules。











