* Windows to WireGuard * Add note about WireGuard * change wireguard faq * Clarify Windows instructions * Correct Wireguard description * Update README.md
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.