Есть два способа запуска cjdns не от имени суперпользователя. Они могут вам пригодится, если вы хотите запустить cjdns на OpenVZ, или запустить сеть от имени обычного пользователя.
Если вы используйте VPS на базе OpenVZ, вам нужно использовать этот метод, так как OpenVZ запрещает постоянные туннели.
Создать пользователя cjdns:
sudo useradd cjdns
Создать новый интерфейс TUN и разрешить cjdns к нему обращаться:
sudo /sbin/ip tuntap add mode tun user cjdns dev cjdroute0
Запустите команды ниже для подготовки вашего устройства TUN.
sudo /sbin/ip addr add <ваш адрес ipv6>/8 dev cjdroute0
sudo /sbin/ip link set mtu 1312 dev cjdroute0
sudo /sbin/ip link set cjdroute0 up
Эти команды следует выполнять с root-привилегиями каждый раз при перезапуске системы. Вы можете разместить их в /etc/rc.local, если ваша система его поддерживает.
Если при запуске /sbin/ip вы ввидите ошибку, версия iproute2 может быть устаревшей.
sudo /sbin/ip tuntap add mode tun user cjdns
Object "tuntap" is unknown, try "ip help".
Исправление: На данный момент, следует скопировать новую версию исполняемого файла ip в вашу домашнюю директорию. Заменять системные файлы - не самая лучшая идея.
sudo -u cjdns ./cjdroute < cjdroute.conf
Чтобы удалить туннель, используйте следующую команду:
sudo /sbin/ip tuntap del mode tun <имя туннеля>
Запустите эту команду с root-правами после сборки (и каждый раз при пересборке)
setcap "cap_net_admin+eip cap_net_raw+eip" cjdroute