{"id":9689,"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>Wir schreiben das Jahr 2012. Noch immer befindet man sich manchmal tempor\u00e4r in &#8222;fremden&#8220; Netzen und nicht zu &#8222;Hause&#8220;, sei es bei Freunden oder Kunden oder in einem \u00f6ffentlichen W-LAN.<br \/>\nGerne m\u00f6chte man nat\u00fcrlich nach &#8222;Hause&#8220; eine gesicherte Verbindung haben und s\u00e4mtlichen Traffic dar\u00fcber abgefackelt sehen.<br \/>\n<!--more--><br \/>\nIn 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.<br \/>\nDer 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 &#8222;Standard&#8220; betreiben muss.<br \/>\nK\u00fcrzlich bin ich aber \u00fcber ein kleines nettes Tool namens &#8222;<a title=\"sshuttle\" href=\"https:\/\/github.com\/apenwarr\/sshuttle\" target=\"_blank\" rel=\"noopener\">sshuttle<\/a>&#8220; gestossen, was die ganze Thematik &#8222;IPTABLES+SSH-FORWARDING&#8220; mehr oder weniger geschmeidig automatisiert und genau das tut was es soll, ohne die VPN-Keule oder PPTP rausholen zu m\u00fcssen.<br \/>\nHat man als Client ein g\u00e4ngiges Linux unterm Arsch kann man davon ausgehen, das etwaig ben\u00f6tigte Tools wie &#8218;iptables&#8216; und &#8217;ssh&#8216; in entsprechender Auspr\u00e4gung mit &#8218;DNAT&#8216; + &#8218;REDIRECT&#8216; + &#8218;ttl&#8216; vorhanden sind. Server-seitig ist ein ssh-Daemon notwendig, welcher \u00fcber einen beliebigen Port \u00f6ffentlich erreichbar sein muss.<br \/>\nZum Installieren auf dem Client reicht ein einfaches &#8222;apt-get install sshuttle&#8220;.<br \/>\nDannach kann man in einem Terminal &#8222;sshuttle&#8220; wie folgt starten ..<br \/>\n<code>sshuttle -r username@ssh-server:ssh-port 0\/0 -H -v<\/code><br \/>\nAb 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. &#8222;-H&#8220; meint noch mit auch DNS-Requests mit durchzuschieben. &#8222;-v&#8220; zeigt einem noch etwas auf der Konsole an. &#8222;0\/0&#8220; meint hier, das alles durchgeroutet werden soll.<br \/>\nBeendet wird das Routing einfach indem man mit STRG+C im Terminal sshuttle beendet. Damit werden s\u00e4mtliche Regeln &#8222;zur\u00fcckgebaut&#8220; und das Programm ordentlich beendet.<br \/>\nWie man merkt, musste man hier auf den Ziel-Server weder etwas &#8222;verbiegen&#8220; 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.<br \/>\n&nbsp;<br \/>\n\u00dcbrigens ist ein bekannter BUG, dass sshutte beim beenden noch ein wenig Hilfe beim Aufr\u00e4umen ben\u00f6tigt.<\/p>\n<pre lang=\"BASH\"> sudo ipfw list<\/pre>\n<p>und danach<\/p>\n<pre lang=\"BASH\">sudo ipfw -f flush<\/pre>\n<p>Eine gute Anleitung gibts dann auch noch <a href=\"http:\/\/elasticdog.com\/2011\/12\/use-sshuttle-to-keep-safe-on-insecure-wi-fi\/\">hier<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wir schreiben das Jahr 2012. Noch immer befindet man sich manchmal tempor\u00e4r in &#8222;fremden&#8220; Netzen und nicht zu<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,27,9,16,20],"tags":[1303,1618,2256,2459,2462,2706,2711],"class_list":["post-9689","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\/9689","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=9689"}],"version-history":[{"count":0,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/9689\/revisions"}],"wp:attachment":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/media?parent=9689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/categories?post=9689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/tags?post=9689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}