You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
algo/docs/deploy-from-fedora-workstat...

2.6 KiB

Deploy from Fedora Workstation

These docs were written based on experience on Fedora Workstation 30.

Prerequisites

DNF counterparts of apt packages

The following table lists apt packages with their dnf counterpart. This is purely informative. Using python2-* in favour of python3-* as per declared dependency.

apt dnf
build-essential make automake gcc gcc-c++ kernel-devel
libssl-dev openssl-devel
libffi-dev libffi-devel
python-dev python2-devel
python-pip python2-pip
python-setuptools python2-setuptools
python-virtualenv python2-virtualenv

Install requirements

First, let's make sure our system is up-to-date:

dnf upgrade

Next, install the required packages:

dnf install -y \
  ansible \
  automake \
  gcc \
  gcc-c++ \
  kernel-devel \
  openssl-devel \
  libffi-devel \
  libselinux-python \
  python2-devel \
  python2-pip \
  python2-setuptools \
  python2-virtualenv \
  python2-crypto \
  python2-pyyaml \
  python2-pyOpenSSL \
  python2-libselinux \
  make

Get Algo

Download or clone:

git clone git@github.com:trailofbits/algo.git
cd algo

If you downloaded Algo, unzip to your prefered location and cd into it. We'll assume from this point forward that our working directory is the algo root directory.

Prepare algo

Some steps are needed before we can deploy our Algo VPN server.

Check pip

Run pip -v and check the python version it is using:

$ pip -V
pip 19.0.3 from /usr/lib/python2.7/site-packages (python 2.7)

python 2.7 is what we're looking for.

Setup virtualenv and install requirements

python2 -m virtualenv --system-site-packages env
source env/bin/activate
pip -q install --user -r requirements.txt

Configure

Edit the userlist and any other settings you desire in config.cfg using your prefered editor.

Deploy

We can now deploy our server by running:

./algo

Note the IP and password of the newly created Algo VPN server and store it safely.

If you want to setup client config on your Fedora Workstation, refer to the Linux Client docs.

Notes on SELinux

If you have SELinux enabled, you'll need to set appropriate file contexts:

semanage fcontext -a -t ipsec_key_file_t "$(pwd)(/.*)?"
restorecon -R -v $(pwd)

See this comment.