paul@31 | 1 | #!/bin/sh |
paul@27 | 2 | # Usage: uml-net ( --start <username> | --stop ) |
paul@27 | 3 | |
paul@27 | 4 | # Configuration: |
paul@27 | 5 | if [ -e userinstall-defaults-uml ]; then |
paul@31 | 6 | . "$PWD/userinstall-defaults-uml" |
paul@27 | 7 | elif [ -e /etc/default/userinstall-uml ]; then |
paul@31 | 8 | . /etc/default/userinstall-uml |
paul@27 | 9 | else |
paul@31 | 10 | echo "No defaults found for userinstall (UML)." 1>&2 |
paul@27 | 11 | exit 1 |
paul@27 | 12 | fi |
paul@27 | 13 | |
paul@36 | 14 | PROGNAME=`basename "$0"` |
paul@36 | 15 | |
paul@31 | 16 | if [ "$1" = "--start" ]; then |
paul@27 | 17 | chgrp adm /dev/net/tun |
paul@30 | 18 | tunctl -u "$2" -t "$TUNDEVICE" |
paul@30 | 19 | ifconfig "$TUNDEVICE" "$HOSTADDRESS" up |
paul@27 | 20 | bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward" |
paul@30 | 21 | iptables -t nat -I POSTROUTING -o "$NETDEVICE" -j MASQUERADE |
paul@30 | 22 | iptables -I FORWARD -i "$TUNDEVICE" -j ACCEPT |
paul@30 | 23 | iptables -I FORWARD -o "$TUNDEVICE" -j ACCEPT |
paul@27 | 24 | |
paul@31 | 25 | elif [ "$1" = "--stop" ]; then |
paul@27 | 26 | iptables -t nat -D POSTROUTING 1 |
paul@27 | 27 | iptables -D FORWARD 1 |
paul@27 | 28 | iptables -D FORWARD 1 |
paul@30 | 29 | tunctl -d "$TUNDEVICE" |
paul@36 | 30 | else |
paul@36 | 31 | echo "Usage: $PROGNAME --start <username> | --stop" 1>&2 |
paul@36 | 32 | exit 1 |
paul@27 | 33 | fi |