Udprelay implementiert ein triviales symmetrisches UDP-Relay. Nach dem Start „öffnet“ es zwei UDP-Ports und wartet auf Clients. Wenn Clients verbunden sind, sendet das Tool die von einem Client empfangenen Daten an einen anderen und umgekehrt. Ein typischer Anwendungsfall besteht darin, UDP-Clients hinter verschiedenen NATs die Kommunikation miteinander zu ermöglichen.
Eine (und möglicherweise einzige) Anwendung besteht darin, dem Mosh-Client dabei zu helfen, hinter NAT eine Verbindung zum Mosh-Server herzustellen, während er hinter einem anderen NAT bleibt. Details werden in dieser StackOverflow-Antwort beschrieben.
Zum Erstellen einfach make install
. Die einzige Betriebsart ist:
$ udprelay bind-ip port-a port-b
Dabei ist bind-ip
eine IP, an die beide Ports gebunden werden (z. B. 0.0.0.0), port-a
und port-b
sind UDP-Ports, von denen auf Nachrichten gewartet wird.
port-a
und port-b
zu verfolgen. Stattdessen werden die Daten einer Hand einfach an die zuletzt gesehene Adresse einer anderen Hand gesendet.Die folgenden Tools können nützlich sein:
strace
tcpdump -i IFACE udp portrange PORTA-PORTB -vv -X -n
Basierend auf dem C-Programm udp_redirect
von Ivan Tikhonov