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
============================================================================== 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>". -----------------------------------------------------------------------------