Inhaltsverzeichnis[Verstecken] |
Tethering, also die Benutzung des Gerätes als Internetzugang, ist in Froyo mit eingebaut. Wer sein Android-Gerät aber über USB ins Internet schicken will, muss sich selbst behelfen.
Läuft auf dem Rechner, an dem der Android angestöpselt ist, ein Windows oder ein Linux, reicht es aus, USB-Tethering zu aktivieren und die Standardroute für den Internetverkehr zu verbiegen und seinen Rechner als Gateway einzutragen. Vielleicht muss dann noch die Konfiguration auf dem Rechner korrigiert werden.
Apple hat den erforderlichen Netzwerkschnittstellen-Treiber für Remote-NDIS vor einiger Zeit aus dem Betriebssystem rausgeschmissen. Aber gerade dieses System wird von Android benutzt, um eine Netzwerkschnittstelle zur Verfügung zu stellen. Es gibt zwar einige auch freie Treiber, aber ich habe keinen zum Laufen bekommen.
Mit Hilfe von Tunnelblick kann man das Ziel aber dennoch erreichen, wenn man keine Scheu besitzt, die Kommandozeile zu benutzen.
Zunächst müssen Tunnelblick und adb aus dem Android-SDK auf dem Mac installiert werden. Dann legt man im Grundverzeichnis der SD-Karte eine Datei namens revtether.ovpn an:
pull dev tun ifconfig 192.168.156.1 192.168.156.2 proto tcp-server port 41927 cipher none
als zweites auf dem Mac ~/Library/Application Support/Tunnelblick/Configurations/Tunnelblick/Configurations/Android.ovpn:
dev tun remote 127.0.0.1 41927 tcp-client ifconfig 192.168.156.2 192.168.156.1 push "route 0.0.0.0 0.0.0.0" push "dhcp-option DNS 139.20.64.1" ping 10 cipher none
Die dritte Datei ist ein Shellskript auf dem Mac zum Beispiel in ~/bin/revtether:
#!/bin/bash
$adb=/pfad/zu/adb #anpassen!
init() {
$adb forward tcp:41927 tcp:41927
open -a Tunnelblick
$adb shell openvpn /sdcard/reverse-tether.ovpn
}
up() {
interface="$1"
sudo sysctl -w net.inet.ip.forwarding=1
sudo natd -interface "$interface" -dynamic
sudo /sbin/ipfw -f flush
sudo /sbin/ipfw add divert natd all from any to any via "$interface"
sudo /sbin/ipfw add pass all from any to any
}
down() {
$adb shell killall openvpn
sudo ipfw -f flush
}
case $1 in
up ) up $2 ;; # openvpn will pass tun/tap dev as $2
down) down $2 ;;
* ) init ;;
esac
Dabei muss der Pfad zu adb angepasst werden. Das Skript muss noch Ausführungsrechte bekommen. Dazu startet man ein Terminal und gibt ein:
chmod a+x ~/bin/revtether
Nach Bestätigung mit der Return-Taste, ist das Skript einsatzbereit.
Die Verbindung baut man nun wie folgt auf:
~/bin/revtether init“ ein. Nach etwas Ladezeit erscheint ein schwarzer Tunneleingang in der Menüleiste. Außerdem erscheint im Terminal etwas vielleicht unverständlicher Wortsalat. Das ist die Ausgabe des OpenVPN-Servers auf dem Androiden. Wir interessieren uns für den nur wenns nicht klappt.
~/bin/revtether up en0“ abschließen. Die Schnittstellenbezeichnung en0 muss ggf durch ein anderes Netzwerk-Gerät ersetzt werden. Auf meinem Mac kommen en0 für das Netzwerkkabel und en1 für WLAN in Frage.
Zum Deaktivieren Gibt man im Terminal dann „~/bin/revtether down ein.
Diese Methode ist noch nicht perfekt! Es werden folgende Dinge nicht richtig gemacht:
Wer Ideen zur Verbesserung dieses Textes und seiner Verständlichkeit hat, ist herzlich willkommen, sie hier einzubringen.