[HOWTO] Gemini 4.6 and Openvpn

Status
Not open for further replies.

vlasa

Banned
Messages
370
Hello community,

Edit: 27/02/2010 : Bug fixed in the script for openvpn / etc / init.d once drangehangen as an example

because I was helped very much, here my first How-To on installing an OpenVPN server on the current Gemini. Effort for me (without Key Creation: about 35 minutes)

1.) Gemini Install
2.) connect via telnet
3.) newnigma feed search. (Google helps)
4.) Per openvpn_2 ipkg install * _mipsel.ipk
a. Any post-install needed libraries
b. Currently tunctl and liblzo1
Openvpn 5.) OpenVPN data (certificates, configuration files, including documentation, etc.) to / etc see / copy
Start trying 6.) OpenVPN to ... (first hand)
a.

Code:
/usr/sbin/openvpn --config /etc/openvpn/server.conf

7.) wines, because it does not want and check logfile
a. Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19) => also
b.
Code:
insmod /lib/modules/2.6.12-5.1-brcmstb-dm8000/kernel/drivers/net/tun.ko

c. cry again, because there already ...
d. also:
rm /dev/net/tun
/ rm dev / net / tun

and again 7.b)
Start 8.) OpenVPN again (see 6.a.)
if it does not go now, there is a fault within openvpn (see OpenVPN documentation)
9.) Now we get down to the file openvpn / etc / init.d
My example::::
Code:
#!/bin/sh -e
#
# Original version by Robert Leslie
# <[email protected]>, edited by iwj and cs
# Modified for openvpn by Alberto Gonzalez Iniesta <[email protected]>
# Modified for restarting / starting / stopping single tunnels by Richard Mueller <[email protected]>

test $DEBIAN_SCRIPT_DEBUG && set -v -x

DAEMON=/usr/sbin/openvpn
CONFIG_DIR=/etc/openvpn
test -x $DAEMON || exit 0
test -d $CONFIG_DIR || exit 0

start_vpn () {
    $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \
            --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->"
    echo -n " $NAME"
}
stop_vpn () {
   kill `cat $PIDFILE` || true
  rm $PIDFILE
}

case "$1" in
start)
  echo -n "Do create tun interface"
  if test -e /dev/net/tun ; then
     rm /dev/net/tun || modprobe -r tun
  fi 
  #insmod /lib/modules/2.6.12-5.1-brcmstb-dm8000/kernel/drivers/net/tun.ko
  #tunctl -u root -t tun
  modprobe tun
  echo -n "Starting openvpn:"

  if test -z $2 ; then
    for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do
      NAME=${CONFIG%%.conf}
      start_vpn
    done
  else
    if test -e $CONFIG_DIR/$2.conf ; then
      NAME=$2
      start_vpn
    else
      echo -n " No such VPN: $2"
    fi
  fi
  echo "."

  ;;
stop)
  echo -n "Stopping openvpn:"

  if test -z $2 ; then
    for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
      NAME=`echo $PIDFILE | cut -c18-`
      NAME=${NAME%%.pid}
      stop_vpn
      echo -n " $NAME"
    done
  else
    if test -e /var/run/openvpn.$2.pid ; then
      PIDFILE=`ls /var/run/openvpn.$2.pid 2> /dev/null`
      NAME=`echo $PIDFILE | cut -c18-`
      NAME=${NAME%%.pid}
      stop_vpn
      echo -n " $NAME"
    else
      echo -n " No such VPN: $2"
    fi
  fi
  echo "."
  ;;
# We only 'reload' for running VPNs. New ones will only start with 'start' or 'restart'.
reload|force-reload)
  echo -n "Reloading openvpn:"
  for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
    NAME=`echo $PIDFILE | cut -c18-`
    NAME=${NAME%%.pid}
# If openvpn if running under a different user than root we'll need to restart
    if egrep '^( |\t)*user' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then
      stop_vpn
      sleep 1
      start_vpn
      echo -n "(restarted)"
    else
      kill -HUP `cat $PIDFILE` || true
#    start-stop-daemon --stop --signal HUP --quiet --oknodo \
#      --exec $DAEMON --pidfile $PIDFILE
    echo -n " $NAME"
    fi
  done
  echo "."
  ;;

restart)
  $0 stop $2
  sleep 1
  $0 start $2
  ;;
*)
  echo "Usage: $0 {start|stop|reload|restart|force-reload}" >&2
  exit 1
  ;;
esac

exit 0

# vim:set ai et sts=2 sw=2 tw=0:

10.) now generate more links: best / etc/rc4.d and / etc/rc3.:D
Code:
ln -s ../init.d/openvpn S90openvpn

11.) Box run again from scratch ...
Is 12.) via telnet check whether the interface as well as do -
Code:
ifconfig

13.) forward. Cost about 30-40 minutes (including how-to write without VPN data)

Have fun to imitate,

Thx Elfi12:thum:

Translated From German To English By Vlasa... :D
 
Last edited:
Status
Not open for further replies.
Top