As a Netscaler is an appliance, the root filesystem (which is a RAMDisk) is restored from a non-modifiable image during every boot. As such, modifications to any FreeBSD configuration files in /etc will be erased upon reboot.
This article shows how to properly install supported modifications to FreeBSD configuration files.
Instructions
For FreeBSD configuration files that Citrix permits modification to:
- Copy the file from /etc into /nsconfig
- Edit the file in /nsconfig as appropriate
- If in HA, force an HA file sync (or wait for HA file sync to complete)
- Reboot the Netscaler
During boot, the ADC will automatically create a symbolic link from supported files in /nsconfig to their proper locations in /etc, if they are present in /nsconfig. The symbolic link is created early in the boot process, before the processes that access the respective files are launched, so there is no need to restart any processes when using this method. These files will also be synchronized between HA nodes using HA file sync, so you only need to copy/modify the files on the HA primary node.
DO NOT use rc.netscaler, nsbefore.sh, or nsafter.sh to copy or update these files, as this method is no longer supported.
WARNING: For any files that are modified in this manner, there exists the possibility that future Netscaler build and version upgrades could make necessary changes to the files Citrix supplies in /etc. These required changes are not automatically reflected in customized versions of the file. As such, with any upgrade, you must always temporarily rename the modified versions of the files in /nsconfig, reboot the Netscaler, and review the Citrix-supplied copies in /etc. Then re-modify them using the procedure in this document, to ensure that any changes Citrix made are also in the modified version of the configuration file. Failure to do this may result in unpredictable behavior of the Netscaler.
The following files are supported to be modified using this method:
- inetd.conf
- syslog.conf
- newsyslog.conf
- ntp.conf
- crontab
- host.conf
- hosts
- ttys
- sshd_config
- httpd.conf
- monitrc
- rc.conf
- ssh_config
- localtime
- issue
- issue.net
- ldap.conf
- motd
NOTE: As new files may be added to the above list depending on build/version, an updated list of the files above can be determined with the following shell command on ADC:
grep NSETC= /etc/rc