With this project, we start to implement a containerized interface for Kathará, which will be able to execute and manage laboratories via your web browser.
graph TD
subgraph GUI
A(GUI)
end
subgraph Laboratories
A --generate labs for--> D(Kathara)
D --execute labs with--> E(docker-client)
end
subgraph TTY
A --use--> B(tty/socket.io)
B --access by container ID--> C(docker-client)
end
subgraph Daemon
C --access--> F(dind)
E --access--> F
end
- Creation of a web-interface, where you can drag-and-drop nodes and connections,
- Mapping from the UI laboratory configuration to Katharà's
lab.conf
notation. - Execution of the laboratory with Kathará via Docker-in-Docker
dind
. - Enable shell access to nodes of a laboratory via http.
After you have installed Docker you can use source kaas_aliases.sh
in every new terminal to generate shortcuts to run the KaaS stack.
Internally, a loadbalancer - Traefik - resolves the names for our service, which are currently available under the domain .test
.
To be able to access the services, you must point the domain name entries kaas.test
, rest.kaas.test
, tty.kaas.test
, and traefik.kaas.test
to localhost
.
You may do so by adding the corresponding line to /etc/hosts
, or just call our script ./kaas_dns.sh hosts
only once.
source kaas_aliases.sh
, to get aliases fordocker compose
./kaas_dns.sh hosts
, to add DNS entries to/etc/hosts
.
If you just want to try the stack, use kaas up -d
to download precompiled images and start the stack.
For development purposes, you can call the stack with kaas.dev up -d
, but a few dependencies need to be installed on your host machine:
- Go to the folder
kathara-ui-vue3
and install the npm dependencies by callingnpm install
- Go to the folder
kathara-rest
, create avirtualenv
for Python3 and install the dependencies withpip install -r requirements-dev.txt
.
You can build new images by calling kaas.dev build
, if you want to test your changes.
After the system has been successfully initialize you can access the components with the following links:
- Just as reference: Netkit Lab Generator
- Mininet Editor
- Kathara in Docker
- TTY for container
- TTY.js
- Netkit creator
The KaaS concept and prototype is developed by Computer Networks Group.
Our publication can be found here:
- Visualization of Network Emulation Enabled by Kathará (at WueWoWas 2023)
- Presentation