Skip to content

Latest commit

 

History

History
63 lines (53 loc) · 1.56 KB

README.md

File metadata and controls

63 lines (53 loc) · 1.56 KB

1s0lat3 - Run your programs in separate namespaces

Why use Docker when you can just is0lat3?

Run a process in separate Namespaces to provide isolation for the processes. Namespaces isolation implemented so far:

  • uts
  • user
  • network
  • pid
  • mount

How to compile?

$ git clone https://github.com/whokilleddb/1s0lat3
$ cd 1s0lat3
$ make

Run a process

Syntax:

./isolate <command with flags>

Example:

$ sudo ./isolate /bin/sh
[+] 1s0lat3 by @whokilleddb
[>] Command to be run in 1s0lati0n: /bin/sh 
[i] Successfully created UTS namespace
[i] Successfully created USER namespace
[i] Successfully created NETWORK namespace
[i] Successfully created PID namespace
[i] Successfully created MOUNT namespace
/ # cat /etc/os-release 
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.15.0
PRETTY_NAME="Alpine Linux v3.15"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
/ # exit
[+] Bye :D

Cleanup

$ make clean

Notes

  • You will need libnl library, especially the routing family of functions

To-Do

  • Add routing inside Name-space
  • Configure IP Tables to allow internet access