如果您可以控制您的家庭路由器(NAT 路由器)并能够将端口转发设置到您自己的内部网络中的计算机/设备,这是可能的。许多家用路由器都有这个选项。实际上,您必须与您的朋友就要使用的端口达成一致,然后让彼此知道您家庭路由器的公共 IP。
我说端口是因为根据您要使用的应用程序/协议,您可能需要多个端口(例如,一个用于信令协议,一个用于音频流,一个用于视频流——这对于具有会话发起协议的 VoIP 来说很常见/啜)。如果你想要一个多方网状电话会议,你需要更多的转发端口。
您还需要配置您的聊天应用程序以使用转发流量的端口。一些 SIP 客户端应用程序允许这样做。
然后是关于家庭路由器公共 IP 的对等点之间的分配。有动态 DNS 选项,家庭路由器可以在每次更改时将新 IP 推送到动态 DNS 服务器。这当然是具有此功能的归属路由的问题。但这可以考虑将元数据提供给第 3 方。也许有些应用程序可以定期相互 ping 并在从不同 IP 检索时更新,为了安全起见,必须设置一些身份验证以确保数据包来自您信任的朋友。
但是,如果您或您的朋友不精通技术,则处理上述所有问题可能会很复杂。在这种情况下,我宁愿租一个便宜的云虚拟机 (VM),有很多选择低于 10 美元/月,并运行自己的开源聊天/语音/视频会议系统实例,例如 Jitsi Meet、Matrix/ Element、RocketChat 或 Mattermost,仅举几例。许多人提供易于运行的 Docker 映像,并且它们通常可以自动使用 Let's Encrypt 获取 TLS 证书并提供良好的隐私和安全通信。还需要购买一个域以使其与 Web 浏览器一起使用。
第二种变体是使用云虚拟机服务器创建一个加密的 VPN(虚拟专用网络),其中包含一些开源解决方案,如 OpenVPN 或 WireGuard。然后每个朋友都会连接到VPN,你们就像在本地网络中一样,可以使用任何聊天应用程序,而无需关心更改家庭路由器IP。