Skip to content

RobertoRiosMX/unetlab

 
 

Repository files navigation

UNetLab is a new generation software for networking lab. It can be considered the next major version of iou-web, but the software has been rewritten from scratch. The major advantage over GNS3 and iou-web itself is about multi-hypervisor support within a single entity. UNetLab allows to design labs using IOU, Dynamips and QEMU nodes without dealing with multi virtual machines: everything run inside a UNetLab host, and a lab is a single file including all information needed.

LICENSE

- UNetLab is licensed under the GNU GPLv3 (https://github.com/dainok/unetlab).
- Dynamips is licensed under the GNU GPLv2 (https://github.com/GNS3/dynamips/blob/v0.2.10/README).
- IOUTools is licensed under the GNU GPLv2 (https://github.com/ehlers/IOUtools/blob/master/LICENSE).
- Linux is licensed under the GNU GPLv2 (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/COPYING?id=refs/tags/v4.0).
- QEMU is licensed under the GNU GPLv2 (http://wiki.qemu.org/License).
- Slim Framework is provided "AS IS" (https://github.com/slimphp/Slim/blob/master/LICENSE).

UNetLab includes QEMU 2.1.2 (default) and QEMU 1.3.1 (for IPS) configured and compiled with the following line:
./configure --prefix=/opt/qemu --target-list="i386-softmmu x86_64-softmmu" --enable-sdl --enable-vnc --disable-xen --enable-curses --enable-kvm --enable-uuid

For QEMU 0.13, must:
- manually add to Makefile and Makefile.target: 
    LIBS+=-lz -lrt -lm
- add to qemu-common.h the following lines:
    #define BIT(n) (1 << (n))
    #define BITS(n, m) (((0xffffffffU << (31 - n)) >> (31 - n + m)) << m)

QEMU for ESXi has been modified. See the patch for more information.

Kernel has been patched and recompiled to allow LLDP and LACP frames been forwarded by linux bridges. Patch has been provided by Bernhard Thaler (http://lists.linuxfoundation.org/pipermail/bridge/2015-January/009291.html).
Here the commands:

# apt-get upgrade linux-generic-lts-utopic linux-headers-generic-lts-utopic linux-image-generic-lts-utopic
# apt-get build-dep linux-image-$(uname -r) fakeroot libncurses5-dev
# apt-get source linux-image-$(uname -r)
# cd /usr/src/linux-lts-utopic-3.16.0
# patch -p0 < /usr/src/unetlab/patch/linux-lts-utopic-3.16.0.patch

# cp -a /usr/share/kernel-package/examples/etc/kernel/postinst.d/force-build-link /etc/kernel/postinst.d/
# cp -a /usr/share/kernel-package/examples/etc/kernel/postrm.d/force-build-link /etc/kernel/postrm.d/
# make-kpkg clean
# fakeroot make-kpkg -j4 --initrd --append-to-version=-unetlab kernel-image kernel-headers


# chmod a+x debian/scripts/*
# chmod a+x debian/scripts/misc/*
# fakeroot debian/rules clean
# fakeroot debian/rules editconfigs
# fakeroot debian/rules binary-headers binary-generic

nsenter is compiled from util-linux-2.27-rc1.tar.gz:
./configure --enable-static
make

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 52.4%
  • JavaScript 15.2%
  • Python 13.9%
  • C 9.4%
  • Shell 4.4%
  • CSS 3.0%
  • Other 1.7%