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@31 | 14 | if [ "$1" = "--start" ]; then |
paul@27 | 15 | chgrp adm /dev/net/tun |
paul@30 | 16 | tunctl -u "$2" -t "$TUNDEVICE" |
paul@30 | 17 | ifconfig "$TUNDEVICE" "$HOSTADDRESS" up |
paul@27 | 18 | bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward" |
paul@30 | 19 | iptables -t nat -I POSTROUTING -o "$NETDEVICE" -j MASQUERADE |
paul@30 | 20 | iptables -I FORWARD -i "$TUNDEVICE" -j ACCEPT |
paul@30 | 21 | iptables -I FORWARD -o "$TUNDEVICE" -j ACCEPT |
paul@27 | 22 | |
paul@31 | 23 | elif [ "$1" = "--stop" ]; then |
paul@27 | 24 | iptables -t nat -D POSTROUTING 1 |
paul@27 | 25 | iptables -D FORWARD 1 |
paul@27 | 26 | iptables -D FORWARD 1 |
paul@30 | 27 | tunctl -d "$TUNDEVICE" |
paul@27 | 28 | fi |