连接私有 IP
Posted
技术标签:
【中文标题】连接私有 IP【英文标题】:Connecting private IPs 【发布时间】:2010-09-07 20:01:51 【问题描述】:我的一个朋友告诉我,有一种方法可以在不使用代理服务器的情况下连接两个私有 IP。这个想法是两台计算机都连接到公共服务器以及服务器如何加入私有连接并且不会使用更多带宽。
这是真的吗?这种技术是怎么命名的?
【问题讨论】:
【参考方案1】:有一种称为“Hole Punching”的技术可以很好地与“Cone”NAT(Cone 是路由器的技术家族)配合使用。这不是 100% 确定的技术,今天,它在大约 80% 的路由器上与 UDP 配合良好。
有一些实现打孔的库:STUN (wikipedia)
【讨论】:
【参考方案2】:这是真的。这就是FogCreek Copilot 的工作方式
查看 Joel 的 Copilot 2.0 post 上的第 2 项。
【讨论】:
【参考方案3】:您的朋友可能指的是 VIP(虚拟 IP)。据我了解,VIP 通常由诸如路由器之类的硬件控制,然后重定向到您的 2 个私有 IP 之一。我们将它与 VIP 后面的一组机器一起使用。我不是网络人,所以这几乎是我的知识范围。
【讨论】:
【参考方案4】:如果您正在考虑加入两个专用网络(NAT 后面的两个机器网络),最好的方法是使用***。有许多设备可用于完成此任务。
【讨论】:
【参考方案5】:我不确定这是您的想法,但您可以使用 ssh 隧道做类似的事情。假设您希望 10.1.2.3/24 上的 userA 连接 192.168.0.3/24 上 userB 上的 mysql 服务器。两个网络之间没有直接的网络连接,但两台机器都可以连接到公共互联网上的服务器 A。
userB 运行此命令:
ssh -R localhost:13306:localhost:3306 username@serverA
userA 运行此命令:
ssh -L 3306:localhost:13306 username@serverA
现在用户A可以使用他们喜欢的任何工具连接到本地主机上的mysql,cxn将通过serverA和用户B机器上本地主机上运行的mysql守护进程建立隧道。
(希望没有错别字,我抱着两天大的女儿用一只手打字=))
【讨论】:
以上是关于连接私有 IP的主要内容,如果未能解决你的问题,请参考以下文章
具有私有 IP 的 AWS Gitlab Autoscale 运行器,不想启用公共 IP
如何使用私有IP在两个项目之间共享Google Cloud SQL实例?
无法通过 Site-to-Site *** 和 DMS 源数据库端点测试连接从本地 ping DMS 复制实例的私有 IP