在Rocky Linux 9中通过firewalld允许特定应用流量,需结合应用程序的端口/协议或预定义服务配置。步骤如下:
-
确认应用端口/协议:
- 例如应用使用TCP端口8080,运行
ss -tulnp | grep 应用名
确认。
- 例如应用使用TCP端口8080,运行
-
方法一(预定义服务):
- 查看内置服务列表:
firewall-cmd --get-services
- 若存在对应服务(如http),执行:
firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --reload
- 查看内置服务列表:
-
方法二(自定义端口):
- 直接开放端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload
- 直接开放端口:
-
方法三(自定义服务):
- 创建XML文件
/etc/firewalld/services/myapp.xml
,定义端口和协议。 - 重载服务并添加:
firewall-cmd --reload firewall-cmd --zone=public --add-service=myapp --permanent firewall-cmd --reload
- 创建XML文件
-
验证配置:
firewall-cmd --zone=public --list-all
检查规则是否生效。
注意:
- 所有操作需root权限,
--permanent
参数保证重启后生效 - 若应用涉及SELinux,需同步配置
semodule
或semanage
策略