Installing packages
We provide SCION packages for the use with SCIONLab for different Linux package management systems.
-
deb for Debian, Ubuntu, Mint, Raspbian etc. Packages available for x86, x86-64, arm32 and arm64 platforms.
This is the primary supported system and is described in detail below.
-
RPM for RedHat, CentOS, Fedora etc. Packages available for x86, x86-64, arm32 and arm64 platforms.
We build these packages but they are not currently sufficiently tested and not published on a public repository. Please get in contact if you are interested to tinker with this.
-
AUR, Arch Linux
User contribution provided on a best-efforts basis by Thorben Krüger. See https://aur.archlinux.org/packages/scionlab-git/
Installation on Ubuntu
On Ubuntu, you can install SCION from our .deb
-packages by running:
sudo apt-get install apt-transport-https ca-certificates
echo "deb [trusted=yes] https://packages.netsec.inf.ethz.ch/debian all main" | sudo tee /etc/apt/sources.list.d/scionlab.list
sudo apt-get update
sudo apt-get install scionlab
This will install all the SCION services (which come as individual packages), systemd
unit files to run the services as well as a helper script to install the SCION configuration generated by the SCIONLab coordination website.
note
The SCION services will be run in systemd units, as user scion
. The configuration files for the SCION services are kept in /etc/scion/
, and state (sqlite db-files) will be placed in /var/run/scion/
. The SCION services log to the systemd journal, which can be accessed using the journalctl
(see Running SCION below)
Configuration
After creating or modifying your AS in the SCIONLab coordination website, you can deploy the generated configuration to your machine. For this, the recommended approach is to simply run the scionlab-config
script that is included in the scionlab
package.
scionlab-config
This script allows to conveniently fetch and install the configuration for your AS from the SCIONLab website.
sudo scionlab-config --host-id=<...> --host-secret=<...>
The required host-id
and host-secret
will be displayed on the SCIONLab website. The script will (re-)start all the configured services (and OpenVPN client-scionlab-<attachment point ISD-AS>
, if configured). The host-id
and host-secret
information will be stored in /etc/scion/scionlab-config.json
and will not have to be entered again. To update the configuration after modifying your AS, simply run
sudo scionlab-config
Run scionlab-config --force
to get the configuration even if the SCIONLab coordination website thinks you’re running the latest version, e.g. in case you’ve locally modified your configuration and want it to be reset.
Unpack configuration manually
As an alternative to running scionlab-config
, you can manually download the configuration tarfile from the SCIONLab website and unpack it.
-
Download the configuration tarfile from the SCIONLab coordination website.
-
If using VPN, extract the
client-scionlab-<attachment point ISD-AS>.conf
to/etc/openvpn/
and (re-)start OpenVPN#!shell sudo systemctl restart openvpn@client-scionlab-<attachment point ISD-AS>
- Extract the content of the
/etc/scion/
subdirectory -
Enable the systemd units listed in
scionlab-config.json
:#!shell sudo systemctl enable scion-border-router@br-1.service sudo systemctl enable scion-control-service@cs-1.service sudo systemctl enable scion-daemon.service sudo systemctl enable scion-dispatcher.service sudo systemctl start scionlab.target
Running SCION
If using VPN, ensure that the OpenVPN-client is up before starting the SCION services.
sudo systemctl start openvpn@client-scionlab-<attachment point ISD-AS>
Check that the expected tun0
tunnel-interface is created before continuing. Please refer to corresponding troubleshooting page.
The SCION services are configured as systemd
-units that are controlled by the target scionlab.target
. To start all the configured SCION services, simply run
sudo systemctl start scionlab.target
Check the status of the SCION services using
sudo systemctl list-dependencies scionlab.target
To stop the services, run
sudo systemctl stop scionlab.target
Use journalctl
to inspect the log output of a service in the systemd journal, for example
sudo journalctl -e -u scion-control-service@cs-1.service
Applications
Most of our applications in scion-apps
are available as packages too. Assuming you’ve added the SCIONLab packages list above, to install all applications in one go simply run
sudo apt-get install scion-apps-*
or install them individually, e.g. for bwtester
sudo apt-get install scion-apps-bwtester