Aug 27, 2019 - IMUNES news and updates

IMUNES news and updates

Hello!

The summer is (almost) over and we are back at work. As already announced in our previous blog post, this post will be about IMUNES news and updates since a long time ago. There have been more then 200 commits and about 30 issues closed since December 2015.

Many of those commits were code cleaning/improvements, performance/stability updates and bug fixes, so here is an overview of everything important:

  • IMUNES is updated to work on FreeBSD-11 (every version) and FreeBSD-12.0 (FreeBSD-12.0-STABLE-20190418-r346338 or newer). Unfortunately, there is a bug in 12.0 which is addressed in issue #89)
  • there is a new node on both Linux and FreeBSD: External interface
  • we created an IMUNES startup service for FreeBSD, so you can now start IMUNES topologies automatically at boot time
  • we updated existing ones and added some new examples to imunes-examples and imunes-security repositories:
  • IMUNES Docker template image for the Linux version got updated. There are now multiple IMUNES template Linux distributions/versions available to download from Docker hub:
    • debian-8 (imunes/template:latest),
    • debian-9 (imunes/template:debian-9),
    • debian-9-min (imunes/template:debian-9-min),
    • ubuntu-18.04 (imunes/template:ubuntu-18.04),
    • ubuntu-18.04-min (imunes/template:ubuntu-18.04-min)
  • we updated our tools used for scripting IMUNES:
    • there is a new version of the vlink script, now working on both Linux and FreeBSD
    • the himage script also got updated and now works even better (including the himage-bash-completion script).
  • our website has some new downloads:
  • and more…

What are our next moves? Some plans for the future include:

  • wireless node - already in repository, but needs more testing and better implementation
  • there are currently two active branches in our main repository (docker_another and linux-rstp):
    • docker_another branch allows IMUNES on Linux to run custom Docker images instead of the default IMUNES template. This branch is a bit stale, but there is a plan to revive it soon.
    • linux-rstp branch enables RSTP switch node in Linux version of IMUNES using Open vSwitch. This is a new feature but it still needs testing before we merge it to master
  • link widgets - show information about links on mouse hover
  • there are still some imunes-security examples that do not work as intended on FreeBSD, so there is still work to be done. Also, Linux porting of some of those examples should be possible.
  • update Wiki with all the existing examples. Also, think of some new content (FAQ, Tips&Tricks, etc.)

We also added a new Wiki page for Mentions and publications so check it out and send us links if you notice anything about IMUNES on the web so we can expand the list.

Our next posts will go into detail about some of the things from above, so stay tuned!

Aug 10, 2019 - Blog update

Blog update

Hello!

We hope to revive this blog with some new posts, news and updates in the near future. IMUNES is still an active project and there is a lot of new and interesting features since the last blog update even though we’ve been quiet.

For starters, we updated our wiki page with some content from our old wiki page (it was a bit outdated), so check it out. The example usage list is not yet complete, but the plan is to accompany every example from imunes-examples and imunes-security with a wiki entry.

Make sure to follow us on our Facebook where we will publish links to this blog on every new blog post.

Stay tuned!

Dec 23, 2015 - Welcome to the IMUNES blog

This is the first of many posts about the IMUNES network emulation tool which will cover in depth topics and news about the tool. New posts will be submitted as we implement new features and explain how IMUNES works internally.

IMUNES is an efficient and fast IP network emulator that can run 100s and even 1000s of virtual network nodes on one physical machine. Every virtual node has its own copy of the network stack, file system and separate process space for running applications. It provides a clean, consistent and repeatable environment for testbeds, laboratory environments for learning, honeypots and others.

Installation

The entire installation process on FreeBSD and Linux is covered on the front page of our main Github repository.

The main prerequisites for fetching and installing IMUNES are git and GNU make. Currently two operating systems are supported:

  • FreeBSD (RELEASE > 9.3) and
  • various Linux flavors (recommended kernel > 3.19 for reasonable performance).

IMUNES is written in Tcl/Tk version 8.6 and the GUI and frontend is OS independent and can run on any supported platform. The main requirements for running the IMUNES GUI and frontend are the following:

  • tcl 8.6
  • tk 8.6
  • tcllib

Additional packages needed for full GUI functionality are the following:

  • wireshark
  • socat
  • ImageMagick
  • xterm

For executing IMUNES experiments (topologies) additional support is needed from the operating system:

  • On FreeBSD the options VIMAGE option must be included in the kernel configuration that is currently used.

  • On Linux IMUNES requires Docker (version 1.6 or greater), OpenvSwitch and nsenter to work properly.

After all prerequisites are available, the installation is performed as follows:

git clone https://github.com/imunes/imunes.git
cd imunes
make install

License

IMUNES is licensed under the very permissive and liberal BSD license and is copyrighted as a product of the University of Zagreb, Croatia as stated here. IMUNES was developed at the Faculty of Electrical Engineering and Computing.

The license enables usage of IMUNES and all its components for private purposes and does not require adding developed improvements back to the IMUNES repository. This development model has been recognized and in part supported by the following organizations:

  • Ericsson Nikola Tesla Zagreb
  • Boeing Defense, Space and Security
  • FreeBSD / NLnet Foundation
  • ICSI / University California, Berkeley