UDP Traffic per SSH tunneln

SSH Tunnel sind eine gängige Methode um Traffic sicher von einer Maschine auf die andere umzuleiten, aber SSH kann nur TCP Traffic tunneln. Wie bekommt man jetzt UDP über SSH getunnelt ?

Die Antwort lautet : gar nicht! Man muß TCP Traffic draus machen 🙂

Als ersten Schritt öffnen wir mal den Tunnel:    (alle Befehle als Root ausführen versteht sich)

root# ssh -L 8080:localhost:8080 username@zielserver.de „sleep 10000“

Dies schiebt alle Daten die auf Port 8080 ankommen, an den Port 8080 des Zielserver. Der Einfachheit halber, belassen wir die Port auf Quell- und Zielsystem bei der gleichen Nummer, aber das kann man auch nach Bedarf anpassen.

Als erstes brauchen wir einen FIFO ( First In – First Out ) Speicher auf dem Zielserver. Damit kann man die Daten lesen und schreiben, was bei einer PIPE nicht geht.

root@Ziel# mkfifo /tmp/fifo

Nun leiten wir den UDP Traffic per nc von Port 8080 um :

root@Ziel# nc -l -p 8080 < /tmp/fifo | nc -u ip.des.dns.servers 53 > /tmp/fifo

Alles was wir auf Port 8080 lesen, geht über die PIP an den NC Befehl, der es an den DNS Server schickt. Seine Antwort geht über das FIFO File zurück zum „Server nc Befehl“ .

Das Gleiche, nur anders rum, brauchen wir auf dem lokalen Server:

root@local# mkfifo /tmp/fifo
root@local# nc -l -u -p 53 < /tmp/fifo | nc localhost 8080 > /tmp/fifo

Auf unserem lokalen Server binden wir uns an den Port 53 und schicken alles, was in dem FIFO File steht an den, der sich auf Port 53 verbunden hat, also z.b. der Befehl dig . Alles was von dig an den Port 53 gesendet wird, geht über die PIPE zum zweiten nc und der leitet das an den Startpunkt unseres Tunnels.

Entweder, man trägt jetzt 127.0.0.1 in die /etc/resolv.conf ein :

nameserver 127.0.0.1

oder man fragt mit dig 127.0.0.1 direkt ab:

dig @127.0.0.1 marius.bloggt-in-braunschweig.de

Das wars schon.

Warum nur #youtube #unge ?

Vergeßt es, die Tweets gibt es nicht und das ist auch gut so. Heute gibt es mal keine Lebenshilfe, sondern eine Frage, die Ihr gern kommentieren dürft:

Wieso wird man von Nachrichten über Leute genervt, die andere Leute auf Youtube beim Spielen kommentieren oder gar Ihre eigenen Gamesessions kommentieren?

Wie man in den letzten 3 Tagen nicht verhindern konnte, wird man in diversen IT Newsseiten über die Probleme von Simon Unge genervt. Wie Golem in seinem Bericht geschrieben hat, ist das tatsächlich keine Meldung wert und trotzdem wird faktisch überall gehypt.

Ist jetzt endlich rausgekommen, daß es wiedermal nur um Kohle für die Jungs geht ? Das alleine kann es doch nicht sein, also wieso ist das eine Meldung wert, wenn jemand sein IMHO überflüssiges Videomaterial nicht mehr unters Volk bringen will ?

So ganz allein kann ich mit meiner Meinung nicht sein, denn letzte Woche ist Southpark sehr schön über diesen Youtube Schwachsinn hergezogen, es war Ihnen sogar eine Doppelfolge wert. Episode #Rehash

Ich habe übrigens nichts gegen Youtube Videos, aber wenn sollte man schon selbst mitspielen, als anderen beim Spielen zu zusehen.

Die Kommentare sind ab jetzt freigeschaltet…

TAR erfolgreich per SSH tunneln

Jeder Admin kennt das Problem, man muß irgendwann mal in seinem Leben ein System backupen, ohne das man Platz dafür hat oder die Platte ist nur noch lesbar.

Natürlich kommt einem dabei sofort die Idee, daß per SSH auf einen anderen Server zu übertragen. TAR muß aber irgendwo die Daten ausgeben, das geht nur in die PIPE. Mit den Daten kann man aber mit SSH als Ziel nicht viel anfangen, außer man schafft es den Datenstrom in die richtigen Bahnen zu lenken.

Genau das geht mit dieser Anweisung:

tar czv / | ssh user@backup.server.de "cat - > backup.tgz"

Cat leitet am Zielserver die Daten von Stdin in das File backup.tgz um.