跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

UFW防火墙应用配置文件编写及自定义服务控制

UFW通过预定义的INI格式应用配置文件简化端口管理,支持查看、启用、自定义及多端口/协议规则;自定义需存于/etc/ufw/applications.d/并运行ufw app update刷新缓存。 UFW(Uncomplicated Firewall)通过应用配置文件(application profiles)简化服务端口管理,让非专业用户也能安全开放常用服务。这些配置文件本质是预定义的规则集合,存放在
/etc/ufw/applications.d/
目录下,以 `.ini` 格式描述服务名称、端口、协议及说明。 查看和启用内置应用配置文件 系统自带的常见服务(如 OpenSSH、Nginx、Apache)通常已预置配置文件。可执行以下命令列出所有可用 profile:
sudo ufw app list
若看到
OpenSSH
,即可直接启用:
sudo ufw allow OpenSSH
这条命令等价于
sudo ufw allow 22/tcp
,但更语义化、易维护。启用后可通过
sudo ufw status verbose
查看生效规则。 编写自定义应用配置文件 当运行非标准端口的服务(如监听 8080 的 Web 应用)或私有服务时,需手动创建 profile。例如,为一个监听 TCP 8080 端口的内部 API 服务新建配置: 新建文件:
sudo nano /etc/ufw/applications.d/myapi
写入内容(注意格式严格,空行与缩进不影响,但键名必须准确):
[MyAPI] title=Internal REST API Service description=HTTP API running on port 8080 for internal tools ports=8080/tcp
保存后刷新 UFW 缓存:
sudo ufw app update MyAPI
验证是否识别:
sudo ufw app list | grep MyAPI
,应显示
MyAPI
支持多端口与多协议的高级写法 一个 profile 可同时开放多个端口或混合协议。例如,某监控服务需 TCP 9100(metrics)和 UDP 9101(health ping):
[NodeExporter] title=Prometheus Node Exporter description=System metrics collector ports=9100/tcp|9101/udp
也可用逗号分隔多个 TCP/UDP 组合:
ports=22/tcp,80/tcp,443/tcp,53/udp
注意:UFW 不支持端口范围(如
8000:8010/tcp
)在 profile 中直接声明,这类需求仍需用原生命令
sudo ufw allow 8000:8010/tcp
配置。 禁用、删除与调试技巧 已启用的 profile 可直接拒绝或删除规则: 禁止某服务:
sudo ufw deny MyAPI
(对应关闭 8080/tcp) 彻底删除该 profile 规则:
sudo ufw delete allow MyAPI
移除配置文件本身后,需运行
sudo ufw app update --remove MyAPI
清理缓存(UFW 22.04+ 支持;旧版本需手动删缓存或重启 ufw) 调试时可查看 profile 解析结果:
sudo ufw app info MyAPI
,输出包括端口、协议、描述等,确认无语法错误 合理使用应用配置文件能让防火墙策略更清晰、可复用,也便于团队协作和配置同步。关键在于保持文件命名简洁、描述准确,并在变更后及时更新缓存。

相关文章