麒麟系统网络访问控制需通过多种防火墙工具配置:一、firewalld区域级规则;二、firewalld端口开关;三、firewalld服务启停;四、ufw简易规则;五、kylin-firewall原生命令;六、iptables持久化规则。

如果您需要在麒麟操作系统中精细化控制网络访问行为,则需通过命令行或专用工具配置具体防火墙规则。以下是多种可行的规则配置方法:
一、使用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命令行配置原生规则
kylin-firewall是麒麟原生安全子系统KYSEC提供的专用命令行工具,直接对接内核安全策略模块,适用于信创合规环境或需审计留痕的场景。
1、确认kylin-firewall服务已启动:sudo systemctl status kylin-firewall
2、列出当前所有端口规则:sudo kylin-firewall --list-rules
3、添加一条允许TCP 6800端口的入站规则:sudo kylin-firewall --add-rule "allow tcp in port 6800"
4、添加带源IP限制的规则(仅允192.168.10.0/24网段访问80端口):sudo kylin-firewall --add-rule "allow tcp in port 80 from 192.168.10.0/24"
六、通过iptables持久化保存规则
该方式绕过高层抽象,直接操作内核Netfilter框架,适用于需精确控制数据包匹配逻辑或兼容传统脚本的场景。规则需显式保存至文件并在启动时加载,否则重启即失效。
1、创建iptables规则保存目录及文件:sudo mkdir -p /etc/iptables && sudo touch /etc/iptables/rules.v4
2、添加一条放行SSH端口的INPUT规则:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
3、将当前运行时规则保存至配置文件:sudo iptables-save > /etc/iptables/rules.v4
4、配置systemd服务在开机时自动恢复规则:sudo systemctl enable netfilter-persistent

















