6

У меня есть приложение, в котором две подсети прозрачно соединены через два моста Serial to Ethernet и нуль-модемный последовательный кабель (только RS-232, TX и RX). Эта настройка ведет себя точно так же, как кабель Ethernet, за исключением скорости и задержки.

Моя схема приложения

Эти мосты довольно дороги для меня, и мне было интересно, как это сделать с дешевым SBC под управлением Linux (например, Raspberry Pi). Я искал дни безуспешно.

Я читал на форумах, что netcat, ppp и ser2net не справятся с этой задачей, а brctl работает только для интерфейсов Ethernet. Я думал об использовании socat или bridge-utils, но не смог найти ни одной ссылки на приложение, похожее на мое. Я видел множество приложений, в которых последовательное устройство соединено через TCP-соединение, а не наоборот, как в моем случае.

Не могли бы вы помочь мне решить эту проблему?

Мои знания в области сети являются базовыми, и я прошу прощения за любые ошибки.

1 ответ1

0

Быстрая съемка с socat , не проверенная:

socat TUN:10.10.1.4/24,tun-type=tap,tun-name=tap0,iff-up /dev/ttyS0,rawer

Затем добавьте это к мосту (скажем, br0):

ip link set tap0 master br0

Могут потребоваться некоторые модификации, если rawer все еще недостаточно сырой. IIRC нужен только IP-адрес, чтобы сделать socat счастливым.

В качестве альтернативы, используйте некоторый протокол, созданный для работы в сети по последовательному каналу, такой как SLIP или PPP, который будет корректно экранировать забавные символы и в крайнем случае выполнять управление потоком, а затем запустить над ним туннель уровня 2. Менее эффективно и сложнее в настройке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .