-
Notifications
You must be signed in to change notification settings - Fork 7
clownix/cloonix
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 -----------------------------------------------------------------------------