银河麒麟OS外部设备连不上,大概率因防火墙默认拒绝入站连接;需用firewall-cmd(推荐服务器版)、ufw(适合桌面版)或kylin-firewall(信创合规场景)显式开放对应端口并确保规则持久化生效。

你在银河麒麟OS上部署了Web服务、SSH、Samba或Localsend等应用,但外部设备始终连不上,问题大概率出在防火墙端口未开放——系统默认拒绝所有入站连接,必须显式添加允许规则才能放行流量。
用firewall-cmd永久开放端口(推荐,适用于服务器版及多数桌面版)
firewalld是银河麒麟V10默认集成的防火墙后端,采用区域管理机制,所有端口操作必须区分“运行时生效”和“永久保存”两个阶段。临时规则在服务重启后即丢失,生产环境务必使用--permanent参数写入配置文件。
第一步:确认firewalld服务正在运行:sudo systemctl status firewalld。若显示inactive (dead),先执行sudo systemctl start firewalld && sudo systemctl enable firewalld启用并设为开机自启。
第二步:永久开放TCP协议的8080端口(例如Jenkins):sudo firewall-cmd --permanent --add-port=8080/tcp。这一步不能省略--permanent,否则重载后规则消失。
第三步:如需同时开放UDP协议(如DNS查询或局域网发现),追加命令:sudo firewall-cmd --permanent --add-port=53/udp。
第四步:重载配置使永久规则立即生效:sudo firewall-cmd --reload。注意:【不执行此步,前面所有--permanent操作均不会实际生效】。
第五步:验证端口是否已成功写入持久化规则:sudo firewall-cmd --query-port=8080/tcp,返回yes即表示成功;若返回no,请检查前四步是否有遗漏或拼写错误。
用ufw快速放行端口(适用于桌面版SP1及以上)
ufw语法简洁,规则默认持久化,适合桌面用户快速建立最小权限基线。它不支持区域概念,但启用即生效,无需额外重载。
方法一:启用ufw并设置默认拒绝策略
执行sudo ufw enable,按提示输入y确认;紧接着运行sudo ufw default deny incoming。这一步是关键基线,【跳过会导致所有端口默认放行】。
方法二:逐条放行必要端口sudo ufw allow 22/tcp→sudo ufw allow 80/tcp→sudo ufw allow 443/tcp。每条命令单独执行,避免合并成一行导致某条失败时全部失效。
方法三:关闭已开放的端口
比如要停用SSH访问,执行sudo ufw delete allow 22/tcp,系统会提示确认,输入y即可移除规则。
用kylin-firewall添加带源IP限制的规则(信创合规场景专用)
这是麒麟原生安全子系统KYSEC提供的专用工具,支持审计留痕与策略追溯,适用于政务、金融等需满足等保或信创合规要求的环境。普通用户无需使用此方式。
确认服务状态:sudo systemctl status kylin-firewall,确保输出中包含active (running)。
列出当前所有规则:sudo kylin-firewall --list-rules。
添加一条仅允许192.168.1.0/24网段访问TCP 3306端口的规则:sudo kylin-firewall --add-rule tcp 3306 --source 192.168.1.0/24 --action allow。该命令会自动持久化,无需额外保存或重载。

















