#!/bin/sh export DATE="15.8.2005" export TITLE="Verwaltung: Internet-Freigabe" . ${0%/*}/cgi-bin-pre.sh cat<<EOF

# Verwaltung: Internet-Freigabe

EOF if [ "$REQUEST_METHOD" = "POST" ]; then read QUERY_STRING fi if [ -z "$QUERY_STRING" ]; then # presets (if set, user will not be able to change the value) # those values are repeated on bottom (this is not nice, I know) openssl_countryName="de" openssl_provinceName="Mecklenburg-Vorpommern" openssl_localityName="Rostock" openssl_organizationalUnitName="user gateways" on_share_internet="$(nvram get on_share_internet)" on_share_internet_blocked="$(nvram get on_share_internet_blocked)" cat<<EOF In diesem Bereich kannst Du Deinen Breitband-Anschluss für Opennet-Mitglieder zur Nutzung freigeben.
mehr Informationen.
Wenn Du selbst einen Breitband-Anschluss besitzt, kannst Du diesen hier für die Nutzung im Opennet freigeben. Die Verbindung zum Breitband-Anschluss muss dabei über die WAN-Buchse deines AccessPoint hergestellt werden. Wenn Du DSL nutzt, kannst den AP auch für die Einwahl ins Internet nutzen (siehe WAN)
Für die Freigabe Deines Breitband-Anschlusses wird ein Tunnel zwischen Deinem AccessPoint und dem Opennet-Gateway "nagare" über das Internet aufgebaut. Dieser Gateway ist dadurch direkt mit Deinem AccessPoint verbunden und wird so Teil des Opennet. Alle Nutzer, die Deinen AP erreichen, können somit auch den Gateway "nagare" erreichen und zu diesem, wie zu allen Vereinsgateways, einen Nutzer-Tunnel aufbauen.
Um "nagare" einzubinden (und somit Internet freizugeben) musst Du also (genauso wie wenn Du aktiver Nutzer bist) zuerst einen Schlüssel und eine Zertifikatanfrage generieren.
EOF if [ -z "$on_share_internet_blocked" ] && [ "$on_share_internet" = "on" ] && [ -f /etc/openvpn/opennet_ugw/on_ugws.key ] && [ -f /etc/openvpn/opennet_ugw/on_ugws.crt ] && [ -n "$(ip route show table 5)" ]; then cat<<EOF

## Vorübergehende Deaktivierung

Erklärung
Hier kannst Du für eine von Dir wählbare Zeit - maximal einen Tag - deine Internetfreigabe vorübergehend deaktivieren. Nach Ablauf dieser Zeit wird - wie zu erwarten - Dein Breitbandanschluss wieder für andere Opennet-Nutzer freigegeben. Du kannst während dieser Zeit selbstverständlich die Internet-Freigabe manuell reaktivieren.

Internet-Freigabe für |

EOF fi cat<<EOF

## Status

EOF if [ -n "$on_share_internet_blocked" ]; then cat<<EOF

ACHTUNG: Die Internet-Freigabe wurde vorübergehend deaktiviert. In $on_share_internet_blocked Minuten wird Dein Breitbandanschluss wieder automatisch freigegeben. Wenn Du die Internet-Freigabe wieder manuell aktivierst, wird die Deaktivierung sofort aufgehoben.

EOF fi cat<<EOF Erklärung
User-Gateway-Tunnel: ist der Tunnel aktiv, teilst Du Deinen Internetzugang.
Internet-Freigabe möglich/nicht möglich: Hier wird angezeigt, ob die Firmware auf dem AP einen Internetzugang am WAN-Anschluss erkannt hat, den Du teilen kannst. Dies wird stündlich geprüft, Du kannst den Test auch manuell starten. Wenn Du einen Breitbandzugang am WAN-Port angeschlossen hast, und hier angegeben wird, dass eine Freigabe nicht möglich ist, so solltest Du Dich im Forum melden, sehr wahrscheinlich sind nicht alle möglichen Verbindungsoptionen berücksichtigt worden.

