通过调制解调器 (RJ11) 连接两台计算机

通过调制解调器 (RJ11) 连接两台计算机

我想重现旧的拨号体验,但无需实际拨打电话提供商的拨号号码。所以我想,也许一台 Linux 机器可以托管 ppp 服务器并通过 RJ11 线接受来自 Win98 机器的拨号呼叫并与其共享 Internet 连接。这可能吗?

答案1

你可以使用电话线模拟器(一种向设备提供电话运行电流的设备)来实现这一点。贾格斯豪斯有一篇文章详细介绍了如何构建它们。

通过谷歌快速搜索还发现预建的、可商用的模型如果你不倾向于 DIY,那么可以使用同一设备。

线路模拟器应该复制两部电话通过传统电话线连接的效果,并允许您使用 AT 命令在两部电话之间进行通信。

答案2

pppLinux一直以来都支持。您运行pppd,并使用参数告诉它要监听哪个串行端口和其他信息,然后它会创建一个ppp0(或其他)接口。然后您可以像配置任何其他接口一样配置路由和防火墙(使用iptables)。

因此,如果您只想尝试一下,ppp您可以使用连接两个系统串行端口的零调制解调器电缆来实现。如果您将串行端口速度设置为 33.6Kpbs 或更低,并通过 ppp 连接路由 Internet,那么您将获得相当不错的拨号调制解调器速度模拟。

如果“ppp 客户端”是 Windows,Windows 会坚持认为另一端是调制解调器。这意味着 Windows 总是会尝试在串行端口上发送“AT”命令,然后才开始通过串行端口与 ppp 对话。AT 命令在本地由调制解调器理解,但不是 ppp 的一部分。不用担心,Linux“ppp”支持“聊天”脚本可以按照 Windows 预期做出响应。

pppd下面是我在摆弄它时启动这一切的命令的摘录,你可以使用它作为模板并进行相应的替换:

pppd 115200 netmask $LOCAL_NET_MASK crtscts connect 'chat -v -f /etc/admin/network/winclient.chat' lock local ms-dns $LOCAL_IP ms-wins $LOCAL_IP persist proxyarp silent $PPP_IFACE_ADDRESS $TTY noauth

在 Linux 下,调制解调器通常通过串行端口连接,或者通过 PCI 卡或板载芯片组进行模拟(外部设备在 Linux 下工作得更好)。调制解调器实施 V.92 或任何实际上通过电话线发出声音的协议。

如果你想模拟这部分,你可以尝试软调制解调器。这将通过 JACK 进行音频输入和输出,并实际执行调制解调器应该执行的音频“调制/解调”部分(但我相信限制为 14Kpbs)。我无法在我的服务器上运行它,但我对 JACK(或服务器上除 PC 扬声器以外的实际音频设备)没有太多经验……

答案3

您需要将两个调制解调器与某种形式的电话交换系统连接起来。仅将它们硬接线在一起是不够的 - PSTN(电话系统)实际上通过电线为诸如振铃信号等提供电力。

不使用电话交换机所能实现的最接近的方案就是仅使用 Null Modem 电缆将两个串行端口连接在一起,从而省去实际拨号的环节。

相关内容