1.1 --- a/uml-net Tue Apr 30 17:52:07 2013 +0200
1.2 +++ b/uml-net Tue Apr 30 19:41:59 2013 +0200
1.3 @@ -28,21 +28,33 @@
1.4
1.5 PROGNAME=`basename "$0"`
1.6
1.7 -if [ "$1" = "--start" ]; then
1.8 - chgrp adm /dev/net/tun
1.9 - tunctl -u "$2" -t "$TUNDEVICE"
1.10 - ifconfig "$TUNDEVICE" "$HOSTADDRESS" up
1.11 - bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
1.12 +OPERATION=$1
1.13 +USER=$2
1.14 +
1.15 +if [ "$OPERATION" = "--start" ] && [ "$USER" ]; then
1.16 + if ! chgrp adm /dev/net/tun ; then
1.17 + echo "Cannot change group permission on tunnel device." 1>&2
1.18 + exit 1
1.19 + fi
1.20 + if ! tunctl -u "$USER" -t "$TUNDEVICE" ; then
1.21 + echo "Cannot configure a tunnel device for user $USER." 1>&2
1.22 + exit 1
1.23 + fi
1.24 + if ! ifconfig "$TUNDEVICE" "$HOSTADDRESS" up ; then
1.25 + echo "Could not start the tunnel device." 1>&2
1.26 + exit 1
1.27 + fi
1.28 + sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
1.29 iptables -t nat -I POSTROUTING -o "$NETDEVICE" -j MASQUERADE
1.30 iptables -I FORWARD -i "$TUNDEVICE" -j ACCEPT
1.31 iptables -I FORWARD -o "$TUNDEVICE" -j ACCEPT
1.32
1.33 -elif [ "$1" = "--stop" ]; then
1.34 +elif [ "$OPERATION" = "--stop" ]; then
1.35 iptables -t nat -D POSTROUTING 1
1.36 iptables -D FORWARD 1
1.37 iptables -D FORWARD 1
1.38 tunctl -d "$TUNDEVICE"
1.39 else
1.40 - echo "Usage: $PROGNAME --start <username> | --stop" 1>&2
1.41 - exit 1
1.42 + echo "Usage: $PROGNAME --start <username> | --stop" 1>&2
1.43 + exit 1
1.44 fi