EOF if [ -f /etc/openvpn/opennet_ugw/on_ugws.key ] && [ -f /etc/openvpn/opennet_ugw/on_ugws.crt ]; then if [ -f /tmp/openvpn_ugw_msg.txt ];then echo "
User-Gateway-Tunnel aktiv |  |
" else if [ -f /var/run/openvpn.opennet_ugw.pid ];then echo "
" echo "
User-Gateway-Tunnel startend |  |
" else echo "
" echo "
User-Gateway-Tunnel nicht aktiv |
" fi fi fi if [ -n "$(ip route show table 5)" ];then cat<<EOF
EOF else cat<<EOF
Internet-Freigabe möglich |
EOF fi cat<<EOF
Internet-Freigabe nicht möglich |  |
EOF if [ -f /etc/openvpn/opennet_ugw/on_ugws.key ] && [ -f /etc/openvpn/opennet_ugw/on_ugws.crt ]; then if [ "$on_share_internet" = "on" ];then cat<<EOF
Internet-Freigabe aktiviert |  |
EOF else cat<<EOF
Internet-Freigabe deaktiviert |  |
EOF fi fi cat<<EOF

EOF if [ -f /etc/openvpn/opennet_ugw/on_ugws.csr ];then echo "
Zertifikatanfrage (CSR) vorhanden |  | herunterladen
" elif ! [ -f /etc/openvpn/opennet_ugw/on_ugws.key ] && ! [ -f /etc/openvpn/opennet_ugw/on_ugws.crt ]; then echo "
Zertifikatanfrage (CSR) fehlt |
" fi echo "
" if [ -f /etc/openvpn/opennet_ugw/on_ugws.key ];then echo "
" else echo "
" fi echo "
Schlüssel vorhanden |  | herunterladen | Schlüssel fehlt |
" if [ -f /etc/openvpn/opennet_ugw/on_ugws.crt ];then echo "
" else echo "
" fi cat<<EOF
Zertifikat vorhanden |  | herunterladen | Zertifikat fehlt |

EOF if [ -f /etc/openvpn/opennet_ugw/on_ugws.csr ] && ! [ -f /etc/openvpn/opennet_ugw/on_ugws.crt ]; then echo "Schicke die Zertifikatanfrage (CSR) und nur diese Datei an csr_ugw@opennet-initiative.de, um ein Zertifikat zu erhalten." fi cat<<EOF

ACHTUNG: Auf dieser Seite werden nur Schlüssel, Zertifikate und Anfragen für die Internet-Freigabe verwaltet. Die Konfiguration von OpenVPN für die Internet-Nutzung über Opennet findest du unter VPN Config.

## User-Gateway-Tunnel Schlüssel-Verwaltung

EOF if ( [ -f /etc/openvpn/opennet_ugw/on_ugws.key ] && [ -f /etc/openvpn/opennet_ugw/on_ugws.crt ] ) || [ -z "$(ip route show table 5)" ]; then cat<<EOF anzeigen EOF fi cat<<EOF

Zertifikat (*.crt) oder neuen geheimen Schlüssel (*.key) auf den Accesspoint laden

EOF if ( [ -f /etc/openvpn/opennet_ugw/on_ugws.key ] && [ -f /etc/openvpn/opennet_ugw/on_ugws.crt ] ) || [ -z "$(ip route show table 5)" ]; then cat<<EOF
EOF fi cat<<EOF

## User-Gateway-Tunnel Schlüssel-Erstellung

EOF if ( [ -f /etc/openvpn/opennet_ugw/on_ugws.key ] && [ -f /etc/openvpn/opennet_ugw/on_ugws.crt ] ) || [ -z "$(ip route show table 5)" ]; then cat<<EOF anzeigen EOF fi cat<<EOF

Staat: |
Landesname: |
Ort: |
eigener Name: |
Nutzergruppe: |
User-Gateway-Name: |
email-adresse: |
Geheimen Schlüssel und Anfrage zur Zertifizierung (CSR) generieren: |

