2 # Filename: grml-pptp-vcgraz
3 # Purpose: connect via pptp in vc-graz (www.vc-graz.ac.at)
4 # Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
5 # Bug-Reports: see http://grml.org/bugs/
6 # License: This file is licensed under the GPL v2.
7 ################################################################################
9 ################################################################################
11 # This script is based on 'knoppix-pptp' (versions 0.3.1 and 0.4.0-test2)
12 # by Wolfgang Scheicher.
13 ################################################################################
18 if [ "$UID" != 0 ]; then
24 echo "name ${VPNUSERNAME}" > /etc/ppp/peers/vc-graz
25 cat >> /etc/ppp/peers/vc-graz << "EOF"
40 logfile /var/log/pptp.log
48 # make sure it is not readable by any non-root users:
49 touch /etc/ppp/chap-secrets
50 chmod 600 /etc/ppp/chap-secrets
51 # don't overwrite existing files - so just append:
52 echo "${VPNUSERNAME} PPTP ${VPNPASSWORD} *" >> /etc/ppp/chap-secrets
54 echo -e "#!/bin/sh\nLANG=C\nVPNSERVER=\"${VPNSERVER}\"\nDORMITORY=\"${DORMITORY}\"" > /etc/init.d/pptp-vcgraz
55 cat >> /etc/init.d/pptp-vcgraz << "EOF"
56 # connect to vc-graz via pptp
59 ifconfig | grep $VPNSERVER > /dev/null && echo "PPTP already started"
60 ifconfig | grep $VPNSERVER > /dev/null && exit 0
61 echo "Starting PPTP Tunnel"
63 route add -host $VPNSERVER gw 10.${DORMITORY}.0.1
64 route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.${DORMITORY}.0.1
65 pppd pty "pptp $VPNSERVER --nolaunchpppd" call vc-graz updetach || exit 1
69 ifconfig | grep $VPNSERVER > /dev/null || echo "PPTP already stopped"
70 ifconfig | grep $VPNSERVER > /dev/null || exit 0
71 echo "Stopping PPTP Tunnel"
77 route del -host $VPNSERVER gw 10.${DORMITORY}.0.1
78 route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.${DORMITORY}.0.1
79 route add default gateway 10.${DORMITORY}.0.1
83 /etc/init.d/pptp-vcgraz stop
85 /etc/init.d/pptp-vcgraz start
89 dialog --title "Status of /etc/init.d/pptp-vcgraz - PPTP Log" --no-cancel --tailbox /var/log/pptp.log 0 0
93 echo 'Usage: /etc/init.d/pptp-vcgraz {start|stop|restart}' >&2
101 chmod +x /etc/init.d/pptp-vcgraz
102 touch /var/log/pptp.log
103 /etc/init.d/pptp-vcgraz start
104 dialog --title "PPTP Log" --no-cancel --tailbox /var/log/pptp.log 0 0
107 [ -n "$VPNSERVER" ] || VPNSERVER="10.0.0.3"
108 [ -n "$DORMITORY" ] || DORMITORY="$(ifconfig | grep "addr:10" | cut -d. -f2)"
110 if [ -z "$DORMITORY" ]; then
111 dialog --stdout --title "VC-Graz" --msgbox "No 10.x.x.x ip address found, sorry. grml-pptp-vcgraz does work only for VC-Graz in 10.x.x.x network. Make sure you requested an ip address via DHCP. Try running pump/dhclient otherwise." 0 0 || \
112 echo "No 10.x.x.x ip address found, sorry. grml-pptp-vcgraz does work only for VC-Graz in 10.x.x.x network. Make sure you requested an ip address via DHCP. Try running pump/dhclient otherwise."
116 if [ ! -x /usr/sbin/pppd ]; then
117 dialog --stdout --title "VC-Graz" --msgbox "/usr/sbin/pppd not found. Huh?!" 0 0 ||
118 echo "Error: /usr/sbin/pppd not found. Huh?!"
122 if [ ! -x /usr/sbin/pptp ]; then
123 dialog --stdout --title "VC-Graz" --msgbox "/usr/sbin/pptp not found. Huh?!" 0 0 ||
124 echo "Error: /usr/sbin/pptp not found. Huh?!"
128 #[ -n "$VPNUSERNAME" ] || VPNUSERNAME=$(cat /etc/ppp/chap-secrets | grep PPTP | head -1 | cut -d " " -f1)
129 #[ -n "$VPNPASSWORD" ] || VPNPASSWORD=$(cat /etc/ppp/chap-secrets | grep PPTP | head -1 | cut -d " " -f3)
131 if [ -z "$VPNUSERNAME" ] || [ -z "$VPNPASSWORD" ] ; then
132 COMMAND1=$(dialog --stdout --title "Virtual Campus Graz" --inputbox "Account number:" 0 0) || exit 0
133 VPNUSERNAME=${COMMAND1%/*}
134 if [ -z "$VPNUSERNAME" ] ; then
135 dialog --stdout --title "Virtual Campus Graz" --msgbox "Sorry, please provide a valid username. Exiting." 0 0
138 COMMAND2=$(dialog --stdout --title "Virtual Campus Graz" --passwordbox "Account password (hidden typing)" 0 40) || exit 0
139 VPNPASSWORD=${COMMAND2#*/}
140 if [ -z "$VPNPASSWORD" ] ; then
141 dialog --stdout --title "Virtual Campus Graz" --msgbox "Sorry, please provide a valid password. Exiting." 0 0
149 ## END OF FILE #################################################################