VPN zentral-Server-skript

Aus Weimarnetz Wiki
Version vom 6. März 2007, 10:43 Uhr von Fries43 (Diskussion | Beiträge) (skripte! heja! fein!)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Datei: /etc/init.d/vpn

#!/bin/sh

fkt_infotext() {
        logger -p daemon.info -t $0 $1
        echo $1
}

fkt_write_olsrd_conf() {
        fkt_infotext "generating olsrd.conf ..."
        # experimental!
        awk '/ifup/ {print $3,$12}' /etc/vtund.conf
}

fkt_start_vtund() {
        fkt_infotext "starting vtun-daemon ..."
        vtund -f /etc/vtund.conf -s
}

fkt_start_olsrd() {
        fkt_infotext "starting olsr-daemon ..."
        olsrd -f /etc/olsrd.conf -d 0
}

fkt_kill_olsrd() {
        fkt_infotext "ending olsrd-process ..."
        PID=$(pidof olsrd)
        test ! -z "$PID" && kill $PID
}

fkt_kill_vtund() {
        fkt_infotext "ending vtund-process ..."
        PID=$(pidof vtund)
        test ! -z "$PID" && kill $PID
}

fkt_interface_up() {
        fkt_infotext "starting interface $1 for node $2 ..."
        ip addr  add dev $1 10.63.$2.254/30 brd 10.63.$2.255
        ip link  set $1 mtu 1450 up
        fkt_infotext "setting host-routes for node $2 ..."
        ip route add 10.63.$2.253 dev $1
}

case $1 in
        start)
                fkt_write_olsrd_conf
                fkt_start_vtund
                fkt_start_olsrd
        ;;
        stop)
                fkt_kill_olsrd
                fkt_kill_vtund
        ;;
        restart)
                $0 stop
                $0 start
        ;;
        ifup)
                fkt_interface_up $2 $3
        ;;
        *)
                echo "Usage: $0 (start|stop|restart|ifup INTERFACE NODE)"
        ;;
esac

Datei: /etc/vtund.conf

default                 {type ether; compress no; encrypt no; keepalive no; multi no; stat no; }

j2a                     {device tap0  ; passwd ff ; up{program "/etc/init.d/vpn ifup %%  82     ";};}
rembrandt               {device tap1  ; passwd ff ; up{program "/etc/init.d/vpn ifup %%  41     ";};} 
l18a_roof               {device tap2  ; passwd ff ; up{program "/etc/init.d/vpn ifup %%   1     ";};}
rex                     {device tap3  ; passwd ff ; up{program "/etc/init.d/vpn ifup %%  54     ";};}
ranger                  {device tap4  ; passwd ff ; up{program "/etc/init.d/vpn ifup %%  20     ";};}
Bode                    {device tap5  ; passwd ff ; up{program "/etc/init.d/vpn ifup %%  37     ";};}
hababusch               {device tap6  ; passwd ff ; up{program "/etc/init.d/vpn ifup %%  33     ";};}
t65uplink               {device tap7  ; passwd ff ; up{program "/etc/init.d/vpn ifup %%  62     ";};}
weimarwest              {device tap8  ; passwd ff ; up{program "/etc/init.d/vpn ifup %%  87     ";};}
trierer7                {device tap9  ; passwd ff ; up{program "/etc/init.d/vpn ifup %% 120     ";};}
m18-ping02              {device tap10 ; passwd ff ; up{program "/etc/init.d/vpn ifup %%   2     ";};}
stonebridge             {device tap11 ; passwd ff ; up{program "/etc/init.d/vpn ifup %%  39     ";};}
heller_und_pfennig      {device tap12 ; passwd ff ; up{program "/etc/init.d/vpn ifup %% 224     ";};}