Skip to content

clownix/cloonix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

==============================================================================
                               v43-00
==============================================================================
                               GENERAL
==============================================================================
Cloonix is an AGPLv3 software that constitute a tool to create networks of
kvm virtual machines or crun containers. It provides a graphical interactive
canvas showing the topology for your network, cloonix is a virtualisation
hypervisor.

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 isolated from cloonix. That way, "ip link" on your host
shows clean results. Do "ip netns" to see cloonix namespaces.

Building of the binaries is done on a debian trixie, 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-43-00/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 cloonix api.
------------------------------------------------------------------------------

==============================================================================
              HOST INSTALLATION AND USE WITH ADMIN PERMISSIONS 
==============================================================================

        ======================================
        1) Download software and installation:
        ======================================

wget http://clownix.net/downloads/cloonix-43/cloonix-bundle-43-00-amd64.tar.gz
tar xvf cloonix-bundle-43-00-amd64.tar.gz
cd cloonix-bundle-43-00-amd64
sudo ./install_cloonix

(To uninstall:   sudo rm -f /usr/bin/cloonix_*
                 sudo rm -rf /usr/libexec/cloonix
                 sudo rm -rf /var/lib/cloonix)


        ==========================================
        2) Download virtual machine and container:
        ==========================================

mkdir -p /var/lib/cloonix/bulk
cd /var/lib/cloonix/bulk

wget http://clownix.net/downloads/cloonix-43/bulk/bookworm.qcow2.gz
gunzip bookworm.qcow2.gz

wget http://clownix.net/downloads/cloonix-43/bulk/zipfrr.zip


        =============================
        3) Download demo script file:
        =============================

cd ${HOME}
wget http://clownix.net/downloads/cloonix-43/demos/ping_demo.sh


        ===============
        4) Use cloonix:
        ===============

On the gui, a double-click on the biggest 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.
The big blue machine is based on qcow2 file driven by qemu/kvm.

On the gui, a double-click on the smallest 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.
The smaller blue machine is a container based on zip files driven by crun. 

==============================================================================


==============================================================================
                ROOTLESS SELF EXTRACTING CLOONIX FOR QUICK DEMO
==============================================================================
To test cloonix without ever having the root password for your host machine,
you have to use the extract_nemo.sh.

This script creates the extractnemo directory which countains a root
file-system equiped with the cloonix software, the frr container, and 
ping and frr demo scripts.

        1) Download:
        ============
wget http://clownix.net/downloads/cloonix-43/extract_nemo.sh

        2) Extract based on the makeself.sh utility:
        ============================================
./extract_nemo.sh

        3) The nemo_cmd script is now present, call the gui canvas:
        ===========================================================
./nemo_cmd gui

        4) Call the ping demo and Ctrl-C to stop the pings:
        ===================================================
./nemo_cmd ping

        5) Kill all:
        ===============
./nemo_cmd kil 


NOTE FOR KVM USE
================:
     For the cloonix to be able to use the qcow2 files, devices /dev/kvm,
     /dev/vhost-net and /dev/net/tun, must have read/write access. For this
     some commands must be done as root to provide read/write access:

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

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

==============================================================================
                            DISTANT WEB GUI:
==============================================================================
Default value for the web gui is off, to set it on:

cloonix_cli nemo cnf web on

Xvfb creates a virtual framebuffer on a defined DISPLAY,
this display can be seen through its X11 socket at /tmp/.X11-unix/.
Then on this display, wm2 is launched, it is a very small windows manager.
When the wm2 representation gets to be visible in your browser,
click on the main mouse button, and choose the only choice which is "cloonix".
x11vnx carries the equivalent of a desktop to the vnc server and
finaly websockify puts this desktop inside a web browser.

For nemo the http link for the browser is::

   http://<ip_of_server>:54521

Note that the 54521 port can be changed in::

  /usr/libexec/cloonix/common/etc/cloonix.cfg

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