我有一个带有一组调制解调器的 Linux 机器,需要创建到大量远程计算机的请求拨号(出站)PPP 连接。由于我的遥控器比本地调制解调器多得多,因此我想启动一个或多个实例 pppddemand 模式,但在请求连接之前不分配特定调制解调器。当连接空闲时,我想 pppd 释放调制解调器,以便它可以用于连接到不同的遥控器。

我已经经历过 pppd man 页面并理解其中的概念 callconnect 选项,以及 options.DEVICE 文件和 /etc/ppp/peers 目录。锁定文件会告诉我哪些调制解调器正在使用或可用。只要我对调制解调器分配进行硬编码,我就可以连接到多个远程对等点。但我还没有找到动态分配它们的方法,比如通过调用 get_available_modem 脚本时 pppd 需要拨号。谷歌似乎也不知道。

解决方法可能是使用外部机制检测请求拨号的需要,然后启动 pppd 来服务它,但利用内部的设施似乎更干净 pppd 本身。

任何指示或想法表示赞赏。感谢您的想法!

有帮助吗?

解决方案

这是我要采用的解决方案:

  • 将调制解调器枚举为 /dev/modem0, /dev/modem1, ...
  • 启动一个实例 pppd 在每个对等点的请求拨号模式下,但不是“真正的”调制解调器,而是将其连接到 /dev/modem.同行, ,“ppp-on-dialer”脚本动态软链接到第一个可用的调制解调器。
  • 当连接超时且调制解调器离线时,软链接 /dev/modem.同行/dev/null 因此调制解调器可以重新用于与不同对等点的连接。

感谢您的意见!

其他提示

是否必须由Linux机箱直接驱动,或者您是否可以使用旧的Lucent Portmaster boxen?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top