Wie verwende ich die Netzwerkschnittstelle als Nicht-Root-Benutzer?

Ich möchte zwischen meinem Android-Gerät und meiner Linux-Box über IP über den USB-Netzwerkschnittstellenmodus kommunizieren. Das Gerät, das ich verwende, ist ein OnePlus One, auf dem CM12.1 Nightly Builds ausgeführt werden. Es ist gerootet und SELinux ist auf PERMISSIVE. Die Mount-Namespace-Trennung ist ebenfalls deaktiviert.

Ich habe mein OPO an meine Linux-Box angeschlossen und es über eine Java-Reflexions-Hackerei und die Nur-System-Berechtigung MANAGE_USB in den Netzwerkschnittstellenmodus versetzt. (Ich verwende nicht die Standard-Tethering-Einstellung, da ich meine Linux-Box als Gateway verwenden möchte und nicht umgekehrt). Früher habe ich ip addr addan beiden Enden (Linux-Box und OPO) eine IP-Adresse hinzugefügt und dann eine Route mit ip routeüber meine Linux-Box für den Internetzugang hinzugefügt. Ich habe auch die IPv4-Weiterleitung auf der Seite der Linux-Box aktiviert und alle erforderlichen iptablesRegeln aktiviert.

Mein Problem ist folgendes: rootKann nur über die Schnittstelle kommunizieren. Beispielsweise funktioniert mit meiner Linux-Box at 10.42.0.1und meinem OPO at 10.42.0.2über die USB-Netzwerkschnittstelle das Ausführen ping 10.42.0.1oder ping 8.8.8.8auf der Android-Seite ohne Ausführen von einer suShell nicht . Das Ausführen der exakt gleichen Befehle wie rootfunktioniert einwandfrei. Die gleichen Befehle über die WiFi-Schnittstelle auf der Android-Seite laufen ohne Root problemlos.

Ich gehe davon aus, dass dies eine neue Sicherheitsfunktion ist, die in Android 5.0 / 5.1 implementiert wurde, da es in KitKat gut funktioniert hat. Weiß jemand genau was es sein könnte?

Antworten (1)

Darauf bin ich auch gestoßen. Es hat mit Routing-Richtlinien zu tun, die bewirken, dass die 'Haupt'-Routing-Tabelle für keinen Benutzer außer root verwendet wird.

Das hat bei mir funktioniert, aber ich untersuche immer noch die Auswirkungen, wenn ich das so weit führe. Es ist nicht schlimmer als das, was meine Linux-Box tut, also gibt es das.

 ip rule add from all lookup main pref 99