两台机器之间的点对点连接,每台都位于双重 NAT 之后

两台机器之间的点对点连接,每台都位于双重 NAT 之后

我在澳大利亚,使用 KOGAN 作为移动数据提供商。我可以使用其他提供商,但我不知道这是否能解决我的问题。

简而言之,我的设置是:

PC1 (AUDIO Transmitter):
IP 192.168.8.100
GW:192.168.8.1
4G modem 1:
LAN IP: 192.168.8.1
WAN IP: 10.230.208.90
WAN GW IP: 10.230.208.89

如果我检查 PC1 的“whatsmyip”,我会得到 120.16.82.177(动态,随时间变化)

PC2 (AUDIO receiver):
IP 192.168.1.50
GW:192.168.1.1
4G modem 2:
LAN IP: 192.168.1.1
WAN IP: 10.239.18.67
WAN GW IP: <not shown by my 4G modem ...>

如果我检查 PC2 的“whatsmyip”,我会得到 120.16.32.42(动态,随时间变化)

因此,两台计算机都位于双 NAT 之后;到目前为止,一切都清楚。

我显然无法直接控制 KOGAN(移动数据提供商)的路由器/防火墙,而且上周发送的电子邮件到目前为止还没有答复,显然我可以完全控制我自己的 4G 路由器,我可以在其中设置端口转发等等,但这行不通,因为 KOGAN 的路由器中没有 PF。

我偶然发现了 PWNAT,它看起来能够在 PC1 和 PC2 之间建立直接链接。

但我无法弄清楚在我的具体情况下应该如何使用 PWNAT。

我想要实现的是在两台机器上运行 VLC;一台机器发送音频 UDP 流到另一台机器,另一台机器也使用 VLC 接收它。

在传输电脑上我将运行:

vlc music.mp3 :sout=#udp{dst=120.16.32.42:1234} :no-sout-all :sout-keep

在接收方,只需

vlc udp://@:1234

就目前情况而言,当我的 UDP 数据包到达 120.16.32.42:1234 时,它们会被丢弃(我想),故事就结束了。

那么,如何才能实现这一点呢?

注意:我们的目标是实现尽可能低的延迟/等待时间;这就是我使用同一提供商的两个 4G 调制解调器的原因。这样我就可以使用最短的本地路由。

答案1

我假设您尝试使用 10.0.0.0/8 IP 地址,但它们在您的 ISP 网络内不可路由?

我从未使用过 PWNAT,但它看起来真的是一款巧妙的工具。看起来您可能运行的命令是...

Server side allowing anyone to proxy:
  ./pwnat -s
  vlc music.mp3 :rtp={sdp=rtsp://:1234/} :no-sout-all :sout-keep

Client wanting to connect:
  ./pwnat -c 21234 120.16.82.177 192.168.8.100 1234
  vlc rtsp://localhost:1234

除了目前可用的选项之外,我认为下一个最佳选择是在附近某个有可用公共 IP 的地方设置 VPN 服务器,并将两台机器连接到该服务器。您的延迟会受到影响。

相关内容