Skip to content

Run a command in different namespaces because who needs Docker, right?

Notifications You must be signed in to change notification settings

whokilleddb/1s0lat3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Run a command in different namespaces because who needs Docker, right?

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published