# Cjdns

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Cjdns implements an encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for routing. This provides near-zero-configuration networking, and prevents many of the security and scalability issues that plague existing networks.

## Installation

Install cjdns. An alternative cjdns-gitAUR package (with more dependencies) is also available.

Both packages include a systemd service file, but sysvinit scripts are available too as cjdns-git-sysvinitAUR.

## Configuration

On installation, a `/etc/cjdroute.conf` is autogenerated.

If you need to re-generate it, execute:

    # cjdroute --genconf > /etc/cjdroute.conf

Note: Double-check file permissions for `/etc/cjdroute.conf` as it contains the private key capable of encrypting and decrypting all your communications. Executing `chmod 600 /etc/cjdroute.conf` as root sets them correctly.

Edit `/etc/cjdroute.conf` as root to add at least one peer to the `connectTo` section. Peers can be anyone else running cjdns who gives you credentials to connect to them with. They can be found in Hyperboria peers, #cjdns and #projectmeshnet on EFnet among many other places.

## Starting

Start/enable the `cjdns.service`.

If cjdns did not start, you should check for errors and edit `/etc/cjdroute.conf` if needed:

    # systemctl status cjdns
    # journalctl -u cjdns

## See also

- Wikipedia:Cjdns

Category:

- Networking