You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.9 KiB

4 years ago
#!/bin/sh
#=========================== EDIT THE FOLLOWING VARIABLES ==========================
# _________________________________________________________________________________
# | |
# | Interface name to use for the TAP device |
# | |
TAP_IF="tap0"
# |_________________________________________________________________________________|
# | |
# | IP Address/Subnet in CIDR Notation for the Virtual Network |
# | |
TAP_NET="10.10.10.1/24"
# |_________________________________________________________________________________|
#
#=========================== DO NOT EDIT BELOW THIS LINE ============================
start(){
echo -n "Starting VDE Switch..."
# Load tun module
modprobe tun || { echo "Error, cannot load 'tun' module. Exiting..." ; exit 1 ; }
sleep 1
# Start tap switch
vde_switch -tap ${TAP_IF} -daemon || { echo "Error, cannot assign IP to ${TAP_IF}. Exiting..." ; exit 1 ; }
# Bring tap interface up
ip addr add ${TAP_NET} dev ${TAP_IF}
ip link set ${TAP_IF} up
#chmod 666 /tmp/vde.ctl
chmod -R a+rwx /var/run/vde.ctl
# Apply workaround
echo 1024 > /proc/sys/dev/rtc/max-user-freq
echo
}
stop(){
echo -n "Stopping VDE Switch..."
# Bring tap interface down
ip addr flush dev ${TAP_IF}
ip link set ${TAP_IF} down
# Kill VDE switch
kill $(pgrep vde_switch)
sleep 1
# Remove tun module
modprobe -r tun
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac