Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

NAT zu NAT Verbindungen (z.B. SSH) (STUN, chownat, pwnat)

294 views
Skip to first unread message

Peter Prockers

unread,
Sep 15, 2011, 9:47:38 AM9/15/11
to
Hallo,

ich suche derzeit eine Möglichkeit Verbindungen von Client zu Server
einzurichten, auch wenn sich beide hinter einem NAT befinden. (kurzer
Hintergrund: PC über UMTS online, Handy auch über UMTS online, in
beiden Fällen kann kein Portforwarding eingerichtet werden)

Habe bereits zwei Hacks gefunden, chownat scheint genau das zu machen,
nur das da dem Client und dem Server gegenseitig die IP bekannt sein
muss.

Bei pwnat fällt dieser Nachteil raus, nur begreife ich da nicht ganz
die Beschreibung. Ist das nun nur ein Proxyserver, oder kann auch
dieses Programm genau wie chownat, beliebige Serverdienste beim der
Überwindung von NAT zu NAT helfen?

Habe online ziemlich wenig darüber gefunden...

Gibt es noch Alternativen? STUN würde sich auch anbieten. Irgendwelche
Stunserver im Netz kann ich ja auch legal und kostenlos nutzen.

Da ich bisher noch keine SSH Implementierung gefunden habe, die auch
STUN mit eingebaut hat, suche ich weiter nach ähnlichen Programmen wie
chownat/pwnat, die universell alle Serverdienste auf NAT zu NAT
aufrüsten können.

Vorschläge?

Stefan Nobis

unread,
Sep 15, 2011, 10:30:04 AM9/15/11
to
Peter Prockers <peter.p...@googlemail.com> writes:

> Bei pwnat fällt dieser Nachteil raus, nur begreife ich da nicht ganz
> die Beschreibung. Ist das nun nur ein Proxyserver, oder kann auch
> dieses Programm genau wie chownat, beliebige Serverdienste beim der
> Überwindung von NAT zu NAT helfen?

Wie man unter

http://samy.pl/pwnat/

nachlesen kann, ist pwnat eine Erweiterung zu chownat, insbesondere,
soweit ich das verstanden habe, kan pwnat im Prinzip alles was chownat
kann.

Die Grundidee ist relativ simpel und alt: Per UDP werden Löcher in den
Paketfilter gebohrt. UDP ist stateless und daher kann der Paketfilter
nicht sehr viel mehr machen, als IP:Port Paare zu verfolgen. Also
schickt der pwnat Server beständig ganz bestimmte UDP Pakete raus,
damit der Paketfilter Antworten darauf auch wieder herein lässt.

Ein Client baut jetzt passende Fake-Pakete, die der Paketfilter des
Servers als Antwort ansieht und somit an den Server durchlässt. Auf
diese Weise erfährt der Server die IP des Clients. Der Client muss die
IP des Server vorher wissen, sonst funktioniert der Verbindungsaufbau
nicht.

Der Rest funktioniert wie bei chownat, d.h. bei senden quasi mal ein
paar Pakete einfach so Richtung des anderen, bis beide Paketfilter
brav die Pakete durchlassen.

Der Verbindungsaufbau ist alles andere als effizient und schnell, aber
am Ende hat man die nötigen Löcher im Paketfilter und eine
UDP-Verbindung, über die man dann alles andere tunneln kann.

> Gibt es noch Alternativen?

Wenn die Voraussetzung ist, dass keine dritte Stelle beteiligt ist,
beide Systeme hinter einem NAT liegen, kein Port-Forwarding möglich
ist und auch nur einer der beiden System die IP des anderen kennt,
dann hat man IMHO nicht mehr so wirklich viele Alternativen.

Ich persönlich würde überlegen, ob man nicht evtl. eine dritte Stelle
(z.B. einen Root-Server, auf den man Zugriff hat) involvieren
kann. Dann ist man wieder deutlich flexibler.

--
Stefan.

Marc Haber

unread,
Sep 15, 2011, 12:31:38 PM9/15/11
to
Peter Prockers <peter.p...@googlemail.com> wrote:
>ich suche derzeit eine Möglichkeit Verbindungen von Client zu Server
>einzurichten, auch wenn sich beide hinter einem NAT befinden. (kurzer
>Hintergrund: PC über UMTS online, Handy auch über UMTS online, in
>beiden Fällen kann kein Portforwarding eingerichtet werden)

IPv6 Teredo?

Grüße
Marc
--
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber | " Questions are the | Mailadresse im Header
Mannheim, Germany | Beginning of Wisdom " | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834

Thomas Bächler

unread,
Sep 15, 2011, 4:40:56 PM9/15/11
to
Am 15.09.2011 16:30, schrieb Stefan Nobis:
> Die Grundidee ist relativ simpel und alt: Per UDP werden Löcher in den
> Paketfilter gebohrt. UDP ist stateless und daher kann der Paketfilter
> nicht sehr viel mehr machen, als IP:Port Paare zu verfolgen. Also
> schickt der pwnat Server beständig ganz bestimmte UDP Pakete raus,
> damit der Paketfilter Antworten darauf auch wieder herein lässt.

Da fängt auch schon der Ärger an: UDP. SSH nutzt allerdings TCP. Über
UDP kann man allenfalls versuchen einen OpenVPN Tunnel aufzubauen und
darüber zu tunneln.

Peter Prockers

unread,
Sep 16, 2011, 11:34:04 AM9/16/11
to
On 15 Sep., 16:30, Stefan Nobis <sno...@gmx.de> wrote:
> Peter Prockers <peter.prock...@googlemail.com> writes:
> > Bei pwnat fällt dieser Nachteil raus, nur begreife ich da nicht ganz
> > die Beschreibung. Ist das nun nur ein Proxyserver, oder kann auch
> > dieses Programm genau wie chownat, beliebige Serverdienste beim der
> > Überwindung von NAT zu NAT helfen?
>
> Wie man unter
>
>  http://samy.pl/pwnat/
>
> nachlesen kann, ist pwnat eine Erweiterung zu chownat, insbesondere,
> soweit ich das verstanden habe, kan pwnat im Prinzip alles was chownat
> kann.

Was mich verunsichert ist folgendes....

"Simply put, this is a proxy server that works behind a NAT,
even when the client is behind a NAT, without any 3rd party."

" Server side allowing anyone to proxy:
./pwnat -s

Client wanting to connect to google.com:80:
./pwnat -c 8000 <pwnat.server.com> google.com 80
Then, browse to http://localhost:8000 to visit the google!"

Ist das nun "nur" ein Proxy?

> > Gibt es noch Alternativen?
>
> Wenn die Voraussetzung ist, dass keine dritte Stelle beteiligt ist,
> beide Systeme hinter einem NAT liegen, kein Port-Forwarding möglich
> ist und auch nur einer der beiden System die IP des anderen kennt,
> dann hat man IMHO nicht mehr so wirklich viele Alternativen.
>
> Ich persönlich würde überlegen, ob man nicht evtl. eine dritte Stelle
> (z.B. einen Root-Server, auf den man Zugriff hat) involvieren
> kann. Dann ist man wieder deutlich flexibler.

Würde ich gern vermeiden. Bringt alles Kosten und einen entfernten
Server.

Peter Prockers

unread,
Sep 16, 2011, 11:37:19 AM9/16/11
to
On 15 Sep., 22:40, Thomas Bächler <thomas.baech...@rwth-aachen.de>
wrote:
Also so wie ich das verstehe, werden alle Server mit NAT zu NAT
Verbindungen aufgewertet. Alles, auch TCP wird getunnelt.

Kann sein das ich unrecht habe...

Peter Prockers

unread,
Sep 16, 2011, 11:35:53 AM9/16/11
to
On 15 Sep., 18:31, Marc Haber <mh+usenetspam1...@zugschl.us> wrote:
> Peter Prockers <peter.prock...@googlemail.com> wrote:
> >ich suche derzeit eine Möglichkeit Verbindungen von Client zu Server
> >einzurichten, auch wenn sich beide hinter einem NAT befinden. (kurzer
> >Hintergrund: PC über UMTS online, Handy auch über UMTS online, in
> >beiden Fällen kann kein Portforwarding eingerichtet werden)
>
> IPv6 Teredo?

Eine geniale Idee. Super Lösung ohne Gefrickel und Hacks. Jetzt muss
ich das nur noch für meine Platform (Android) zum laufen bekommen.

Für PC zu PC (Windows / Linux) geht es schon super...

Stefan Nobis

unread,
Sep 17, 2011, 4:01:16 AM9/17/11
to
Peter Prockers <peter.p...@googlemail.com> writes:

[pwnat]
> Ist das nun "nur" ein Proxy?

Also ein Proxy ist es auf jeden Fall, die Frage ist nur, was genau
unterstützt wird. Immerhin gibt es in der Doku auch folgenden Satz:

,----
| Finally, both sides are fully communicating over UDP, allowing
| protocols that run over TCP to tunnel through.
`----

Für mehr Details muss man sich die Software wohl mal genauer ansehen
oder den Autor fragen.

--
Stefan.
0 new messages