OpenVPN auf Galaxy S Plus installieren

M

maze-m

Fortgeschrittenes Mitglied
Threadstarter
frank_m

frank_m

Ehrenmitglied
Nee, hab ich noch nicht. Aber interessiert mich auch, werde ich nachher vielleicht noch mal testen.

In Kürze: tun.ko brauchst du nicht mehr, das ist im Kernel schon drin. Was Ärger machen könnte, ist die Verwendung von BusyBox durch OpenVPN. Aber das musst du testen. Hinweis: BusyBox musst du installieren. Das ist in meinem Root Paket nicht drin.

Ich würde einfach mal anfangen mit den OpenVPN Installer und dem Konfigurationsprogramm. Im Installer einfach mal die verschiedenen Optionen für den BusyBox Zugriff ausprobieren.
 
frank_m

frank_m

Ehrenmitglied
Genau wie ich dachte, und wie ich es auch schon vom SGS2 und vom SGS kenne: Es gibt Probleme mit BusyBox. Also die Installationsanleitung in Kürze:

  • OpenVPN Installer ausführen und bei der Frage nach dem Installationsort von BusyBox (ifconfig, route) "/system/xbin/bb" angeben
  • adb shell öffnen
  • mit "su" Rootrechte holen
  • ins Verzeichnis /system/xbin wechseln
  • Verzeichnis bb anlegen
  • in das Verzeichnis "bb" Links auf die Programme "ifconfig" und "route" erzeugen. Bei mir zeigen die Links auf "systm/xbin/ifconfig" und "/system/xbin/route". Man muss herausfinden, wo die BusyBox Versionen von ifconfig und route angelegt sind und diese verwenden.

Fertig. Anschließend noch eine geeignete OpenVPN Konfig auf die SD-Karte, dann in OpenVPN Settings die Verbindung aufbauen. Läuft wie geschmiert.
 
M

maze-m

Fortgeschrittenes Mitglied
Threadstarter
Moinsen frank_m!

Also wie du's gemacht hast, konnte ich soweit nachstellen, allerdings scheint busybox bei mir nicht richtig installiert zu sein! Habe zumindest ifconfig und route irgendwie nicht auf dem Handy und hab auch schon mit "find / -name 'ifconfig' " z.B. danach gesucht :(.....

Wenn ich den Installer nochmal ausführe (und busybox in /system/xbin installiere), bekomme ich die Meldung:

"It looks like BusyBox may not have been installed correctly. The Version of BusyBox installed now is the same as the Version of BusyBox installed before the installation. ...."

Hast' da noch ne Idee?

MfG Maze-M
 
frank_m

frank_m

