The principal location for system configuration information is /etc/rc.conf. This file contains a wide range of configuration information and it is read at system startup to configure the system. It provides the configuration information for the rc* files.
The entries in /etc/rc.conf override the default settings in /etc/defaults/rc.conf. The file containing the default settings should not be edited. Instead, all system-specific changes should be made to /etc/rc.conf.
A number of strategies may be applied in clustered applications to separate site-wide configuration from system-specific configuration in order to keep administration overhead down. The recommended approach is to place system-specific configuration into /etc/rc.conf.local. For example:
sshd_enable="YES" keyrate="fast" defaultrouter="10.1.1.254"
hostname="node1.example.org" ifconfig_fxp0="inet 10.1.1.1/8"
rc.conf can then be distributed to every system using rsync or a similar program, while rc.conf.local remains unique.
Upgrading the system using sysinstall(8) or make world will not overwrite rc.conf, so system configuration information will not be lost.