Ich versuche, alle Pakete auf Port 80 von jeder Schnittstelle an meinen SOCKS-Proxy weiterzuleiten (Server). Ich bin nicht sicher, ob ich es richtig eingerichtet habe, aber ich kann die Pakete nicht weiterleiten.
Ich erstelle einen SOCKS-Proxy wie folgtMaschine A:
ssh -D 5948 user@server
Dadurch kann ich über meinen SOCKS-Proxy auf das Internet zugreifen, wenn ich die Proxy-Einstellungen in Chrome ändere.
Das ist in Ordnung, außer dass ich ein Gerät anschließe (Gerät B) ZuMaschine AIch teile Ihnen per Bluetooth mit, dass ich von diesem Gerät aus über den SOCKS-Proxy und meinen Computer auf das Internet zugreifen möchte.
+---------------+ +---------------+ +--------------+
| | | | | |
| | | | | |
Internet | Server <----+ Machine A <----+ Device B |
| | | | | |
| | | | | |
+---------------+ +---------------+ +--------------+
Connected via Bluetooth
Die Verbindung und die gemeinsame Nutzung des Internets über Bluetooth funktionieren einwandfrei, allerdings wird nicht der SOCKS-Proxy verwendet, sondern mein ISP.
Stattdessen möchte ich pf
jedes Paket von jeder Schnittstelle auf Port 80 an meinen SOCKS-Proxy weiterleiten.
Ich habe dies versucht, indem ich eine Ankerdatei mit folgendem Inhalt erstellt habe:
rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 5948
Ich habe den Anker eingebunden pf.conf
und aktiviere die Weiterleitung auf allen Schnittstellen wie folgt:
net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1
Die Weiterleitung erfolgt nicht und ich kann nur davon ausgehen, dass meine pf
Regel falsch ist. Ich habe sie wie folgt validiert:
sudo pfctl -vnf /etc/pf.anchors/org.jj.forwarding
Irgendwelche Ideen, was ich falsch mache?
Antwort1
Da Sie die Weiterleitung aktiviert haben, sollte das Hinzufügen der folgenden iptable-Regel funktionieren
iptables -t nat -A PREROUTING -i bl1 -p tcp --dport 80 -j DNAT --to 127.0.0.1:5948
bl1 ist Ihre Bluetooth-Schnittstelle