Du kannst nicht mehr als 25 Themen auswählen
			Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
		
		
			
		
		
		
		
			
		
			
				
	
	
		
			86 Zeilen
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
			
		
		
	
	
			86 Zeilen
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
#!/bin/bash
 | 
						|
# QEMU/VDE network environment preparation script
 | 
						|
RUN='/run/vde'
 | 
						|
qemu=/opt/qemu/build/qemu-system-x86_64
 | 
						|
proxy=`dirname "$(readlink -f "$0")"`/../proxy/proxy
 | 
						|
 | 
						|
# PID identifiers
 | 
						|
all="$RUN/*.pid"
 | 
						|
network="$RUN/net_*.pid"
 | 
						|
vms="$RUN/vm_*.pid"
 | 
						|
alpine="$RUN/vm_alpine_*.pid"
 | 
						|
alpine1="$RUN/vm_alpine_1.pid"
 | 
						|
alpine2="$RUN/vm_alpine_2.pid"
 | 
						|
kali="$RUN/vm_kali.pid"
 | 
						|
proxy2="$RUN/proxy_2.pid"
 | 
						|
proxy3="$RUN/proxy_3.pid"
 | 
						|
proxies="$RUN/proxy_*.pid"
 | 
						|
 | 
						|
 | 
						|
case "$1" in
 | 
						|
start)
 | 
						|
  sudo mkdir -p $RUN && sudo chown "$(id -un)":"$(id -gn)" $RUN
 | 
						|
  case "$2" in
 | 
						|
  network | all)
 | 
						|
    echo "Starting VDE network for QEMU: "
 | 
						|
    vde_switch -daemon -s $RUN/sw_main.sock -p $RUN/net_sw_main.pid
 | 
						|
    vde_switch -daemon -s $RUN/sw_proxy1.sock -p $RUN/net_sw_proxy1.pid
 | 
						|
    vde_switch -daemon -s $RUN/sw_proxy2.sock -p $RUN/net_sw_proxy2.pid
 | 
						|
    vde_switch -daemon -s $RUN/sw_proxy3.sock -p $RUN/net_sw_proxy3.pid
 | 
						|
    slirpvde -D -H 10.0.0.2 --daemon -s $RUN/sw_main.sock -p $RUN/net_slirp.pid
 | 
						|
    ;;&
 | 
						|
  alpine1 | alpine | vms | all)
 | 
						|
    $qemu -m 512 -nic vde,mac='52:54:00:12:34:56',sock=$RUN/sw_proxy1.sock -hda alpine1.qcow2 -daemonize -vnc :1 -pidfile $alpine1
 | 
						|
    ;;&
 | 
						|
  alpine2 | alpine | vms | all)
 | 
						|
    $qemu -m 512 -nic vde,mac='52:54:00:12:34:66',sock=$RUN/sw_proxy2.sock -hda alpine2.qcow2 -daemonize -vnc :2 -pidfile $alpine2
 | 
						|
    ;;&
 | 
						|
  kali | vms | all)
 | 
						|
    $qemu -m 1024 -nic user -nic vde,mac='52:54:00:12:34:76',sock=$RUN/sw_proxy3.sock -hda kali.qcow2 -daemonize -vnc :3 -pidfile $kali
 | 
						|
    ;;&
 | 
						|
  proxy2 | proxies | all)
 | 
						|
    $proxy -sproxy $RUN/sw_proxy2.sock -passthrough -logfile $RUN/proxy_2.log -pidfile $proxy2 &
 | 
						|
    ;;&
 | 
						|
  proxy3 | proxies | all)
 | 
						|
    $proxy -sproxy $RUN/sw_proxy3.sock -passthrough -logfile $RUN/proxy_3.log -pidfile $proxy3 &
 | 
						|
    ;;
 | 
						|
  *)
 | 
						|
    echo "Usage: envctl start {all|network|vms|alpine|alpine1|alpine2|kali|proxy2|proxy3|proxies}"
 | 
						|
  esac
 | 
						|
  #echo "Run:\nqemu -m 512 -nic vde,mac='52:54:00:12:34:56',sock=$RUN/sw_proxy.sock -hda alpine1.qcow2 -nographic"
 | 
						|
  ;;
 | 
						|
stop)
 | 
						|
  if [ -n "${!2}" ]; then
 | 
						|
    if ls ${!2} 2> /dev/null; then
 | 
						|
      cat ${!2} | xargs kill
 | 
						|
      rm -f ${!2}
 | 
						|
    else
 | 
						|
      echo "$2 is not running"
 | 
						|
    fi
 | 
						|
  else
 | 
						|
    echo "Usage: envctl stop {all|network|vms|alpine|alpine1|alpine2|kali|proxy2|proxy3|proxies}"
 | 
						|
  fi
 | 
						|
  ;;
 | 
						|
restart)
 | 
						|
  $0 stop
 | 
						|
  sleep 1
 | 
						|
  $0 start
 | 
						|
  ;;
 | 
						|
status)
 | 
						|
  if [ -n "${!2}" ]; then
 | 
						|
    if ls ${!2} 2> /dev/null; then
 | 
						|
      ps -fq "$(cat ${!2} | xargs | sed 's/ /,/g')"
 | 
						|
    else
 | 
						|
      echo "$2 is not running"
 | 
						|
    fi
 | 
						|
  else
 | 
						|
    echo "Usage: envctl status {all|network|vms|alpine|alpine1|alpine2|kali|proxy2|proxy3|proxies}"
 | 
						|
  fi
 | 
						|
  ;;
 | 
						|
*)
 | 
						|
  echo "Usage: envctl {start|stop|restart} {all|network|vms|alpine|alpine1|alpine2|kali|proxy2|proxy3|proxies}"
 | 
						|
  exit 1
 | 
						|
  ;;
 | 
						|
esac
 | 
						|
exit 0
 |