{"id":2074,"date":"2012-04-10T06:25:25","date_gmt":"2012-04-10T04:25:25","guid":{"rendered":"http:\/\/funrecycler.com\/?p=9689"},"modified":"2012-04-10T06:25:25","modified_gmt":"2012-04-10T04:25:25","slug":"routing-via-ssh-tunnel-2012","status":"publish","type":"post","link":"https:\/\/funrecycler.com\/index.php\/2012\/04\/10\/routing-via-ssh-tunnel-2012\/","title":{"rendered":"Routing via SSH Tunnel 2012"},"content":{"rendered":"<p style=\"overflow-wrap:anywhere\">Wir schreiben das Jahr 2012. Noch immer befindet man sich manchmal tempor\u00e4r in &quot;fremden&quot; Netzen und nicht zu &quot;Hause&quot;, sei es bei Freunden oder Kunden oder in einem \u00f6ffentlichen W-LAN. Gerne m\u00f6chte man nat\u00fcrlich nach &quot;Hause&quot; eine gesicherte Verbindung haben und s\u00e4mtlichen Traffic dar\u00fcber abgefackelt sehen. <\/p>\n<p><!--more--><\/p>\n<p style=\"overflow-wrap:anywhere\"> In der Vergangenheit wurden dazu Techniken wie OpenVPN oder PPTP verwendet. Manchmal wurde eine dedizierte Kombination von IPTABLES+SSH-FORWARDING eingesetzt, welche aber f\u00fcr den t\u00e4glichen Gebrauch umst\u00e4ndlich war. Der Nachteil der L\u00f6sungen via OpenVPN und PPTP ist das man auf der Gegenstelle Einstellungen vornehmen muss und nur f\u00fcr diesen seltenen Fall des Zugriffs dauerhaft etwas abweichend vom &quot;Standard&quot; betreiben muss. K\u00fcrzlich bin ich aber \u00fcber ein kleines nettes Tool namens &quot;<a href=\"https:\/\/github.com\/apenwarr\/sshuttle\" style=\"overflow-wrap:anywhere\">sshuttle<\/a>&quot; gestossen, was die ganze Thematik &quot;IPTABLES+SSH-FORWARDING&quot; mehr oder weniger geschmeidig automatisiert und genau das tut was es soll, ohne die VPN-Keule oder PPTP rausholen zu m\u00fcssen. Hat man als Client ein g\u00e4ngiges Linux unterm Arsch kann man davon ausgehen, das etwaig ben\u00f6tigte Tools wie &#x27;iptables&#x27; und &#x27;ssh&#x27; in entsprechender Auspr\u00e4gung mit &#x27;DNAT&#x27; + &#x27;REDIRECT&#x27; + &#x27;ttl&#x27; vorhanden sind. Server-seitig ist ein ssh-Daemon notwendig, welcher \u00fcber einen beliebigen Port \u00f6ffentlich erreichbar sein muss. Zum Installieren auf dem Client reicht ein einfaches &quot;apt-get install sshuttle&quot;. Dannach kann man in einem Terminal &quot;sshuttle&quot; wie folgt starten .. <code>sshuttle -r username@ssh-server:ssh-port 0\/0 -H -v<\/code> Ab diesem Moment l\u00e4uft s\u00e4mtlicher Traffic \u00fcber den SSH-Server, da das Tool zur Laufzeit f\u00fcr jeden Netzwerkzugriff dynamisch IPTABLES Regeln anlegt und selbige verwaltet. &quot;-H&quot; meint noch mit auch DNS-Requests mit durchzuschieben. &quot;-v&quot; zeigt einem noch etwas auf der Konsole an. &quot;0\/0&quot; meint hier, das alles durchgeroutet werden soll. Beendet wird das Routing einfach indem man mit STRG+C im Terminal sshuttle beendet. Damit werden s\u00e4mtliche Regeln &quot;zur\u00fcckgebaut&quot; und das Programm ordentlich beendet. Wie man merkt, musste man hier auf den Ziel-Server weder etwas &quot;verbiegen&quot; noch dort zus\u00e4tzliche Packete installieren. Der Server muss nur per SSH erreichbar sein. Einzig ein zus\u00e4tzliches Packet ist auf dem Client notwendig, welches auf Standard-Tools zur\u00fcckgreift. \u00a0 \u00dcbrigens ist ein bekannter BUG, dass sshutte beim beenden noch ein wenig Hilfe beim Aufr\u00e4umen ben\u00f6tigt. <\/p>\n<pre><code> sudo ipfw list<\/code><\/pre>\n<p style=\"overflow-wrap:anywhere\"> und danach <\/p>\n<pre><code>sudo ipfw -f flush<\/code><\/pre>\n<p style=\"overflow-wrap:anywhere\"> Eine gute Anleitung gibts dann auch noch <a href=\"http:\/\/elasticdog.com\/2011\/12\/use-sshuttle-to-keep-safe-on-insecure-wi-fi\/\" style=\"overflow-wrap:anywhere\">hier<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wir schreiben das Jahr 2012. Noch immer befindet man sich manchmal tempor\u00e4r in &quot;fremden&quot; Netzen und nicht zu<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,9,4,8,13],"tags":[2822,353,1308,593,2823,1316,158],"class_list":["post-2074","post","type-post","status-publish","format-standard","hentry","category-computer-und-technik","category-kniffe-und-tricks","category-linux-computer-und-technik","category-software","category-tutorial","tag-howto","tag-linux","tag-routing","tag-ssh","tag-sshuttle","tag-tunnel","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/2074","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/comments?post=2074"}],"version-history":[{"count":1,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/2074\/revisions"}],"predecessor-version":[{"id":3085,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/2074\/revisions\/3085"}],"wp:attachment":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/media?parent=2074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/categories?post=2074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/tags?post=2074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}