Wie kann ich iptables-Regeln hinzufügen, die über Neustarts hinweg bestehen bleiben?

Ich möchte eine iptables-Regel auf meinem Android-Telefon hinzufügen. Ich benutzte:

iptables -t nat -A PREROUTING -p 6 -d 192.168.66.1 --dport 80 -j DNAT --to 192.168.66.1:808

... als Wurzel. Diese Regel kann in der Adb-Shell überprüft werden, und ich kann sehen, dass sie hinzugefügt wurde:

# iptables -t nat -nL
chain PREROUTING (policy ACCEPT)
prot   opt    source       destination    idletimer_nat_PREROUTING  
all    --     0.0.0.0/0    0.0.0.0/0      DNAT       
tcp    --     0.0.0.0/0    192.168.66.1   tcp dpt:80 to:192.168.66.1:8080

Ich möchte, dass diese Regel nach einem Neustart bestehen bleibt, also habe ich eine iptabless-Datei /etc/sysconfigmit folgendem Inhalt hinzugefügt:

-t nat -A PREROUTING -p 6 -d 192.168.66.1 --dport 80 -j DNAT --to 192.168.66.1:8080

Wenn ich mein Telefon jedoch neu starte, wird keine Regel hinzugefügt.

Unterstützt Android den /etc/sysconfig/iptablesPfad? Ich habe diesen Pfad von einer PC-Linux-Installation erhalten (ich habe es auch getestet /etc/iptables/rules.v4, es hat auch nicht funktioniert).

Gleichzeitig weiß ich auch nicht, ob der Inhalt stimmt.

Außerdem kann ich mein Testtelefon in Zukunft nicht mehr rooten. Ist es möglich, dauerhafte iptables-Regeln auf einem nicht gerooteten Telefon hinzuzufügen?

Antworten (1)

Das Ausführen von Skripten beim Booten (init), wie Sie es versuchen, wird nur unterstützt, wenn der Kernel dies unterstützt.

Wenn Sie einen Stock-Kernel verwenden, müssen Sie möglicherweise einen benutzerdefinierten Kernel installieren, der Init-Unterstützung enthält.

Es gibt auch Apps, die mit Android beginnen und automatisch Firewall-/iptables-Regeln anwenden, aber denken Sie daran, dass diese Root-Zugriff erfordern.

Es ist nicht möglich, iptables-Regeln ohne Root-Zugriff zu ändern. Sie können jedoch eine VPN-Verbindung verwenden, um den Netzwerkverkehr weiterzuleiten, der auf jedem Android 4.0+-Gerät ohne Root-Zugriff funktioniert.

Könnten Sie bitte Schritt für Schritt erklären, wie iptables beim Booten geändert werden? Welche Datei soll ich bearbeiten? Und was hinzufügen?