双向 IP 隧道

双向 IP 隧道

你好,网络专家

我从以太网出现之前就开始从事计算机网络工作了,所以我对网络、路由器、交换机、VPN 服务器等相当熟悉。但我并不是所有这些方面的专家。

我想将我家的网络连接到我兄弟家的网络。我的网络设置为 192.168.2.0/24,他的网络设置为 192.168.1.0/24,因此我们的网络已经独一无二,因此可以轻松路由,IP 号码不会重叠。

我家目前有一台 Wireguard VPN 服务器,运行在我家的 Raspberry Pi 上,他可以顺利连接到该服务器,并从安装了 Wireguard 的那台计算机访问我家的所有计算机。我也在同一个 Raspberry PI 上运行 OpenVPN,但目前没有使用它,因为 Wireguard 运行良好。在发现 WireGuard 之前,我们使用过 OpenVPN。

我想要使​​用 OpenVPN、Wiregaurd、iptables、上述的组合甚至是完全不同的解决方案来建立双向 IP 隧道。

我们会在两端使用专用的 Raspberry PI 来处理这个问题。我们的网络提供商可以轻松将端口转发到设备,这就是 VPN 服务器的工作方式。

目标是我们中的任何一个人都可以从我们所在位置的任何计算机访问另一个位置的任何计算机/设备。

我哥哥有一座大型天文台,里面有三架望远镜、三台相机,总共有十几台 Raspberry PI 运行着天文台和望远镜。我有 6 台 Raspberry Pi 和两台大型 SQL 数据库服务器。他一直使用家里的 SQL 服务器。

http://www.skychariot.com/dome.html去天文台看看 http://www.skychariot.com/gaia.html这是我在 SQL 数据库服务器上运行的众多程序之一。

任何帮助都将不胜感激。我找了好久,还是没找到关于如何做到这一点的很好的描述。

一旦我完成并运行它,我将记录它,把它放在我的服务器上,并使其他想要这样做的人可以使用该过程。

谢谢

基思·斯普劳尔([电子邮件保护]

答案1

我对这些事情知之甚少,但你永远不知道人们不知道什么,所以我要说的是,SSH 隧道是一种来回发送数据的安全方式。您需要确保数据库计算机未设置为忽略来自网关的数据库请求。在 Mac 上,我的实例中需要一个与钥匙串交互的插件。

当我知道我需要 SSH 隧道时,我找到了很多信息。方便的小工具!

解决了这个问题(如果这对于了解网络的人来说是显而易见的,请原谅我),当你说:

目标是我们中的任何一个人都可以从我们所在位置的任何计算机访问另一个位置的任何计算机/设备。

听起来你需要一些更强大的东西。

想要通过任何电脑或移动设备完全控制你兄弟的电脑,请查看

Parallels Access

当我研究更复杂的解决方案时,它就藏在我的眼皮底下,但现在却运行良好,只需每年 20 美元就可以完全访问最多 5 台计算机。

它速度快,设置起来非常简单,并且对机器上的本地用户来说不引人注目。

到目前为止,它运行得非常完美。我几乎没有遇到延迟,几乎没有。这就像你坐在远程机器前,无论你想连接到哪台电脑,iPad 上运行的都是你想要的,这真是太酷了。

该连接是 SSL 和 256 位 AES,没有任何数据(包括密码)被解密或存储在 Parallel 的服务器上。

我不知道我不知道什么,但我惊喜地发现它的效果很好,而且价格也很合理。如果你能从现场的电脑连接到设备,也许这可以行得通。

我希望这有帮助!

顺便说一句,你正在做的事情超酷!!

答案2

隧道从一开始就是双向的;与两个路由器(Pi 是路由器)之间的任何其他连接相比,它确实没有什么不同,WireGuard 中的“AllowedIPs=”数据包过滤器是唯一重要的区别(例如与以太网或 PPP 连接相比)。

  1. 在您网络的主网关上,通过 Pi 的 LAN 地址(即通过隧道网关)路由 192.168.1.0/24。在朋友的 LAN 网关上,需要添加通过他们的 Pi 到 192.168.2.0/24 的反向路由。

  2. 在两个隧道端点上,同样通过实际隧道接口 (wg0) 路由 192.168.1.0/24 或 192.168.2.0/24。如果您使用 wg-quick,它会根据 AllowedIPs 自动执行此操作。

  3. 最后,确保 iptables “转发”规则以及 WireGuard “AllowedIPs=” 允许数据包从一个网络到另一个网络并返回,即你这边的“朋友”对等条目需要允许数据包192.168.1.0/24 反之亦然。

(您还应该禁用 Pi 上当前存在的任何“伪装” iptables NAT 规则,或者至少确保跳过本地地址 - 您拥有的路由使得伪装变得不必要。)

相关内容