【发布时间】:2011-05-04 22:16:27
【问题描述】:
是否可以使用 socat 实用程序在类似 ttyS0 的串行(调制解调器)设备上获得双向 IP 隧道?我尝试使用 TUN 选项,但仍然无法得到结果。
欢迎任何建议:)
更新:
PC1:
socat /dev/ttyUSB0,raw,echo=0,b57600,clocal TUN:192.168.1.1/24,up
PC2:
socat /dev/ttyUSB0,raw,echo=0,b57600,clocal TUN:192.168.1.2/24,up
在那之后,我看到 tun0 接口在两端都有正确的地址,但我无法从另一个接口 ping 通。取而代之的是,当我使用ping -c 1 192.168.1.1 远程socat 发送数据时,进程退出并且它的tun0 设备被破坏。有什么建议吗?..
更新2:
当我们尝试仅使用 socat 建立 TCP/IP 串行隧道时,会出现框架问题。 socat 的开发者 Gerhard Rieger 告诉我:
恐怕你是对的。屯 通过数据报套接字工作,并且 - 通过 运气 - 也超过管道。但是过 串行线的数据包边界可能 消失,这在发送时是致命的 tun接口上的数据输出。
我无法提供基于 socat 的解决方案 现在,对不起。但是,我会尝试 稍后整合一些框架 第 2 版发布。
【问题讨论】:
-
您知道 PPP(和 pppd)就是为了做到这一点而设计的……
-
@ysdx 是的,但是 pppd 解决了不同的问题
标签: linux serial-port ip tunnel socat