============================================================================== v40-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. If you wish to see the cloonix bridges, do: "sudo ip netns exec <namespace_name> ip link". 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-40-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. ------------------------------------------------------------------------------ ============================================================================== INSTALLATION AND USE ============================================================================== ====================================== 1) Download software and installation: ====================================== wget http://clownix.net/downloads/cloonix-40/cloonix-bundle-40-00-amd64.tar.gz tar xvf cloonix-bundle-40-00-amd64.tar.gz cd cloonix-bundle-40-00-amd64 sudo ./install_cloonix (To uninstall: rm -f /usr/bin/cloonix_* rm -rf /usr/libexec/cloonix 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-40/bulk/openwrt.qcow2.gz gunzip bookworm.qcow2.gz wget http://clownix.net/downloads/cloonix-40/bulk/zipbasic.zip ============================= 3) Download demo script file: ============================= cd ${HOME} wget http://clownix.net/downloads/cloonix-40/demo/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. 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. ============================================================================== ============================================================================== ROOTLESS SELF EXTRACTING CLOONIX ============================================================================== To test cloonix without ever having the root password for your host machine, you have to use the self_extracting_cloonix.sh. This script creates the self_extracting_rootfs_dir directory which countains a root file-system equiped with the cloonix software, the openwrt qcow2 virtual machine, the zipbasic container, the frr container, demo scripts for the cloonix run and a self-contained crun executable. 1) Download: ============ wget http://clownix.net/downloads/cloonix-40/self_extracting_cloonix.sh 2) Extract: =========== ./self_extracting_cloonix.sh 3) Change directory: ==================== cd self_extracting_rootfs_dir 4) Enter the cloonix container: =============================== ./crun_container_startup.sh 5) Launch demo: =============== ./ping_demo.sh NOTE FOR KVM USE ================: For the cloonix to be able to use the openwrt qcow2, 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/vnc_lite.html Note that the 54521 port can be changed in:: /usr/libexec/cloonix/common/etc/cloonix.cfg -----------------------------------------------------------------------------