Networking 从不同的LAN连接两个实体,无需额外配置

Networking 从不同的LAN连接两个实体,无需额外配置,networking,tcp,network-programming,client-server,Networking,Tcp,Network Programming,Client Server,这似乎是一个幼稚的问题,因为大学时代的计算机网络知识在这些年里几乎消失了,但在我接触到一本与这个主题相关的书之前,我想知道有哪些更有经验的人知道这一点 基本上,我希望能够将客户端(C)连接到位于不同LAN中的远程服务器,而无需向其间的任何路由器添加特殊规则(例如端口转发) 我知道有些应用程序(TeamViewer)使用代理服务器将客户机连接到远程机器,但我不知道它们之间的所有通信是否都通过代理服务器 对于我的用例,我只会将这样的服务器用于对等点的初始发现(更确切地说是由C发现S),然后流量将通过

这似乎是一个幼稚的问题,因为大学时代的计算机网络知识在这些年里几乎消失了,但在我接触到一本与这个主题相关的书之前,我想知道有哪些更有经验的人知道这一点

基本上,我希望能够将客户端(C)连接到位于不同LAN中的远程服务器,而无需向其间的任何路由器添加特殊规则(例如端口转发)

我知道有些应用程序(TeamViewer)使用代理服务器将客户机连接到远程机器,但我不知道它们之间的所有通信是否都通过代理服务器

对于我的用例,我只会将这样的服务器用于对等点的初始发现(更确切地说是由C发现S),然后流量将通过C直接发起的连接流向S

这样的方法可能吗?
谢谢大家!

不幸的是,如果这些设备位于被互联网隔开的网络中,那么第一个障碍就是RFC1918。为了连接到专用IP,您必须使用某种级别的NAT。要实现这一点,需要在两个网络之间建立一个VPN连接,就像两个网络彼此都是本地的一样进行有效连接。请注意,为了避免在这种情况下进行任何NAT配置,需要专用网络使用不同的子网IP

在询问此问题后,我进行了更多思考,并意识到仅通过了解网络的外部IP地址和端口无法访问专用网络中的计算机。这真的没有意义,因为连接网络的路由器必须有一个规则来知道在哪里转发数据包。正如你所说,这不是VPN就是NAT规则。就我而言,我认为我不得不坚持第二条。谢谢你的回答。在深入研究之后,我最终使用了zeroconf,这正是我首先需要的。