UniFi - Using SYSTEM.CFG for Persistent Changes


This article describes how to customize system.cfg for device specific changes, or site-wide configurations. This article is not applicable to the UniFi Dream Machine models. The UDM line does not support configurations done outside of the UniFi Controllers.

ATTENTION:This article describes advanced configurations and should only be attempted by advanced users. It is not in our Support team's scope to give assistance to these configurations, so please remove them from your environment prior to contacting the support team. 

Table of Contents

  1. Introduction
  2. Example Configuration
  3. Related Articles


Back to Top

Using the config.properties file, you can implement site-wide changes, or make changes specific to an individual device. Any variable in the system.cfg can be customized. The settings are applied just like any other setting in config.properties, so once you have made your customizations you need to trigger a provision of the device (or site).

An important limitation to consider is that you can only add to the system.cfg, it will not replace existing lines. You currently cannot remove existing lines either, so you could potentially create conflicts and/or introduce instability into the configurations.

  • To make site-wide changes, use config.system_cfg.1=
  • To make changes to a specific UAP you would also include its MAC address without colons :, periods ., or any other symbol like so: config.system_cfg.24a43c010203.1=

Note that the lines are numbered: that is the number after the period and before the equals sign =, so for a second customization on this same access point, you would use config.system_cfg.24a43c010203.2= and so forth.

Example Configuration

Back to Top

The example below shows what would be added to the config.properties file to change the ebtables rules (these are defaults, just provided as an example):

config.system_cfg.1=ebtables.1.cmd=-t nat -A PREROUTING --in-interface eth2 -d BGA -j DROP
config.system_cfg.2=ebtables.2.cmd=-t nat -A POSTROUTING --out-interface eth2 -d BGA -j DROP
config.system_cfg.3=ebtables.3.cmd=-t nat -A PREROUTING --in-interface eth2 --proto 0x888e -j ACCEPT
config.system_cfg.4=ebtables.4.cmd=-t nat -A PREROUTING --in-interface eth2 --proto 0x886c -j ACCEPT
config.system_cfg.5=ebtables.5.cmd=-t nat -A PREROUTING --in-interface eth2 --proto LENGTH -j ACCEPT
config.system_cfg.6=ebtables.6.cmd=-t nat -A PREROUTING --in-interface eth1 -d BGA -j DROP
config.system_cfg.7=ebtables.7.cmd=-t nat -A POSTROUTING --out-interface eth1 -d BGA -j DROP
config.system_cfg.8=ebtables.8.cmd=-t nat -A PREROUTING --in-interface eth1 --proto 0x888e -j ACCEPT
config.system_cfg.9=ebtables.9.cmd=-t nat -A PREROUTING --in-interface eth1 --proto 0x886c -j ACCEPT
config.system_cfg.10=ebtables.10.cmd=-t nat -A PREROUTING --in-interface eth1 --proto LENGTH -j ACCEPT
config.system_cfg.11=ebtables.11.cmd=-t broute -A BROUTING -i eth2 -p 802_1Q -j DROP

The following example shows how to change the TX power on a UniFi Access Point. You would first have to make sure that TX power is set to custom in the UniFi Network Controller UI, by clicking on the UAP in question in the Devices screen to open the Properties panel, then setting the Transmit Power to Custom in Config > Radios. After clicking Queue Changes, you would add the following in the config.properties file:


If a user wishes to apply this configuration to a single UAP, you would use the MAC ID to specify:

User Tip:A minimum TX power is set for stability reasons. If you set TX power too low you may introduce instability. The configuration shown above is only an example, there are hard limits set in the firmware. 

Related Articles

Back to Top

UniFi - Explaining the config.properties File

Was this article helpful?
1 out of 2 found this helpful
Can't find what you're looking for?
Visit our worldwide community of Ubiquiti experts for more answers
Visit the Ubiquiti Community