Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nsec/the-internet

The code of our Internet simulator
https://github.com/nsec/the-internet

Last synced: 15 days ago
JSON representation

The code of our Internet simulator

Awesome Lists containing this project

README

        

# Dependencies
* linux (>= 3.16 for all features or >= 3.13 for basic features)
* golang (>= 1.5)
* lxd

# Kernel
The simulation is intended to run inside nested unprivileged LXC
containers. As a result, a kernel with full support for unprivileged
containers is required, that is any kernel >= 3.13 with all the options
required by LXC enabled (see lxc-checkconfig).

Additionally, unprivileged qdisc operations requires a >= 3.16 kernel to
work, so if you want to get the simulated latencies and speeds, you need
to run a very recent kernel.

# Starting the whole thing
This tool is meant to be run on a machine or inside a container on which
a LXD daemon is running.

First build it with:
- go get -v -x github.com/nsec/the-internet

Creating an Internet simulation is basically as simple as:
- the-internet create \
- the-internet start

Generate an html/js map of your Internet with:
- the-internet generate-map \

You can stop the simulation with:
- the-internet stop

Or create a new one by calling the start command again.

Finally, once you want it all off your disk, you can call:
- the-internet destroy