我有一个应用程序,其中两个子网通过两个串行至以太网桥以及零调制解调器串行电缆(RS-232,仅 TX 和 RX)。此设置的行为与以太网电缆完全相同,只是速度和延迟不同。
这些桥对我来说相当昂贵,我想知道如何使用运行 Linux 的廉价 SBC(例如 Raspberry Pi)来实现它。我已经搜索了好几天,但没有成功。
我在论坛上看到 netcat、ppp 和 ser2net 都不能完成这项工作,而 brctl 仅适用于以太网接口。我考虑过使用 socat 或 bridge-utils,但我找不到任何与我的应用程序类似的应用程序的参考资料。我看到很多应用程序都是通过 TCP 连接桥接串行设备,而不是像我的情况那样反过来。
你能帮我解决这个问题吗?
我的网络知识很基础,对于任何错误我深表歉意。
答案1
Quickshot 未经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
如果还不够原始,可能需要进行一些修改。如果我没记错的话,只需要 IP 地址就可以socat
了。
或者,使用一些为通过串行链路联网而制定的协议,如 SLIP 或 PPP,这些协议可以正确转义奇怪的字符并在紧急情况下进行流量控制,然后在其上运行第 2 层隧道。效率较低且设置起来更困难。