| FAQ |
| === |
| |
| How do I change the default installation paths? |
| ----------------------------------------------- |
| |
| Paths to where NFD is installed can be configured during ``./waf configure``: |
| |
| - Installation prefix (default ``/usr/local``):: |
| |
| ./waf configure --prefix=/usr |
| |
| - Location of NFD configuration file (default: ``${prefix}/etc``):: |
| |
| ./waf configure --prefix=/usr --sysconfdir=/etc |
| |
| - Location of manpages (default: ``${prefix}/share/man``):: |
| |
| ./waf configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man |
| |
| See ``./waf configure --help`` for the full list of options. |
| |
| How do I use the NDN PPA repository on Ubuntu Linux? |
| ---------------------------------------------------- |
| |
| Please see :ref:`Install NFD on Ubuntu Linux using the NDN PPA repository`. |
| |
| How do I run NFD as a non-root user? |
| ------------------------------------ |
| |
| How do I configure automatic privilege dropping? |
| ++++++++++++++++++++++++++++++++++++++++++++++++ |
| |
| NFD can be configured to drop privileges whenever possible. You can specify a user and/or |
| group for NFD to change its *effective* user/group ID to in the ``general`` section of the |
| configuration file. For example:: |
| |
| general |
| { |
| user nobody |
| group nogroup |
| } |
| |
| will configure NFD to drop its effective user and group IDs to ``nobody`` and ``nogroup``, |
| respectively. |
| |
| .. note:: |
| |
| **IMPORTANT:** NFD may regain elevated privileges as needed during normal |
| execution. Dropping privileges in this manner should not be considered a security |
| mechanism (a compromised NFD that was started as root can trivially return to |
| root). However, reducing privileges may limit any damage caused by well intentioned, |
| but buggy, code. |
| |
| How do I enable Ethernet face support? |
| ++++++++++++++++++++++++++++++++++++++ |
| |
| The ``ether`` configuration file section contains settings for Ethernet faces and |
| channels. These settings will **NOT** work without root or without setting the |
| appropriate permissions. |
| |
| **Ubuntu:** |
| |
| :: |
| |
| sudo apt install libcap2-bin |
| sudo setcap cap_net_raw,cap_net_admin=eip /path/to/nfd |
| |
| **macOS:** |
| |
| :: |
| |
| 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* |
| |
| How do I enable UDP multicast support in multi-homed Linux machines? |
| ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| |
| The ``udp`` configuration file section contains settings for unicast and multicast UDP |
| faces. If the Linux machine is equipped with multiple network interfaces with multicast |
| capabilities, the settings for multicast faces will **NOT** work without root or without |
| setting the appropriate permissions:: |
| |
| sudo setcap cap_net_raw=eip /path/to/nfd |
| |
| .. _How do I configure NFD security: |
| |
| How do I configure NFD security? |
| -------------------------------- |
| |
| .. note:: The sample configuration file for NFD allows any user to manage faces, FIB, RIB, |
| CS, and strategy choices of the local NFD instance. The following procedure can be used |
| to restrict certain operations to certain users. |
| |
| More extensive documentation on the security mechanisms in NFD, as well as the available |
| options to configure its trust model, is currently in preparation. |
| |
| Many management components in NFD use *Command Interests* (e.g., FIB modification, face |
| creation/destruction, etc.), which require an NDN certificate (either self-signed for local |
| trust or delegated from a trusted authority). |
| |
| If you do not already have an NDN certificate, you can generate one using the following procedure. |
| |
| **Generating and installing 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. |
| |
| **Exporting the NDN certificate to a file**: |
| |
| The following commands assume that you have not modified ``PREFIX`` or ``SYSCONFDIR``. |
| If you have, please substitute the appropriate path in place of ``/usr/local/etc``. |
| |
| :: |
| |
| 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 |