Public repo to distribute scripts and config's
Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
|
- #!/usr/bin/bash
- #
- NATNET=172.16.0.0/16
- NUMOFNS=254
- alias IPN='sudo ip net'
- alias IPL='sudo ip link'
- alias IPA='sudo ip addr add'
-
- peers='tcp://188.40.132.242:9651 tcp://65.21.231.58:9651'
-
- function IPNA() {
- local name=$1
- shift
- sudo ip -n ${name} addr add $@
- }
- function IPNL() {
- local name=$1
- shift
- sudo ip -n ${name} link $@
- }
- function IPNR() {
- local name=$1
- shift
- local defrtr=${1/\/24/}
- shift
- sudo ip -n ${name} route add default via ${defrtr}
- }
- function createns() {
- local iname=$1
- local in_ip=$2
- local out_ip=$3
- local name=n-${iname}
- IPN add $name
- IPL add in_${iname} type veth peer name out_${iname}
- IPL set in_${iname} netns ${name}
- IPNL ${name} set lo up
- IPNL ${name} set in_${iname} up
- IPL set out_${iname} up
- IPNA ${name} ${in_ip} dev in_${iname}
- IPA ${out_ip} dev out_${iname}
- IPNR ${name} ${out_ip}
- # start mycelium, relying on local discovery
- nohup sudo ip netns exec ${name} ./mycelium --key-file ${name}.bin --disable-peer-discovery --api-addr ${in_ip/\/24/}:8989 --peers ${peers} > ${iname}.out &
- }
- function dropns() {
- local iname=$1
- local name=n-${iname}
- IPL del out_${iname}
- IPN del ${name}
- }
-
- function doit() {
- nohup sudo ./mycelium --key-file host.bin --api-addr 127.0.0.1:8989 --peers ${peers}>host.out &
- for i in $(seq 1 $NUMOFNS); do
- createns ${i} 172.16.${i}.2/24 172.16.${i}.1/24
- done
- }
- function dropit() {
- sudo pkill -9 mycelium
- for i in $(seq 1 $NUMOFNS); do
- dropns ${i}
- done
- }
-
- function cleanit() {
- dropit
- sudo rm ./*.bin
- sudo rm ./*.out
- }
-
- function showit() {
- sudo killall -USR1 mycelium
- }
-
- function getmycelium(){
- wget https://github.com/threefoldtech/mycelium/releases/latest/download/mycelium-x86_64-unknown-linux-musl.tar.gz \
- -O- | gunzip -c | tar xvf - -C ${PWD}
-
- }
|