如何编写无需任何路由器配置即可在 NAT 后工作的服务器

如何编写无需任何路由器配置即可在 NAT 后工作的服务器

我有两台机器A和B:

A:客户端(NAT 后面)

B:服务器(NAT后面)

例如,我希望“B”能够监听端口 8080,这样“A”就可以通过特定的 @ip:8080 向“B”发送数据包。Skype、MSN 无需事先配置即可运行...

有什么建议吗?

答案1

这些应用程序通过发送数据包(通常是 UDP)来“打开防火墙的漏洞”。如果流量是从防火墙后面发起的,大多数防火墙/路由器都会打开端口进行通信。

Skype 的工作原理如下(减去专有加密):您安装它,它会自动在防火墙上随机打开一个漏洞以连接到另一个节点,一旦建立该连接,它会将该端口号记录为本次会话的活动端口,就这样。

PS-您是否正在尝试开发应用程序? StackOverflow。

答案2

为了做到这一点,您需要:

  • B 的网络管理员在 B 的防火墙上实施端口转发规则,或
  • 另一台服务器 C 位于两个 NAT 之外,它可以监听公共 IP 地址上的传入连接,并充当两者之间的网关。

如果两个端点都在各自的 NAT 后面,则没有管理员愿意进行端口转发任何事物并且没有任何外部服务器愿意弥补这一差距,恐怕您没有选择了。

相关内容