So,
sehen wir uns das Ganze noch mal genauer an.
Zuerst das Handy.
Die oft gefundene Anweisung zum Überprüfen der Routen ergibt:
Code:
C:\Software\adb>adb shell ip route show
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Also nichts.
Ein Blick in die Hilfe - ip route help - zeigt schon mal, dass es "show" eigentlich gar nicht gibt und es "list" lauten müsste.
Egal, weil es zu keinem anderen Ergebnis führt.
Das muss auch so sein, solange man keine Datenverbindung aktiviert hat.
Nach Anschalten der WLAN-Verbindung sieht das schon anders aus:
Code:
C:\Software\adb>adb shell ip route list
192.168.102.0/24 dev eth0 proto kernel scope link src 192.168.102.111
default via 192.168.102.2 dev eth0
WLAN wieder aus und Paketdaten Datennetz aktivieren:
Code:
C:\Software\adb>adb shell ip route list
10.b.c.0/24 dev pdp0 proto kernel scope link src 10.b.c.d
default via 10.b.c.1 dev pdp0
Da stand natürlich nicht b.c.d, aber die IP-Adresse von meinem Handy möchte ich jetzt gerade mal nicht öffentlich verbreiten, auch bzw. gerade weil es eine private des Netzbetreibers ist...
Wo ich schon mal dabei bin - nach Aktivieren von OpenVPN sieht die Ausgabe so aus:
Code:
C:\Software\adb>adb shell ip route list
192.168.104.1 via 192.168.104.5 dev tun0
192.168.104.5 dev tun0 proto kernel scope link src 192.168.104.6
192.168.100.0/24 via 192.168.104.5 dev tun0
192.168.101.0/24 via 192.168.104.5 dev tun0
10.b.c.0/24 dev pdp0 proto kernel scope link src 10.b.c.d
default via 10.b.c.1 dev pdp0
Man sieht sehr schön, wie die Routen ins Netz hinter dem Tunnel gesetzt sind und die Default-Route auf dem GSM-Netz bleibt.
Jetzt mit vpnc statt OpenVPN:
Code:
C:\Software\adb>adb shell ip route list
10.b.c.0/24 dev pdp0 proto kernel scope link src 10.b.c.d
default via 10.b.c.1 dev pdp0
Hoppla, was ist das denn?
Die Pfeile auf dem Screen sind grün, aber keine Routen gesetzt?
Ein ping auf die FBF funktioniert aber einwandfrei...
Wie bekomme ich denn jetzt heraus, welche Interfaces aktiv sind?
Google bringt bei der Suche mit "android list network interfaces" u.a. einen Treffer in ein Blog mit der Information:
Code:
C:\Software\adb>adb shell ls /sys/class/net
lo
dummy0
usb0
sit0
ip6tnl0
pdp0
tun0
Aha, der Tunnel ist da - aber wo sind die Routen?
Nochmal die Ausgabe von "ip route help" studiert und siehe da:
Code:
C:\Software\adb>adb shell ip route list table all
80.130.1.d via 10.b.c.1 dev pdp0 table 20
10.b.c.0/24 dev pdp0 table 20 scope link
default dev tun0 table 20 scope link
10.b.c.0/24 dev pdp0 proto kernel scope link src 10.b.c.10
default via 10.b.c.1 dev pdp0
broadcast 10.b.c.0 dev pdp0 table local proto kernel scope link src 10.b.c.10
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
local 192.168.101.201 dev tun0 table local proto kernel scope host src 192.168.101.201
broadcast 10.b.c.255 dev pdp0 table local proto kernel scope link src 10.b.c.10
local 10.b.c.10 dev pdp0 table local proto kernel scope host src 10.b.c.10
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
unreachable default dev lo table 0 proto kernel metric -1 error -101 hoplimit 255
local ::1 via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 0
unreachable default dev lo table 0 proto kernel metric -1 error -101 hoplimit 255
Geht doch.