Wie verwende ich sshuttle auf einem Router, der openwrt ausführt?
5536
András Szepesházi
Ich verwende einen TP-Link TL-WR1043ND- Router mit OpenWrt und Gargoyle . Ich möchte den gesamten Verkehr von meinem lokalen Netzwerk (vom Router bedient) transparent an einen Remote-Server weiterleiten. Im Wesentlichen wie ein Socken-Proxy würde funktionieren, nur ohne die verbundenen Client-Maschinen für Proxy konfigurieren zu müssen.
Ich habe gelesen, dass sshuttle der Weg für diese Art von Anforderung ist. Nach vielem Fummeln habe ich es endlich geschafft, alle Voraussetzungen zu erfüllen, und ich kann sshuttle ohne Fehlermeldungen wie diese starten:
./sshuttle --dns -vvr XXXXXX@YY.YY.YY.YY 0/0
Wo XXXXXX meine Benutzername auf einem Remote - Server YY.YY.YY.YY sshuttle ist ganz gut, keine Fehlermeldungen zu initialisieren scheinen, fügen alle notwendigen Regeln zu iptables, doch nach dem lokalen Proxy eingerichtet ist, ich bin nicht in der Lage zu verbinden überall aus mein lokales Netzwerk Dies ist die Ausgabe von sshuttle:
Ich habe keine Ahnung, wie ich dieses Problem überhaupt debuggen kann. Wenn ich sshuttle stoppe, werden die iptables-Regeln entfernt und die Netzwerkverbindungen funktionieren wieder:
Hat jemand es geschafft, eine funktionierende sshuttle-Instanz auf openwrt einzurichten? Oder gibt es einen anderen Weg, um das zu erreichen, was ich hier brauche (transparenter Proxy auf einem openwrt-Router)?
Glücklicherweise erhielt ich bei der sshuttle google-Gruppe eine Antwort vom Autor von sshuttle. Er schrieb:
Möglicherweise müssen Sie '-l 0.0.0.0' (das ist ein Kleinbuchstabe L) hinzufügen, um sshuttle anzuweisen, auf Verbindungen von Localhost (dem Router selbst) zu warten. Aus Sicherheitsgründen leitet sshuttle den Datenverkehr anderer Personen nicht standardmäßig weiter.
Mein Anwendungsfall führt sshuttle auf dem Host aus, um den Verkehr von Docker-Containern während des Baus weiterzuleiten, und das funktioniert hervorragend.
Tarnay Kálmán vor 9 Jahren
0
4
trapezoid
Ein paar Dinge, die mich in die Quere kamen:
Ab Lager OpenWRT 12.09 AA müssen Sie folgende Pakete installieren:
python (verbraucht bei Abhängigkeiten 3-4 MB Flash)
iptables-mod-nat-extra
iptables-mod-ipopt
Um SSH mit einem SSH-Schlüssel auf den Remote-Server zu übertragen, müssen Sie einen Dropbear-Formatschlüssel erstellen:
dropbearkey -t rsa -f /root/.ssh/id_rsa
Geben Sie schließlich die Schlüsselposition in der sshuttleBefehlszeile an:
Bei einem GL-AR300M-Router, auf dem OpenWrt Chaos Calmer 15.05 ausgeführt wird, scheint die Vorgehensweise etwas anders zu sein als bei @trapezoid. Vielleicht ist es nicht ganz auf Lager OpenWRT (ich habe es nach dem Kauf nicht neu installiert) oder es ist nur der Zeitablauf.
Ich habe die Pakete installiert, die sie benannten, dh python iptables-mod-nat-extra iptables-mod-ipopt.
Damit das ssh-Schlüssel-basierte Login funktioniert, musste ich keinen speziellen ssh-Schlüssel generieren. Mein gewöhnlicher war genug, aber der autorized_keysmuss verschoben werden /etc/dropbear/( ssh-copy-iddh er wurde nicht in das richtige Verzeichnis verschoben ).