| die letzten Änderungen * Seitenstruktur * Stichwortsuche :


logo_puschin.jpg

Startseite

Knowledge base



Kontakt

Impressum

Knowledge base - Raspberry pi

Knowledge base

6 Benutzer online Druckversion




zurück



Raspberry pi
Reverse-Tunnel auf dem Raspberry pi beim Einsatz via Mobilfunk


#!/bin/bash

#
# [----------------------------------------] REVERSE_TUNNEL [----------------------------------------]
#

echo "-------------------" | logger -t reverse_tunnel
echo "Reverse-Tunnel once" | logger -t reverse_tunnel

IP="TUNNEL_SERVER_IP_HIER_EINTRAGEN"

echo "-------------------" | logger -t reverse_tunnel
echo "* IP-Adresse des Servers: $IP" | logger -t reverse_tunnel

EXITUS=0

echo "-> Ready" | logger -t reverse_tunnel

PPP=`route -n | grep 0.0.0.0 | grep ppp0`

if [ "$PPP" == "" ]; then
    echo "-> Keine PPP-Verbindung gefunden" | logger -t reverse_tunnel
    exit
fi

IFC=`ifconfig ppp0 > /dev/null 2>&1; echo $?`

if [ "$IFC" != "0" ]; then
    echo "-> Kein PPP-Interface gefunden" | logger -t reverse_tunnel
    exit
fi

#
# Laufen die Reverse-Tunnel bereits?
#
SCHON_GESTARTET1=`ps -ef | grep ":8080:127.0.0.1:80" | grep -v grep`
SCHON_GESTARTET2=`ps -ef | grep ":8022:127.0.0.1:22" | grep -v grep`

if [ "$SCHON_GESTARTET1" == "" -o "$SCHON_GESTARTET2" == "" ]; then

    RC=`ping $IP -c1 -w3 > /dev/null 2>&1; echo $?`

    if [ "$RC" != "0" ]; then
        echo "-> Ping zum Server hat nicht funktioniert ($RC)" | logger -t reverse_tunnel
        exit
    fi

    echo "-> Die alten Tunnel werden lokal gekilled" | logger -t reverse_tunnel
    ps -ef | grep "\-l tunnel" | grep -v grep | awk '{ print $2 }' | xargs kill -9

    echo "-> Die alten Tunnel werden remote gekilled" | logger -t reverse_tunnel
    ssh $IP -l tunnel "/usr/local/bin/tunnel_kill"

    echo "-> Der Tunnel Port 8080 wird gestartet" | logger -t reverse_tunnel
    ssh -N -g -R :8080:127.0.0.1:80 $IP -l tunnel "/usr/local/bin/tunnel_loop" &

    echo "-> Der Tunnel Port 8022 wird gestartet" | logger -t reverse_tunnel
    ssh -N -g -R :8022:127.0.0.1:22 $IP -l tunnel "/usr/local/bin/tunnel_loop" &

    echo "-> exit" | logger -t reverse_tunnel
else
    echo "-> running" | logger -t reverse_tunnel
fi



^tunnel_kill:^

#!/bin/bash
ps -ef | grep sshd | grep "^tunnel" | awk '{ print $2 }' | xargs kill -9



^tunnel_loop:^

#!/bin/bash

while true
do
        echo "... connection open ..."
        sleep 30
done


zurück



Knowledge base wurde zuletzt bearbeitet am 12.07.13 durch Frank

www.puschin.de
login

<body bgcolor='#FFFFFF' link='#000000' vlink='#000000' alink='#000000' text='#000000'><font face='Verdana' size='2'><strong>www.puschin.de</strong><br>Die Webseite http://www.puschin.de bietet eine interessante Webseite zu vielen Themen aus dem Bereich Linux und Windows. Man findet hier Tipps und Tricks zu cms php apache postfix openxchange tomcat windows linux firewall <br><br><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=191'>Startseite</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=63'>Knowledge base</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=57'>Kontakt</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=9'>Impressum</a></body>