使用 ser2net 和 socat 通过连接到另一台服务器的调制解调器发送 SMS

使用 ser2net 和 socat 通过连接到另一台服务器的调制解调器发送 SMS

我不知道具体如何解决我遇到的问题,所以我会在这里询问。

我有一个 USB 3G 调制解调器连接到运行基于 Debian Wheezy 的 ProxMox 操作系统的物理机server4,我可以使用它发送短信gsmsendsms

echo "Message" | gsmsendsms -d /dev/ttyUSB0 -b 19200 <phone number>

这效果很好。现在我有一个虚拟机(Ubuntu Server 14.04)安装在另一台物理服务器上,该服务器server1也运行基于 Debian Wheezy 的 Proxmox,我希望该虚拟机能够访问server4.

到目前为止,我已经尝试使用以下行通过网络“共享”USBser2net调制解调器:server4config

2000:raw:0:/dev/ttyUSB0:19200 8DATABITS NONE 1STOPBIT banner

根据我的理解,这应该可以完成工作ser2net

在虚拟机上,我尝试socat添加链接到共享 USB 调制解调器的虚拟设备:

socat pty,link=/dev/virtualcom0,raw tcp:server4:2000

这似乎可以完成这项工作,因为该设备virtualcom0出现在/dev.但是,如果我尝试使用 发送短信virtualcom0,我会收到一个有趣的错误:

user@vm:~$ echo "SMS Test Message!" | sudo gsmsendsms -d /dev/virtualcom0 -b 19200 <phone number>
gsmsendsms[ERROR]: clearing DTR failed (errno: 22/Invalid argument)

我使用与连接 USB 调制解调器的物理服务器完全相同的命令,但它失败了,并且谷歌搜索“gsmsendsms errno 22”效率不高。

最后,我想将 USB 调制解调器插入到server4Zabbix 的物理访问中,它在server1.如果有比使用ser2netand更好的方法socat,我准备尝试其他方法。

相关内容