WireGuard:如何通过隧道将 VPS PUBLIC IP 流量路由到家庭路由器/防火墙,以实现面向公众的自托管服务?

WireGuard:如何通过隧道将 VPS PUBLIC IP 流量路由到家庭路由器/防火墙,以实现面向公众的自托管服务?

WireGuard:如何通过隧道将 VPS PUBLIC IP 流量路由到家庭路由器/防火墙,以实现面向公众的自托管服务?

这是一个多么漫长又罗嗦的问题啊。

长话短说:在我现在的 ISP 工作了 10 多年之后,我将搬到一个最近刚刚由新崛起的 ISP 布线宽带的区域,这要归功于“Build Back Better”。这个新的 ISP 只向企业帐户出租公共 IP。讽刺的是,值得庆幸的是,ISP 确实允许托管住宅帐户。

想要避免动态 DNS 服务,因此我在云中设置了一个 VPS,以通过隧道将我的家庭实验室中选定的虚拟机和服务公开到互联网。

对于我当前的 ISP,我在本地路由器/防火墙上使用 5 个 1:1 NAT 和别名的块。

当我采取行动时,我希望使用我当前的路由器/防火墙,对其配置进行最小的更改,并能够利用我现有的防火墙规则以及恶意和列入黑名单的 IP 阻止实用程序。

尝试使用 Linux 和 WireGuard 配置 VPS,并创建从我的家庭实验室路由器到 VPS 的隧道。 VPS 是 WireGuard 服务器,家庭路由器/防火墙是 WireGuard 对等点。

设想:家庭实验室有一个自托管网站,本地 IP 为 192.xxx.30.xxx,面向公众的 IP 地址为 123.456.789.002,位于基于云的 VPS 上。 VPS 通过 WireGuard 隧道连接到家庭实验室路由器/防火墙。

如何配置 VPS 将公共 IP 关联的流量通过隧道传输至家庭实验室路由器/防火墙,以便家庭实验室路由器/防火墙可以处理流量并路由到正确的虚拟机和服务?

然后,该流量如何通过隧道返回到原始请求者并从 VPS 流出。

笔记本电脑和智能手机等本地家庭实验室设备的流量如何在不使用隧道的情况下到达互联网?

如果能找到分步教程就太好了。

WireGuard 家庭实验室图

答案1

有很多内容需要阅读,但据我了解,您可以将路由器/固件分为两个虚拟路由器功能(VRF)。图中一“水平”代表VM-VPS,一“垂直”代表本地网络-互联网。

在我看来,这就像教科书上的 VRF 场景。 VRF 是Linux 中支持以及硬件路由器(我最近没有使用过)。

或者,您可以使用基于源的策略路由。您可以根据以下条件设置默认路由:源地址。例如:

ip rule add from 192.xxx.20.yyy/24 table 10
ip route add default via <your-wps-gw> table 10

同时保留您的 LAN 到 Internet 的“正常”默认路由。 “your-wps-gw”可以是 WireGuard 隧道的端点。

相关内容