EOF if ( [ -f /etc/openvpn/opennet_ugw/on_ugws.key ] && [ -f /etc/openvpn/opennet_ugw/on_ugws.crt ] ) || [ -z "$(ip route show table 5)" ]; then cat<<EOF
EOF fi else eval $(echo "$QUERY_STRING"|awk -F'&' '{for(i=1;i<=NF;i++){print $i}}') DIRTY= if [ -n "$quick_block" ]; then nvram set on_share_internet_blocked=$block_min nvram set on_share_internet="off" nvram commit /etc/init.d/S80openvpn stop opennet_ugw >/dev/null cat<<EOF

Der Internetzugang wurde deaktiviert und wird automatisch in $block_min Minuten neu gestartet.

EOF elif [ -n "$ugw_start" ]; then /usr/sbin/check_usergateway.sh cat<<EOF

Versuch, einen Tunnel zum externen Gateway aufzubauen, gestartet. |

EOF elif [ -n "$gen_csr" ]; then if [ -f /etc/openvpn/opennet_ugw/on_ugws.key ] || [ -f /etc/openvpn/opennet_ugw/on_ugws.csr ]; then cat<<EOF

EOF echo "

# " if [ -f /etc/openvpn/opennet_ugw/on_ugws.key ]; then echo "Geheimer Schlüssel (Datei on_ugws.key im Verzeichnis /etc/openvpn/opennet_ugw/) auf dem Accesspoint schon vorhanden.
" fi if [ -f /etc/openvpn/opennet_ugw/on_ugws.csr ]; then echo "Anfrage zur Zertifizierung (Datei on_ugws.csr im Verzeichnis /etc/openvpn/opennet_ugw/) auf dem Accesspoint schon vorhanden.
" fi echo "Was soll ich machen?
" echo "

" cat<<EOF

Ein neuer Key, verbunden mit einer Anfrage zur Zertifizierung kann nur erstellt werden, wenn der vorhandene Key bzw. die vorhandene Anfrage zur Zertifizierung gelöscht wird/werden. Dies sollte nur in wenigen Fällen nötig sein. Wenn Du den geheimen Schlüssel vorher nicht heruntergeladen hast, ist dieser unwiederbringlich verloren, das Zertifikat, sofern du es schon beantragt hast, wertlos. Soll der geheime Schlüssel und/oder die Anfrage zur Zertifizierung gelöscht werden? EOF if [ -f /etc/openvpn/opennet_ugw/on_ugws.crt ]; then echo " (Da das aufgespielte Zertifkat dann auch nicht mehr zum neuen Schlüssel passt, wird dieses gleichfalls gelöscht)" fi cat<<EOF

EOF else cat<<EOF

Erzeuge geheimen Schlüssel und Anfrage für Unterzeichnung (CSR). Bitte warten...

EOF echo "

    "

    openssl_countryName="de"
    openssl_provinceName="Mecklenburg-Vorpommern"
    openssl_localityName="Rostock"
    openssl_organizationalUnitName="user gateways"

    openssl_countryName=$(unescape "$openssl_countryName"); export openssl_countryName
    openssl_provinceName=$(unescape "$openssl_provinceName"); export openssl_provinceName
    openssl_localityName=$(unescape "$openssl_localityName"); export openssl_localityName
    openssl_organizationName=$(unescape "$openssl_organizationName"); export openssl_organizationName
    openssl_organizationalUnitName=$(unescape "$openssl_organizationalUnitName"); export openssl_organizationalUnitName
    openssl_commonName=$(unescape "$openssl_commonName"); export openssl_commonName
    openssl_EmailAddress=$(unescape "$openssl_EmailAddress"); export openssl_EmailAddress

    openssl req -days 3650 -nodes -new -keyout /etc/openvpn/opennet_ugw/on_ugws.key -out /etc/openvpn/opennet_ugw/on_ugws.csr

    return_value=$?

    #openssl req -noout -text -in /etc/openvpn/opennet_ugw/on_ugws.csr

    echo "

" cat<<EOF

