请注意,本文仅适用于安装在 Windows/macOS/Linux 机器上的自托管 UniFi Network 服务器的 高级用户。我们通常建议使用 UniFi 控制台以获得最佳体验。请访问 UI.com.cn 了解更多信息。

本文将介绍 system.properties 文件的用途以及如何编辑它。

简介

system.properties 文件定义了 UniFi Network 服务器的系统范围参数。它位于 data 文件夹中的 <unifi.base> 目录下。部分高级用例如下:

  • 手动覆盖 应用程序 IP 接口(设备发送 inform 数据包的地址)。
  • 高级数据库 调整。
  • 端口分配,用于 UniFi Network 应用与受管设备通信、重定向访客门户流量等。

警告:在编辑该文件前,请务必备份你的系统。同时还需要在更改文件前 停止应用程序,以避免更改后出现错误。

system.properties 文件可以通过任何文本编辑器直接进行编辑。请注意,以井号(#)开头的行都是注释,不会被执行。请在文件底部进行编辑。更改该文件后,你需要在每个站点手动触发配置下发,使更改生效。

注意:当 UniFi Network 成功运行时会自动创建该文件。如果你在 <unifi_base> 目录下找不到该文件,请通过运行 UniFi Network 创建它。

  1. 手动指定 UniFi Network 应用通信的 IP 接口

    如果 UniFi 控制台有多个 IP 接口,可以通过如下配置手动指定已采纳 AP 与 Network 应用通信的具体 IP 接口:

    system_ip=a.b.c.d           # 设备需要和此 IP 通信以进行 inform
  1. 高级数据库配置

    以下是大多数用户不会用到的高级数据库配置。注意:我们未对这些配置进行测试,它们仅为数据库专家提供方便。一个常见的用例是有人将应用部署在 NAS 上,由于其资源有限,因此需要降低资源需求。

    unifi.db.nojournal=false    # 禁用 mongodb 日志
    unifi.db.extraargs          # 额外的 mongod 参数
    

    下面的配置用于简化 UniFi Network 应用的安装过程。同样,大多数用户无需设置此项。当 is_default 设为 true 时,应用将以出厂默认配置启动。对于普通用户,推荐卸载后重新安装,而不是采用此方式。

    is_default=true

    通过 UniFi Network 应用可以配置自动备份的频率、要保留的备份数量、备份时间等。目前为止,尚无法通过应用更改备份存储位置。如果需要,可以在 system.properties 文件中设置一个变量来更改。当前默认位置为:

    1. Cloud Key 设备:/data/autobackup(SD 卡会默认挂载为 /data)

    2. 软件安装环境:{data.dir}/backup/autobackup

    autobackup.dir=/some/path

    可以开启 HSTS,但只建议熟悉此项的高级系统管理员使用。如果遇到问题,禁用后并重启服务时,很可能需要清空浏览器缓存。要启用 HSTS 支持,请添加下列内容:

    unifi.https.hsts=true
    unifi.https.hsts.max_age=31536000
    unifi.https.hsts.preload=false
    unifi.https.hsts.subdomain=false

    注意:目前自定义行之后不能有任何字符,包括空格、井号/注释等。

  1. SMTP 相关设置

    默认情况下,SMTPS 会验证证书并拒绝自签名或不受信任的证书。如果你的邮件服务器使用不受信任的证书,必须通过如下方式禁用证书验证:

    smtp.checkserveridentity=false

    从 UniFi Network 6.1 版本开始,STARTTLS 默认处于机会性启用状态:即如果服务器声明支持,则会使用,并需要可信证书。如果使用自签名或不受信任的证书,必须通过如下设置禁用 STARTTLS:

    smtp.starttls_enabled=false

    此设置仅控制服务器支持时是否使用 STARTTLS。如需强制使用,请参见 starttls_required

    在 UniFi Network 6.1 及以上版本中,STARTTLS 默认处于机会性启用状态,但只有使用 587 端口时才为强制要求。可以通过设置 smtp.starttls_required=true 强制除 587 端口外的端口也使用 STARTTLS;如果想让 587 端口也变为可选,则设置为 false。

    如果 smtp.starttls_enabled=false,则 starttls_required 的设定无效。