Installation
Debian packages
Installation packages for Debian and derivatives are available for x86-64, arm64, x86-32 and arm.
These packages can be found in the latest release. Packages for in-development versions can be found from the latest nightly build.
Download and unpack the tar.gz file containing the appropriate .deb packages.
Install all packages with apt install ./scion-*.deb
, or install packages for components
selectively, e.g. apt install ./scion-router_<version>_<arch>.deb
.
Warning
Tests are run only for x86-64. For the other platforms, we cross-compile and don’t operate a corresponding test infrastructure. We plan to add test infrastructure also for arm64, but not for the 32 bit platforms.
Note
There is currently no apt repository from which the packages can be installed directly.
Hint
Systemd
The packages include systemd units which can be used to run the SCION components. There are various introduction documents on how to interact with systemd, for example https://wiki.archlinux.org/title/Systemd#Using_units, or https://linuxhandbook.com/systemctl-commands/.
Very briefly:
systemctl start <unit>
/systemctl stop <unit>
: start/stop a unit immediatelysystemctl enable <unit>
/systemctl disable <unit>
: enable/disable a unit to start automatically at bootsystemctl status <unit>
: display the status of a unitjournalct -u <unit>
: show log of unit
Packages
- scion-control
- Executable:
/usr/bin/scion-control
- Systemd Unit:
The
scion-control@.service
systemd unit template file allows running multiple program instances per host. Create one Control service configuration file per program instance in/etc/scion
. The basename of the configuration file is the instance parameter (the part after the@
) for the corresponding systemd template unit instance.Example: create configuration
/etc/scion/cs-1.toml
and startsystemctl start scion-control@cs-1.service
.
- scion-router
- Executable:
/usr/bin/scion-router
- Systemd Unit:
The
scion-router@.service
systemd unit template file allows running multiple program instances per host. Create one Router Configuration file per router instance in/etc/scion
. The basename of the configuration file is the instance parameter (the part after the@
) for the corresponding systemd template unit instance.Example: create configuration
/etc/scion/br-1.toml
and startsystemctl start scion-router@br-1.service
.
- scion-ip-gateway
- Executable:
/usr/bin/scion-ip-gateway
- Systemd Unit:
The
scion-ip-gateway.service
systemd unit refers to the default/etc/scion/sig.toml
configuration and the traffic policy file/etc/scion/sig.json
. The default traffic policy file is incomplete and must be edited before starting the service.
- scion-daemon
The scion-daemon and the scion-dispatcher together form the end host SCION stack.
- Executable:
/usr/bin/scion-daemon
- Systemd Unit:
The
scion-daemon.service
systemd unit refers to the default/etc/scion/sciond.toml
configuration file.
- scion-dispatcher
- Executable:
/usr/bin/scion-dispatcher
- Systemd Unit:
The
scion-dispatcher.service
systemd unit refers to the default/etc/scion/dispatcher.toml
configuration file.
- scion-tools
The scion and scion-pki command line tools.
- Executables:
/usr/bin/scion
,/usr/bin/scion-pki
Note
The configuration manuals for gateway, daemon and dispatcher are currently incomplete.
In the meantime, the sample config
subcommand (e.g. scion-daemon sample config
)
describes the available configuration options.
OpenWRT packages
Installation packages for OpenWRT are available for x86-64 (cross-building for other architectures should be feasible but has not yet been implemented).
These packages can be found in the latest release. Packages for in-development versions can be found from the latest nightly build.
Download and unpack the tar.gz file containing the appropriate .ipk packages.
Install all packages with opgk install ./scion-*.ipk
, or install packages for components
selectively, e.g. opgk install ./scion-router_<version>_<arch>.ipk
.
The packages include init scripts which start the SCION components as part of the OpenWRT boot process. See the OpenWRT manual on managing services.
Note
To save space on often storage constrained OpenWRT devices, the relatively large golang binaries are installed as self-uncompressing, gzipped executables.
Packages
- scion-control
- Executable:
/usr/bin/scion-control
- Service:
scion-control
- Service Configuration File:
/etc/scion/control.toml
- scion-router
- Executable:
/usr/bin/scion-router
- Service:
scion-router
- Service Configuration File:
/etc/scion/router.toml
- scion-ip-gateway
- Executable:
/usr/bin/scion-gateway
- Service:
scion-gateway
- Service Configuration File:
/etc/scion/gateway.toml
- scion-daemon
The scion-daemon and the scion-dispatcher together form the end host SCION stack.
- Executable:
/usr/bin/scion-daemon
- Service:
scion-daemon
- Service Configuration File:
/etc/scion/daemon.toml
- scion-dispatcher
- Executable:
/usr/bin/scion-dispatcher
- Service:
scion-dispatcher
- Service Configuration File:
/etc/scion/dispatcher.toml
- scion-tools
The scion and scion-pki command line tools.
- Executables:
/usr/bin/scion
,/usr/bin/scion-pki
- scion-persistdbs
Helper service to persist databases of
scion-control
andscion-daemon
services from volatile storage before shutdown. At runtime, databases are in volatile storage/var/lib/scion
. For persistence, the files are moved to/usr/lib/scion
.
Prebuilt Binaries
“Naked” pre-built binaries are available for Linux x86-64 and can be downloaded from the latest release, or from the latest nightly build.
These binaries are statically linked and can run with little requirements on the operating system.
See also
- Building
Instructions for building from source.