Apply all necessary steps from R Consulting Appliances Installation, Initial configuration checklist first.

DHCP and Name server are optional components. Internal or external servers might be used, depending on network topology and configuration.

Neither is used, nor required, unless set-top box is directly connected to provider’s network (i.e. not applicable for OTT service).

Common configuration checklist

  1. Create /etc/rcons/mstream/update.conf with content similar to base_url=http://<rcboss-url>/RCBillInterconnect/CDN/<operator-id>.

    This file can be shared amongst servers.

DHCP server configuration checklist

Local DHCP server can run in BRAS (broadband remote access server) mode, using macfw module, in which case there is no need to explicitly configure VLANs on the appliance, itself.

To enable the DHCP server:

  1. Create DHCP server configuration file /etc/dhcpd.conf (/etc/dhcpd.conf.example is provided; refer to dhcpd(8), dhcpd.conf(5), dhcp-options(5) and dhcp-eval(5) man pages); to test DHCP server configuration file run dhcpd -cf /etc/dhcpd.conf -t -q;

  2. If running in non-BRAS mode:

    1. Create /etc/sv/dhcpd/config with content like iface=igb0; to bind to multiple interfaces/VLANs use iface="igb0 igb1";

    2. If started from /etc/dhcpd.conf.example remove local-address line;

  3. If running in BRAS mode (macfw module):

    1. Create /etc/sv/dhcpd/config containing iface=relay;

    2. Configure macfw, create /etc/sv/macfw/config (/etc/sv/macfw/config.example is provided); be sure to match addresses in macfw_ips to DHCP server configuration;

    3. Enable macfw module, create the following symbolic links:

      ln -s ../sv/auth-macfw \
          ../sv/macfw \
          ../sv/macfw-dhcp-relay \
          ../sv/macfw-metrics-httpd \
          /etc/service/
  4. Test DHCP service manually: navigate to /etc/sv/dhcpd and start ./run; run will exit if configuration is incorrect and will complain in the system log; otherwise run will continue running indefinitely in foreground, stop it with Ctrl+C;

  5. Enable the DHCP service permanently: create a symbolic link

    ln -s ../sv/dhcpd /etc/service/

Name server configuration checklist

  1. Create /etc/unbound.conf (/etc/unbound.conf.example is provided; refer to unbound(8), unbound.conf(5) and unbound-checkconf(8) man pages);

  2. Enable Name server by adding

    local_unbound_config="/etc/unbound.conf"
    local_unbound_enable="YES"

    to /etc/rc.conf.d/local_unbound (or /etc/rc.conf) and execute service local_unbound restart.

Both files can be shared amongst servers.

Persistent DHCP leases with rcxdhcpd

  1. Create a data volume where to save DHCP leases (run setup-storage vol1 <device> 2G; the name of first SATA DOM typically is ada0);

  2. Enlist new volume in /etc/rc.conf, as instructed by setup-storage, and optionally add datamount_vol1_opts="sync,noatime";

  3. Mount new data volume by running service datamount start;

  4. Configure rcxdhcpd to save its state there by adding

    rcxdhcpd_hostcfgdir=/srv/vol1/rcxdhcpd/hostcfg
    rcxdhcpd_statedir=/srv/vol1/rcxdhcpd

    to /etc/rc.conf.

  5. (Optionally) Transfer current rcxdhcpd state to persistent location:

    sv down dhcpd
    tar cf - -C /var/db rcxdhcpd | tar xf - -C /srv/vol1
    sv start dhcpd
  6. Save configuration changes (because /etc/rc.conf were modified).

Resources