EOF if [ $return_value = 0 ]; then echo "Schlüssel und CSR-Erstellung erfolgreich abgeschlossen." # blockiere Webfrontend zum Firmware-Update if ! [ -e /www/cgi-bin/webif/upgrade.sh_bak ]; then mv -f /www/cgi-bin/webif/upgrade.sh /www/cgi-bin/webif/upgrade.sh_bak 2>/dev/null ln -s /www/cgi-bin/webif/upgrade.sh_on /www/cgi-bin/webif/upgrade.sh 2>/dev/null fi else echo "Schlüssel und CSR-Erstellung fehlgeschlagen" fi cat<<EOF

EOF fi elif [ -n "$upload_force" ]; then cat<<EOF

EOF if [ -f /tmp/on_ugws_upload.key ]; then mv /etc/openvpn/opennet_ugw/on_ugws.key /etc/openvpn/opennet_ugw/on_ugws.key_bak echo "geheimer Schlüssel /etc/openvpn/opennet_ugw/on_ugws.key wurde durch die hochgeladene Datei überschrieben" mv /tmp/on_ugws_upload.key /etc/openvpn/opennet_ugw/on_ugws.key rm /etc/openvpn/opennet_ugw/on_ugws.key_bak # blockiere Webfrontend zum Firmware-Update if ! [ -e /www/cgi-bin/webif/upgrade.sh_bak ]; then mv -f /www/cgi-bin/webif/upgrade.sh /www/cgi-bin/webif/upgrade.sh_bak 2>/dev/null ln -s /www/cgi-bin/webif/upgrade.sh_on /www/cgi-bin/webif/upgrade.sh 2>/dev/null fi elif [ -f /tmp/on_ugws_upload.crt ]; then mv /etc/openvpn/on_ugws.crt /etc/openvpn/opennet_ugw/on_ugws.crt_bak echo "Zertifikat /etc/openvpn/opennet_ugw/on_ugws.crt wurde durch die hochgeladene Datei überschrieben" mv /tmp/on_ugws_upload.crt /etc/openvpn/opennet_ugw/on_ugws.crt rm /etc/openvpn/opennet_ugw/on_ugws.crt_bak fi cat<<EOF

EOF elif [ -n "$remove_key_csr" ]; then rm -f /etc/openvpn/opennet_ugw/on_ugws.csr rm -f /etc/openvpn/opennet_ugw/on_ugws.key rm -f /etc/openvpn/opennet_ugw/on_ugws.crt # reaktiviere Webfrontend zum Firmware-Update if ! [ -f /etc/openvpn/opennet_user/on_aps.key ]; then mv -f /www/cgi-bin/webif/upgrade.sh_bak /www/cgi-bin/webif/upgrade.sh 2>/dev/null fi cat<<EOF

Datei(-en) wurden gelöscht. Nun kann ein neuer geheimer Key generiert werden.

EOF elif [ -n "$ugw_check" ]; then check_usergateway.sh >/dev/null cat<<EOF

Test wurde durchgeführt. Die Ergebnisse siehst Du wieder auf der Internet-Freigabe- Seite. Das kann durchaus noch etwas (~1min.) dauern.

EOF elif [ -n "$ugw_switch" ]; then on_share_internet="$(nvram get on_share_internet)" if [ "$on_share_internet" = "on" ]; then on_share_internet="off" /etc/init.d/S80openvpn stop opennet_ugw >/dev/null else on_share_internet="on" /etc/init.d/S80openvpn stop opennet_ugw >/dev/null nvram unset on_share_internet_blocked fi nvram set on_share_internet="$on_share_internet" nvram commit if [ "$on_share_internet" = "on" ]; then /etc/init.d/S80openvpn start opennet_ugw >/dev/null; fi cat<<EOF

EOF if [ "$on_share_internet" = "off" ]; then echo "Internet-Freigabe wurde deaktiviert." else echo "Internet-Freigabe wurde aktiviert." fi cat<<EOF

EOF elif [ -n "$upload_abort" ]; then cat<<EOF

Es wurden keine Einstellungen geändert.

EOF fi fi . ${0%/*}/cgi-bin-post.sh