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}
}
 |