-
Notifications
You must be signed in to change notification settings - Fork 7
clownix/cloonix
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
============================================================================== v39-00 ============================================================================== 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-39-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. ----------------------------------------------------------------------------- ============================================================================== DOWNLOADS: ---------- http://clownix.net/downloads/cloonix-39 ----------------------------------------------------------------------------- ============================================================================== INSTALLATION: ------------ wget http://clownix.net/downloads/cloonix-39/cloonix-bundle-39-00-amd64.tar.gz tar xvf cloonix-bundle-39-00-amd64.tar.gz cd cloonix-bundle-39-00-amd64 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-39/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-39/bulk/busybox.zip ----------------------------------------------------------------------------- ============================================================================== LAUNCH PING SCRIPT: ------------------- cd cloonix-bundle-39-00-amd64 ./ping_demo.sh 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. NOTE: No wireshark for the moment in the i386 version of cloonix bundle. ----------------------------------------------------------------------------- ============================================================================== 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-39/bulk/podman_cloonix.tar.gz gunzip podman_cloonix.tar.gz podman load --input podman_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 podman_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-39-00/quickstart/cnt_create/custom/frr/doitall Or download and install podman podman_frr_cloonix: wget http://clownix.net/downloads/cloonix-39/bulk/podman_frr_cloonix.tar.gz gunzip podman_frr_cloonix.tar.gz podman load --input podman_frr_cloonix.tar ID_IMAGE=$(podman images |grep podman_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. ----------------------------------------------------------------------------- ============================================================================== DISTANT WEB GUI: ---------------- Principle: 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 a windows manager, it is the simplest existing one. 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 -----------------------------------------------------------------------------