Priorisieren Sie eine Portweiterleitung gegenüber einer anderen

Priorisieren Sie eine Portweiterleitung gegenüber einer anderen

Ich befinde mich in der Forschungsphase eines kleinen Projekts zum Thema vorrangige Portweiterleitung.

Ich habe eine Reihe von Clients, die versuchen, einen Terminalserver mit einigen Funkgeräten dahinter zu erreichen.

Das Problem besteht darin, dass ich auf dem falschen Client Datenmüll sehe, wenn die beiden Clients denselben Zielport auf dem Terminalserver erreichen.

Angenommen, Client A fordert etwas vom Zielport an, Client B hat jedoch bereits etwas angefordert. Dann antwortet das Gerät hinter dem Terminalserver an diesem Port mit den Daten, die es zum Senden in die Warteschlange gestellt hat.

Beachten Sie, dass der Zielport für beide Clients derselbe ist.

Ich möchte einem der Server Priorität einräumen und daher eine Art Linux-basierte Router-App zwischen den beiden Clients und dem Terminalserver implementieren. Die Clients würden jeweils einen anderen Port erreichen, aber der vorrangige Client würde weitergeleitet, wenn er mit der Kommunikation beginnt. Der andere würde blockiert, gestoppt, angehalten oder was auch immer.

Ich bin vielleicht voreilig gewesen und habe eine kleine Python-Anwendung entwickelt, die auf zwei verschiedenen Ports lauscht und den „Prioritätsport“ an den Terminalserver weiterleitet. Die Weiterleitung des „Nicht-Prioritätsports“ wird blockiert, bis eine bestimmte Menge an Nichtkommunikation auf dem Prioritätsport stattfindet.

Ich habe über iptables, etwas NATing, socat, ein bisschen QoS usw. gelesen, kann aber scheinbar nichts für mein Problem finden.

Ich bin kein Netzwerkexperte und verwende Linux seit ungefähr zwei Jahren, habe mich mit diesen TCP/IP-Routing-/Weiterleitungsszenarien jedoch noch nie groß beschäftigt. Daher wüsste ich gern, ob es da draußen etwas gibt, das mir dabei helfen könnte, einer Portweiterleitung gegenüber der anderen Priorität einzuräumen, und das effizienter wäre als eine benutzerdefinierte Python-App.

Danke für jedes Feedback.

Hier ist ein kleines Bild als Referenz für das, was ich versuche:

Vorrangige Weiterleitung

Antwort1

Ich glaube, Sie können Ihr Ziel mit Folgendem erreichen:

  1. socat
  2. GNU-Bildschirm
  3. TMUX

Soweit ich weiß, müssen Sie sich überlegen, wie diese beiden Terminals verbunden werden. Ich glaube, TMUX kann in der Mitte sitzen und als App die beiden End-Client-Terminals bedienen. Irgendetwas muss die seriellen Verbindungen multiplexen, daran führt kein Weg vorbei.

Hier sind einigeNützliche SOCAT-Befehle

Ich glaube, TMUX wird Ihre beste Wahl sein, hier ist einErste Schritte mit tmux

Ich habe den GNU-Bildschirm aufgelistet, weil es so aussah, als ob esnützlichIn diesem Szenario.

Ich habe auf Serverfault auch eine Frage gefunden, die Ihrer etwas ähnlich ist.

https://serverfault.com/questions/797397/connect-two-ttys-via-tcp-ip

verwandte Informationen