Skip to content

clownix/cloonix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

==============================================================================
NEW: Use of broadway to have a web gui, very fresh code, could be faulty:)
==============================================================================
GENERAL:
--------

Cloonix is an AGPLv3 software that constitute a tool to create networks of
kvm virtual machines or crun containers.

The network connecting the virtual machines and containers is created through
the use of the openvswitch software running inside a net namespace so that
your host is not polluted with bridges. That way, "ip link" on your host
shows clean results. Do "ip netns" to see cloonix namespaces. If you wish
to see the cloonix bridges for nemo, do:
"sudo ip netns exec <namespace_name> ip link".

The cloonix user interface to connect virtual machines and containers is
a simplification of the openvswitch commands. It provides easy use of 
virtual lans to build a network.

Cloonix also provides root access ssh and scp equivalent for every virtual
machines or containers without use of any ip interface inside the virtual
machines or container.

Cloonix provides a graphical interactive canvas showing the topology for
your network, it is some kind of hypervisor for virtualisation.

Building of the binaries is done on a debian bookworm and all the necessary
files and libraries are collected and put into an autonomous bundle, this
makes the bundle self-contained. No added files or packages are necessary.

See clownix.net for a documentation.
http://clownix.net/doc_stored/build-36-01/html/index.html doc.

NOTE: qemu-guest-agent also called qemu-ga has to be installed inside the kvm
      guests virtual machines to have the pseudo-ssh and pseudo-scp.
-----------------------------------------------------------------------------

==============================================================================
DOWNLOADS:
----------

http://clownix.net/downloads/cloonix-36

-----------------------------------------------------------------------------

==============================================================================
INSTALLATION:
------------

wget http://clownix.net/downloads/cloonix-36/cloonix-bundle-36-01.tar.gz
tar xvf cloonix-bundle-36-01.tar.gz
cd cloonix-bundle-36-01
sudo ./install_cloonix

==============================================================================
UNINSTALLATION:
---------------

rm -f /usr/bin/cloonix_*
rm -rf /usr/libexec/cloonix
rm -rf /var/lib/cloonix

-----------------------------------------------------------------------------

==============================================================================
LOADING A QCOW INTO BULK FOR KVM USE:
-------------------------------------

mkdir -p /var/lib/cloonix/bulk
cd /var/lib/cloonix/bulk
wget http://clownix.net/downloads/cloonix-36/bulk/bookworm.qcow2.gz
gunzip bookworm.qcow2.gz

-----------------------------------------------------------------------------

==============================================================================
LOADING A ZIP INTO BULK FOR CRUN USE:
-------------------------------------

mkdir -p /var/lib/cloonix/bulk
cd /var/lib/cloonix/bulk
wget http://clownix.net/downloads/cloonix-36/bulk/busybox.zip

-----------------------------------------------------------------------------

==============================================================================
LAUNCH PING SCRIPT:
-------------------

cd cloonix-bundle-36-01

./ping_kvm.sh

On the gui, a double-click on the blue machine gives a shell,
a double-click on the green interface gives a wireshark spy,
a right-click on the blue machine gives a spice desktop.

./ping_cnt.sh

On the gui, a double-click on the blue machine gives a shell,
a double-click on the green interface gives a wireshark spy,
a right-click on the container gives one remote console.

-----------------------------------------------------------------------------

==============================================================================
CLOONIX INSIDE PODMAN:
----------------------

For the cloonix to be able to use /dev/kvm, /dev/vhost-net and /dev/net/tun,
some commands must be done as root, here is the way to check that your user
can read/write those devices and the way to authorise their use:

getfacl /dev/kvm
getfacl /dev/vhost-net
getfacl /dev/net/tun

sudo setfacl -R -m u:${USER}:rw /dev/kvm
sudo setfacl -R -m u:${USER}:rw /dev/vhost-net
sudo setfacl -R -m u:${USER}:rw /dev/net/tun

Then download and install podman:

wget http://clownix.net/downloads/cloonix-36/bulk/cnt_cloonix.tar
podman load --input cnt_cloonix.tar

Then try the podman, note that the directory /var/lib/cloonix/bulk
of your host is made visible inside the podman and must contain
some qcow2 and zip file-systems:

ID_IMAGE=$(podman images |grep cnt_cloonix | awk "{print \$3}")
podman run -it --privileged \
           -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix \
           -v /var/lib/cloonix/bulk:/var/lib/cloonix/bulk \
           -v /lib/modules:/lib/modules $ID_IMAGE /bin/bash

Then try cloonix from within the podman:

cloonix_net nemo
cloonix_gui nemo
-----------------------------------------------------------------------------

==============================================================================
FRR DEMO INSIDE CLOONIX INSIDE PODMAN:
--------------------------------------

Build the podman with the help of:
cloonix-36-01/quickstart/cnt_create/custom/frr/doitall

Or download and install podman cnt_frr_cloonix:

wget http://clownix.net/downloads/cloonix-36/bulk/cnt_frr_cloonix.tar
podman load --input cnt_frr_cloonix.tar

ID_IMAGE=$(podman images |grep cnt_frr_cloonix | awk "{print \$3}")
podman run -it --privileged \
           -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix \
           -v /lib/modules:/lib/modules $ID_IMAGE /bin/bash

Then try the frr demo from within the podman:

cd /root
./spider_demo.sh

Then double-click on one of the peripheral sodxx and do:
traceroute sodyy

FRR Ospf has played its routing role and the path is found.
-----------------------------------------------------------------------------

==============================================================================
BROADWAYD
-----------------------------------------------------------------------------
This server is launched automaticaly on the port named broadway_port in the
file "/usr/libexec/cloonix/common/etc/cloonix.cfg".

Command to get the broadway: "cloonix_cli nemo cnf web on"
The server is not on if not requested.

Your browser can have access to the gui with "http://<ip>:<broadway_port>".
-----------------------------------------------------------------------------