Priorizar uma porta para frente sobre outra

0

Estou no estágio de pesquisa de um pequeno projeto relacionado ao encaminhamento de porta prioritária.

Eu tenho um conjunto de clientes tentando acessar um servidor de terminal com alguns rádios por trás dele.

O problema é que, se os dois clientes atingirem a mesma porta de destino no servidor de terminal, veremos dados inválidos no cliente errado.

Digamos que o cliente A solicite algo da porta de destino, mas o cliente B já estava solicitando algo, o dispositivo por trás do servidor de terminal naquela porta responde com os dados que enfileirou para enviar.

Note que a porta de destino é a mesma para ambos os clientes.

Gostaria de priorizar um dos servidores e, por isso, quero implementar um tipo de aplicativo de roteador baseado em Linux entre os dois clientes e o servidor de terminal. Cada cliente acessaria uma porta diferente, mas o cliente prioritário seria encaminhado se começasse a se comunicar. O outro seria bloqueado, parado, parado ou o que quer que seja.

Eu poderia ter pego a arma e desenvolvido um pequeno aplicativo python que escuta em duas portas diferentes e encaminha a "prioridade" para o servidor de terminal. Bloquear o encaminhamento da porta "não prioritária", até que uma certa quantidade de sem comunicação ocorra na porta de prioridade.

Eu li sobre o iptables, alguns NAT, socat, um pouco de QoS, etc., mas não consigo encontrar algo para o meu problema.

Não sou especialista em rede e uso linux há cerca de dois anos, mas nunca fiz muita coisa com esses cenários de roteamento / encaminhamento TCP / ip, então gostaria de saber se há algo lá fora, Isso poderia me ajudar a priorizar uma porta em relação à outra, e isso seria mais eficiente que um aplicativo Python personalizado.

Obrigado por qualquer feedback.

Aqui está uma pequena img, para referência do que estou tentando fazer:

Prioridade de encaminhamento

    
por Eauto04 10.03.2018 / 00:37

1 resposta

0

Eu acredito que você pode realizar o que você está tentando fazer com:

  1. socat
  2. tela GNU
  3. TMUX

Tanto quanto eu sei, você terá que repensar como esses dois terminais estão se conectando. Eu acredito que o TMUX pode ficar no meio como o aplicativo servindo os dois terminais clientes finais. Algo deve multiplexar as conexões seriais, não há como fugir disso.

Veja alguns comandos SOCAT úteis

Acredito que o TMUX será sua melhor aposta, aqui está um guia de primeiros passos para o tmux

Eu listei a tela GNU porque parece que ela pode ser útil neste cenário.

Também encontrei uma pergunta parecida com a sua no serverfault.

link

    
por 11.03.2018 / 20:51