75 lines
1.9 KiB
Bash
75 lines
1.9 KiB
Bash
#!/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
|