É possível usar um pseudoterminal para redirecionar o fluxo de dados do PPP para um aplicativo?

0

Eu quero definir o PPP para usar um escravo pseudoterminal (/ dev / pts / N) em vez de um link serial físico, manipular seu fluxo de dados em um aplicativo (de / dev / ptmx) e redirecionar esse fluxo… em algum lugar apropriado. Depois de ler toda a documentação, eu entendo que isso é factível, no entanto, não encontrei nenhum rastro de alguém que realmente tentou. Então, alguém à vontade com o PTS pode confirmar que não sinto falta de algo?

Eu poderia tentar a mim mesmo, mas envolveria um pouco de desenvolvimento de software para responder a pergunta. Estou me perguntando especificamente sobre problemas de fluxo de dados (eu usaria XOn / Xoff) ou problemas de latência ...

Longa história ...

Eu estou em um Linux embarcado (chame de dispositivo # 1). Este dispositivo tem uma aplicação que se comunica com um segundo dispositivo (Chame-o dispositivo # 2) através de um protocolo caseiro no link serial. No momento, o dispositivo nº 1 usa PPP e um modem conectado a um segundo link serial para sua comunicação. O ponto é que o dispositivo # 2 também tem um modem. Por isso, desejo remover o modem do dispositivo nº 1 para reduzir o custo de nossa solução e redirecionar o fluxo de dados do PPP para o outro dispositivo / modem.

Minha idéia é usar um par pseudo-terminal, modificar o aplicativo para ler o fluxo do PTM, encapsulá-lo no protocolo caseiro e enviá-lo para o dispositivo # 2. O dispositivo nº 2 pode ser modificado para lidar com esse fluxo corretamente. Esse não é o ponto.

  • O dispositivo nº 2 não tem sistema operacional (não posso usar razoavelmente a socat entre os dois dispositivos).
  • tty0tty poderia ser uma solução, mas eu gostaria de evitar, na medida do possível, a instalação de um pacote,
  • O
  • SSL / TCP deve ser configurado no dispositivo 1 (Linux) por motivos de segurança. Isso é obrigatório.
por SC0 14.03.2018 / 15:24

1 resposta

0

Eu usei pppd para executar o tráfego por meio de conexões SSH antes, o que deve ser semelhante ao que você está tentando. Eu fiz isso depois de ter problemas com tunelamento SSH tradicional, onde a criação / desmontagem de conexões TCP encaminhadas atrapalhou muito as coisas. A combinação ssh + pppd funcionou muito melhor, então espero que isso signifique que você não teria muito problema com a latência. Eu não posso falar sobre a situação Xon / Xoff, no entanto.

Eu incluí uma linha em um arquivo /etc/ppp/peers/<linkname> semelhante a isto:

pty "/usr/bin/ssh -t -P -l username servername"

Você obviamente deseja substituir o comando ssh por sua própria ferramenta para traduzir o link serial.

Também há pessoas que fizeram o mesmo tipo de coisa com socat e nc , então espero que isso seja viável.

    
por 18.03.2018 / 06:07