我想重现旧的拨号体验,但无需实际拨打电话提供商的拨号号码。所以我想,也许一台 Linux 机器可以托管 ppp 服务器并通过 RJ11 线接受来自 Win98 机器的拨号呼叫并与其共享 Internet 连接。这可能吗?
答案1
你可以使用电话线模拟器(一种向设备提供电话运行电流的设备)来实现这一点。贾格斯豪斯有一篇文章详细介绍了如何构建它们。
通过谷歌快速搜索还发现预建的、可商用的模型如果你不倾向于 DIY,那么可以使用同一设备。
线路模拟器应该复制两部电话通过传统电话线连接的效果,并允许您使用 AT 命令在两部电话之间进行通信。
答案2
ppp
Linux一直以来都支持。您运行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 电缆将两个串行端口连接在一起,从而省去实际拨号的环节。