So wie ich das sehe ist es nicht der rustdesk-server allein, sondern das Zusammenspiel zwischen dem Server und der FB, welches das Problem verursacht:
Ein Rustdesk-Client außerhalb meines eigenen LANs mit der fiktiven Adresse "rustdeskclient.foo.com" schickt ein UDP-Paket an meine fiktive kanonische Adresse "rustdeskserver.fooo.com" Port 21116. Dieses Paket wird je nach Konfiguration entweder an die 192.168.x.x oder an die 169.254.1.1 weiter geleitet indem die Ziel-IP umgeschrieben und ein Eintrag in der NAT-Tabelle gemacht wird.
Der Server will auf diesen Paket antworten. Aufgrund eines in dem oben genannten Ticket vermuteten Bugs nutzt er hierzu aber nicht explizit das Interface und dessen IP-Adresse, auf welchem er das Paket empfangen hat (wie es richtig wäre), sondern sagt lediglich "Sende ein UDP-Paket an die Ziel-Adresse "rustdeskclient.foo.com" und überlässt es dem OS der Fritz!Box die Wahl des Interfaces und somit der Quell-IP. Die Fritz!Box nutzt vermutlich, wenn man es ihr nicht ausdrücklich anders sagt immer das Interface "lan", also die IP-Adresse 192.168.x.x
Wenn das eingehende Paket auf 192.168.x.x forwardet wurde stimmen die Ziel-IP des "genatteten" eingehenden Paketes und die Quell-IP des ausgehenden Paketes überein, wodurch das sogenannte "NAT Traversal" funktioniert. Forwardet man dagegen auf die Ziel-IP 169.254.1.1 und der Server antwortet aber mit der 192.168.x.x als Quell-IP kann der Eintrag in der NAT-Tabelle nicht greifen. Diese vermutete Problematik kann nur bei bei UDP-Paketen auftreten weil UDP ja "stateless" ist. Bei TCP-Verbindungen würde dagegen zuvor ein Socket aufgebaut. Nun steht in den Docs "21116/UDP is used for the ID registration". Der Client sagt dem Server also in regelmäßigen Abständen per UDP-Paket "Ich bin online" und der Server sagt dem Client ebenfalls per UDP Paket "Ok, habe ich verstanden". Kommen diese UDP-Pakete aufgrund des vermuteten NAT-Problems nicht an, kann sich der Client nicht am Server registrieren.
Wenn man den Komponenten des rustdesk-servers ausdrücklich sagen könnte, daß sie sich ausschließlich an eines der beiden interfaces "lan" bzw. "lan:0" bzw. die IP-Adressen 192.168.x.x bzw. 168.254.1.1 binden sollen, könnte man die vermutete Ursache entweder verifizieren oder falsifizieren. Sollte die Vermutung sich bestätigen so müßten die Serverkomponenten so umgeschrieben werden, daß für ausgehende UDP-Pakete immer das gleiche Interface genutzt wird, über welches die Pakete zuvor reingekommen sind. Leider reichen meine Programmierkenntnisse bei weitem nicht aus um in den Sourcen des rustdesk-servers nachzuvollziehen zu können, ob das vermutete Verhalten tatsächlich gegebenen ist, Die maßgebliche Zeile im Code ist gemäß dem Ticket dazu diese hier:
https://github.com/rustdesk/rustdes...6b26344707207cb/src/rendezvous_server.rs#L330
Dieses Verhalten ist nur eine Vermutung meinerseits, weil ich es bisher nicht schaffe aus dem WAN weitergeleitete UDP-Pakete mit tcpdump zu loggen. Da muß ich mich einerseits erstmal einarbeiten. Andererseits funkt mir dort möglichwerweise die "Paketbeschleunigung" der Fritz!Box dazwischen, weshalb ich gestern schon einmal probiert habe diese testweise abzuschalten. Dies hat aber irgendwie nicht funktioniert, nach einem reboot war die Paketbeschleunigung wieder an, obwohl ich sie eigentlich abgeschaltet hatte. Nun kann/will ich aber nicht zu oft neu booten, weil ich das Risiko ASSIA/DLM zu triggern nicht eigehen will.
C.U. Nanobot