Skip to content

prerequisite

buehlert edited this page May 23, 2022 · 13 revisions

Prerequisite

We run our mini-Internet on a server with Ubuntu 20.04 and the linux kernel 5.4.0. To build the mini-Internet, you need sudo privileges and must install the following software on the server that hosts the mini-Internet.

ℹ️ We allocate two cores to the docker containers, thus the server hosting the mini-Internet needs at least two cores. If you want to try it out with one core, you will have to update the container_setup.sh script and allocate one core only to every docker container.

Install the Docker Engine

To run all the different components in the mini-Internet (hosts, switches, routers, ...) we use Docker containers.

Follow this installation guide to install docker. In the directory docker_images you can find all the Dockerfile and docker-start files used to build the containers. In case you want to add some functionality into some of the docker containers, you can update these files and build you own docker images:

docker build --tag=your_tag your_dir/

Then, you have to manually update the scripts in the setup directory and run your custom docker images instead of the ones we provide by default.

Install Open vSwitch

We use the Open vSwitch framework in two ways: (i) to build the L2 component of the mini-Internet and (ii) to connect Docker containers together.

sudo apt-get install openvswitch-switch

For further information, see the installation guide.

Install OpenVPN

Finally, we also need Open VPN which allows the students to connect their own devices to the mini-Internet.

sudo apt-get install openvpn

Install OpenSSL

You must have OpenSSL installed with SECLEVEL<=2. It should be the case by default.

Miscellaneous

To prevent accidental shutdowns/reboots, you can also install the molly-guard package.