blob: 7788bb531ed904fc3ee9b56fd3d13b8e912647fe [file] [log] [blame]
.. _NFD Configuration Tips:
NFD - Named Data Networking Forwarding Daemon
=============================================
Default Paths
-------------
This document uses ``SYSCONFDIR`` when referring to the default locations
of various NFD configuration files. By default, ``SYSCONFDIR`` is set to
``/usr/local/etc``. If you override ``PREFIX``, then ``SYSCONFDIR`` will
default to ``PREFIX/etc``.
You may override ``SYSCONFDIR`` and ``PREFIX`` by specifying their
corresponding options during installation:
::
./waf configure --prefix <path/for/prefix> --sysconfdir <some/other/path>
Refer to :ref:`NFD Installation Instructions` for more detailed instructions on how to compile
and install NFD.
Running and Configuring NFD
---------------------------
NFD's runtime settings may be modified via configuration file. After
installation, a working sample configuration is provided at
``SYSCONFDIR/ndn/nfd.conf.sample``. At startup, NFD will attempt to read
the default configuration file location: ``SYSCONFDIR/ndn/nfd.conf``.
You may also specify an alternative configuration file location by
running NFD with:
::
nfd --config </path/to/nfd.conf>
Once again, note that you may simply copy or rename the provided sample
configuration and have an **almost** fully configured NFD. However, this
NFD will be unable to add FIB entries or perform other typical operation
tasks until you authorize an NDN certificate with the appropriate
privileges.
Installing an NDN Certificate for Command Authentication
--------------------------------------------------------
Many NFD management protocols require signed commands to be processed
(e.g. FIB modification, Face creation/destructions, etc.). You will need
an NDN certificate to use any application that issues signed commands.
If you do not already have NDN certificate, you can generate one with
the following commands:
**Generate and install a self-signed identity certificate**:
::
ndnsec-keygen /`whoami` | ndnsec-install-cert -
Note that the argument to ndnsec-key will be the identity name of the
new key (in this case, ``/your-username``). Identity names are
hierarchical NDN names and may have multiple components (e.g.
``/ndn/ucla/edu/alice``). You may create additional keys and identities
as you see fit.
**Dump the NDN certificate to a file**:
The following commands assume that you have not modified ``PREFIX`` or
``SYSCONFDIR`` If you have, please substitute ``/usr/local/etc`` for the
appropriate value (the overriden ``SYSCONFDIR`` or ``PREFIX/etc`` if you
changed ``PREFIX``).
::
sudo mkdir -p /usr/local/etc/ndn/keys
ndnsec-cert-dump -i /`whoami` > default.ndncert
sudo mv default.ndncert /usr/local/etc/ndn/keys/default.ndncert
Running NFD with Ethernet Face Support
--------------------------------------
The ether configuration file section contains settings for Ethernet
faces and channels. These settings will **NOT** work without root or
setting the appropriate permissions:
::
sudo setcap cap_net_raw,cap_net_admin=eip /full/path/nfd
You may need to install a package to use setcap:
**Ubuntu:**
::
sudo apt-get install libcap2-bin
**Mac OS X:**
::
curl https://bugs.wireshark.org/bugzilla/attachment.cgi?id=3373 -o ChmodBPF.tar.gz
tar zxvf ChmodBPF.tar.gz
open ChmodBPF/Install\ ChmodBPF.app
or manually:
::
sudo chgrp admin /dev/bpf*
sudo chmod g+rw /dev/bpf*
UDP multicast support in multi-homed Linux machines
---------------------------------------------------
The UDP configuration file section contains settings for unicast and multicast UDP
faces. If the Linux box is equipped with multiple network interfaces with multicast
capabilities, the settings for multicast faces will **NOT** work without root
or setting the appropriate permissions:
::
sudo setcap cap_net_raw=eip /full/path/nfd