在 OPNsense(以及 FreeBSD)中,/etc/rc.conf 和 /etc/rc.conf.d/ 目录都可用于配置系统启动时加载的服务和设置,但它们的用途和使用方式略有不同。
rc.conf
作用:这是系统的主要启动配置文件。
用途:设置系统启动时要启用的服务(例如 sshd_enable=”YES”)、网络配置等。可以使用命令直接生成,如:
特征:
- 是一个单一文件。
- 通常包含全局配置。
- 用户可以在该文件中集中管理系统服务的启动开关。
rc.conf.d
作用:是一个目录,用于按服务分模块配置启动参数。
用途:每个文件名通常对应一个服务,例如 sshd,文件名为 /etc/rc.conf.d/sshd,内容可写成:
特征:
- 便于管理:每个服务的配置独立成文件,便于组织和自动化。
- 优先级:这些文件在系统启动时会被自动加载,它们的配置会合并到系统启动环境中。
- 可以覆盖 /etc/rc.conf 中的设置。
用途
虽然 OPNsense 基于 FreeBSD,但其大多数配置由 Web UI 和配置文件 /conf/config.xml 控制,而不是手动编辑 rc.conf 或 rc.conf.d/。不过:
- 插件或手动添加的服务(例如你自己加的 rc.d 脚本)可以依赖 rc.conf 或 rc.conf.d/ 中的参数启用。
- 如果开发插件,建议将启动配置写入 /etc/rc.conf.d/你的服务名,更符合当前 FreeBSD 模块化风格要求,也有利于提升 OPNsense 的可维护性。
对比
项目 |
/etc/rc.conf |
/etc/rc.conf.d/ |
---|---|---|
类型 |
单个配置文件 |
配置文件目录,按服务拆分 |
管理方式 |
所有配置集中 |
每个服务一个文件,便于组织 |
加载顺序/方式 |
系统启动时加载 |
启动时加载并合并进 rc.conf 环境中 |
优先级 |
可以被 rc.conf.d 中的设置覆盖 |
通常优先级更高 |
在 OPNsense 中地位 |
Web UI 不直接使用,但仍支持 |
插件开发和自定义服务更推荐使用 |