我不知道具体如何解决我遇到的问题,所以我会在这里询问。
我有一个 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
调制解调器:server4
config
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 调制解调器插入到server4
Zabbix 的物理访问中,它在server1
.如果有比使用ser2net
and更好的方法socat
,我准备尝试其他方法。