Ehrenmitglied
maze-m schrieb:
... und hab auch schon mit "find / -name 'ifconfig' " z.B. danach gesucht :(.....
Hmm. Die Suche hätte eigentlich sogar 2 Treffer liefern müssen, nämlich das Android ifconfig in /system/bin und das BusyBox ifconfig in /system/xbin.

Hast du dir den Inhalt von /system/xbin mal manuell angesehen? Ist dort BusyBox drin mit einem Haufen Links, die darauf verweisen?
 
Zuletzt bearbeitet:
M

maze-m

Fortgeschrittenes Mitglied
Threadstarter
Hmm. Die Suche hätte eigentlich sogar 2 Treffer liefern müssen, nämlich das Android ifconfig in /system/bin und das BusyBox ifconfig in /system/xbin.
Irgendwie hat er bei mir weder das eine noch das Andere gefunden :(....


Hast du dir den Inhalt von /system/xbin mal manuell angesehen? Ist dort BusyBox drin mit einem Haufen Links, die darauf verweisen?
Also in /system/xbin ist BusyBox mit drin, allerdings kann ich mir leider auch keine Links mit "ls -la" anzeigen lassen, weil die Shell nur ein "ls" kennt!
Ist ja glaub ich leider keine Bash :(.....
 
M

maze-m

Fortgeschrittenes Mitglied
Threadstarter
Benutze "ls -l -a"
Hab das damit nochmal in "/system/xbin" versucht und in der Tat sind da ein Haufen Links drin, welche auf BusyBox zeigen!

Is schon irgendwie komische, dass ein "find / -name 'ifconfig' " z.B. ifconfig trotzdem nicht findet!

Wie kann ich denn nun weiter verfahren?

MfG Maze-M
 
frank_m

frank_m

Ehrenmitglied
Hallo,

möglicherweise benutzt du eine BusyBox Version, die ifconfig nicht beinhaltet? Woher hast du die?

Teste mal die Aufrufe "busybox ifconfig" und "busybox route". Falls beides funktioniert, kannst du in /system/xbin/bb auch einfach Links auf busybox erzeugen, die "ifconfig" bzw. "route" heißen.
 
M

maze-m

Fortgeschrittenes Mitglied
Threadstarter
frank_m schrieb:
Hallo,

möglicherweise benutzt du eine BusyBox Version, die ifconfig nicht beinhaltet? Woher hast du die?

Teste mal die Aufrufe "busybox ifconfig" und "busybox route". Falls beides funktioniert, kannst du in /system/xbin/bb auch einfach Links auf busybox erzeugen, die "ifconfig" bzw. "route" heißen.
Hab die BusyBox Version vom Marketplace und die beinhaltet doch ifconfig und route! Beide Aufrufe haben gepasst und hab dann mit "ln -s /system/xbin/ifconfig ifconfig" und "ln -s /system/xbin/ifconfig ifconfig" jeweils symbolische Links gesetzt und siehe da, es funzt :)!

Hast du vielleicht noch ne Idee, ob es möglich ist, auf dem Handy meine Samba-Freigabe zu mounten von meinem lokalen PC und dann über ne weitere Samba-Freigabe auf dem Handy vom PC aus drauf zuzugreifen?
Vom Denkansatz müsste das doch möglich sein, oder?

MfG und vielen Dank, Maze-M
 
frank_m

frank_m

Ehrenmitglied
Richtig "mounten" wird schwierig. Es gibt aber einige Android Programme, die einen Zugriff auf SAMBA Freigaben erlauben, z.B. der Total Commander oder anderen File Explorer. Umgekehrt kenne ich keine Lösungen, was aber nicht bedeutet, dass es sie nicht gibt. Ich hab nur nie danach gesucht.
 
M

maze-m

Fortgeschrittenes Mitglied
Threadstarter
frank_m schrieb:
Richtig "mounten" wird schwierig. Es gibt aber einige Android Programme, die einen Zugriff auf SAMBA Freigaben erlauben, z.B. der Total Commander oder anderen File Explorer. Umgekehrt kenne ich keine Lösungen, was aber nicht bedeutet, dass es sie nicht gibt. Ich hab nur nie danach gesucht.
So, also ich hab mir jetzt erstmal AndSMB installiert und konnte meine Samba-Freigabe von meinem Linux-PC auf dem Handy einbinden! Hab halt auf dem Handy noch nen Samba-Server drauf und überlegt, das Verzeichnis mit diesem im Wlan zur Verfügung zu stellen, sodass ich dann direkt per PC drauf zugreifen kann! Bin mir nur nicht ganz sicher, ob das geht!

Das Szenario sähe dann so aus!

Samba-Server ---mount_auf ----> Android---->Samba-Server_auf_Android<--mount_auf---PC (greift über Wlan auf Samba-Server von Android zu und somit auf gemountetes Samba-Verzeichnis)

Hab nur schon häufig gehört, dass es Probleme gibt, wenn ich Wlan und VPN aktiviert habe, da normalerweise der VPN-Client alle Verbindungen blockt!
Zudem hab ich festgestellt, dass ich auf dem Handy bei aktiver VPN-Verbindung ne Load-Average von 14 habe :/....

MfG Maze-M
 
db2

db2

Fortgeschrittenes Mitglied
Der Tip mit den Links war schonmal gut, vielen Dank.

Allerdings muss ich feststellen, dass auf meinem I9001 kein TUN im Kernel einkompiliert ist.

Code:
$ gunzip -c /proc/config.gz|grep CONFIG_TUN
gunzip -c /proc/config.gz|grep CONFIG_TUN
# CONFIG_TUN is not set
$ netcfg
netcfg
lo       UP    127.0.0.1       255.0.0.0       0x00000049
dummy0   DOWN  0.0.0.0         0.0.0.0         0x00000082
usb0     DOWN  0.0.0.0         0.0.0.0         0x00001002
sit0     DOWN  0.0.0.0         0.0.0.0         0x00000080
ip6tnl0  DOWN  0.0.0.0         0.0.0.0         0x00000080
eth0     UP    192.168.1.2   255.255.255.0   0x00001043
$ ls /system/lib/modules
ls /system/lib/modules
WCN1314_rf.ko
WCN1314_rf_ftm.ko
libra.ko
librasdioif.ko
Entsprechend kommt dann beim Versuch, eine OpenVPN-Verbindung aufzubauen:
Code:
Sat Sep 17 19:57:39 2011 ROUTE default_gateway=192.168.1.1
Sat Sep 17 19:57:39 2011 Note: Cannot open TUN/TAP dev /dev/tun: No such file or directory (errno=2)
Sat Sep 17 19:57:39 2011 Note: Attempting fallback to kernel 2.2 TUN/TAP interface
Sat Sep 17 19:57:39 2011 Cannot allocate TUN/TAP dev dynamically
Sat Sep 17 19:57:39 2011 Exiting
GT-I9001XXXKF8
Android 2.3.3
kernel 2.6.35.7-perf

Habt ihr alle schon 2.3.4 drauf? Da das bei mir ein nagelneues Gerät ist würde ich denke ich mal lieber erstmal darauf verzichten und werde versuchen, mir selber ein tun.ko Modul zu kompilieren.
 
db2

db2

Fortgeschrittenes Mitglied
So, hab mir ein tun.ko gebacken und damit läufts :thumbsup:

Wer den gleichen Kernel hat und nicht grade Lust hat ne gesamte cross-compilation toolchain einzurichten, darf gerne auf eigene Gefahr das fertige Kernelmodul hier herunterladen.

Ich habe es einfach in /sdcard/openvpn zu meinen Konfigurationsdateien gesteckt und dann in OpenVPN Settings im Menü unter Advanced eingestellt:

Code:
- Load tun kernel module ✓
- TUN module settings
   - Load module using: insmod
   - Path to tun module: /sdcard/openvpn/tun.ko
 

Anhänge

frank_m

frank_m

Ehrenmitglied
Das ist ja krass. Es gibt ne 2.3.3 Firmware von Samsung ohne tun? Komisch. Bei allen anderen Firmwareupdates hat Samsung ab 2.3 tun fest in den Kernel einkompiliert.
 
D

drachen1000

Neues Mitglied
Dank frank_m konnte ich mein Samsung Galaxy S Plus auch rooten. Vielen Dank noch einmal für die klasse Arbeit.
Z.Zt. kämpfe ich jedoch auch damit openvpn zum Laufen zu bekommen. Ich hatte immer wieder neue Fehlermeldungen.

Bei mir fehlte auch das tun.ko Modul. Auch von mir noch einmal vielen Dank an maze-m.

Ich habe folgendes Problem:
In meiner Routingtabelle taucht das tun Interface jedoch nicht auf. Auch unter ifconfig ist dieses nicht zu sehen, das verstehe ich nicht.

Umgebung:
Kernel 2.6.35.7-perf
Firmware 2.3.3

OpenVPN 2.1.1 nach /system/xbin/openvpn installiert
OpenVPN settings insmod /sdcard/openvpn/tun.ko eingestellt
busybox v.1.19 nach /system/xbin installiert

Ich habe schon versucht diverse symmlinks zu setzen.
ln -s /system/xbin/busybox /system/bin/route
ln -s /system/xbin/busybox /system/bin/ifconfig

Mit lsmod kann ich sehen, dass tun geladen ist.

Habt ihr eine Idee, was bei mir falsch sein könnte.
 
frank_m

frank_m

Ehrenmitglied
drachen1000 schrieb:
ln -s /system/xbin/busybox /system/bin/route
ln -s /system/xbin/busybox /system/bin/ifconfig
Oh Je, hast du die Links wirklich so gesetzt? Dann wirst du jetzt die Firmware noch mal neu flashen müssen. Du hast die integrierten Werkzeuge von Android überschrieben. Das wird dir auf Dauer ne Menge Ärger bereiten.

Die Links müssen nach /system/xbin/bb. Nirgendwo anders hin! Und während der OpenVPN Installation gibt man an, dass BusyBox in /system/xbin/bb liegt.
 
D

drachen1000

Neues Mitglied
Danke für die schnelle Rückmeldung. Da habe ich wohl Misst gebaut :-(.
Trotzdem verstehe ich noch nicht, wieso die Links zwingend nach /system/xbin/bb müssen und nicht nach /system/xbin/.
Ich kann doch auch von dann die Links setzen oder geht dieses nicht.
Nach meinem Verständnis sollen die beiden Befehle route und ifconfig von Android durch die Befehle der Busybox ersetzt werden oder nicht?
 
frank_m

frank_m

Ehrenmitglied
drachen1000 schrieb:
Trotzdem verstehe ich noch nicht, wieso die Links zwingend nach /system/xbin/bb müssen und nicht nach /system/xbin/.
In /system/xbin sind sie ja schon. Trotzdem funktioniert es nicht. Warum das so ist, fragen sich viele. Der übliche Weg in allen Custom ROMs ist, in /system/xbin/bb die erforderlichen Links zu erzeugen. Einfach, schnell, effizient.
 
D

drachen1000

Neues Mitglied
So ganz nachvollziehen kann ich dieses leider nicht. Ich habe Probleme mit dem setzen der Links.

Lt. maze-m funktioniert doch folgendes:
Hab die BusyBox Version vom Marketplace und die beinhaltet doch ifconfig und route! Beide Aufrufe haben gepasst und hab dann mit "ln -s /system/xbin/ifconfig ifconfig" und "ln -s /system/xbin/ifconfig ifconfig" jeweils symbolische Links gesetzt und siehe da, es funkt !
Werden denn hier nicht auch die Android Befehle durch die Busybox überschrieben?
Wenn bei mir die Befehle der Busybox verwendet werden, müsste es dann nicht auch laufen (Routingtabelle mit tun interface, Anzeige tun Interface bei ifconfig).

Kannst Du bitte noch einmal genau aufführen, wie die Links gesetzt werden müssen.

ln -s .....

Vielen Dank
 
Oben Unten