需配置防火墙规则以精细化控制访问:一、用firewalld设区域规则;二、开放/关闭特定端口;三、启用/禁用预定义服务;四、用ufw添加简单端口规则;五、用kylin-firewall配XML自定义规则。

如果您已启用麒麟OS防火墙但需精细化控制入站、出站及端口访问行为,则需配置具体防火墙规则。以下是设置防火墙规则的多种实操方法:
一、使用firewalld配置区域级规则
该方式基于Firewalld的区域(Zone)机制,通过绑定网卡到指定安全区域并应用预设策略,实现网络环境自适应防护。区域定义了默认的入站/出站行为,无需逐条编写底层规则。
1、查看当前激活的区域及绑定接口:sudo firewall-cmd --get-active-zones
2、将eth0网卡永久绑定至public区域:sudo firewall-cmd --zone=public --change-interface=eth0 --permanent
3、重载配置使绑定生效:sudo firewall-cmd --reload
4、查看public区域当前全部规则:sudo firewall-cmd --zone=public --list-all
二、使用firewalld开放或关闭特定端口
该方式支持临时与永久两种模式操作,适用于快速放行Web服务、数据库或管理端口等场景,且不影响其他连接状态。
1、临时开放TCP 8080端口(重启firewalld后失效):sudo firewall-cmd --add-port=8080/tcp
2、永久开放TCP 8080端口:sudo firewall-cmd --add-port=8080/tcp --permanent
3、永久关闭TCP 8080端口:sudo firewall-cmd --remove-port=8080/tcp --permanent
4、重载规则使永久配置生效:sudo firewall-cmd --reload
三、使用firewalld启用或禁用预定义服务
Firewalld内置SSH、HTTP、FTP等标准服务定义,直接调用服务名即可批量放开对应端口与协议,避免手动记忆端口号。
1、永久允许HTTP服务(自动开放TCP 80端口):sudo firewall-cmd --add-service=http --permanent
2、永久禁止SSH服务(慎用,可能导致远程失联):sudo firewall-cmd --remove-service=ssh --permanent
3、查看当前所有已允许的服务:sudo firewall-cmd --list-services
4、重载规则以应用变更:sudo firewall-cmd --reload
四、使用ufw添加简单端口规则
该方式适用于习惯Debian系语法的用户,命令简洁直观,底层仍映射至iptables,适合桌面环境快速封禁或放行单端口。
1、确认ufw已启用:sudo ufw status
2、允许TCP 3306端口(MySQL默认端口):sudo ufw allow 3306
3、拒绝来自192.168.1.100的所有连接:sudo ufw deny from 192.168.1.100
4、启用日志记录以追踪拦截事件:sudo ufw logging on
五、使用kylin-firewall配置自定义XML规则
该方式对接麒麟OS原生KYSEC安全框架,支持深度策略定制,适用于信创合规场景及政企级审计要求,规则以XML格式声明并由内核模块加载。
1、进入自定义规则目录:sudo cd /etc/kylin-firewall/custom_rules
2、复制模板文件并重命名为mysql.xml:sudo cp icmp.xml mysql.xml
3、编辑mysql.xml,将
4、启用新规则文件:sudo kysec-firewall --enable-rule=mysql.xml

















