使用 GRE 隧道(或 NAT?)下的 IP 进行虚拟化

使用 GRE 隧道(或 NAT?)下的 IP 进行虚拟化

嗯,这是我遇到的情况:

我有一台来自 OVH 的专用服务器和一台来自另一家公司的专用服务器,因为 OVH 服务器(游戏类别)的最大 RAM 是 64Gb,而我需要更多,所以我想建立一个 GRE 隧道(或者 NAT 隧道?我猜?我不知道我在另一个网站上看到过这个)以便在另一台专用服务器上使用实际分配给我的 OVH 服务器的 IP,这样我就可以使用这些 IP 对其进行虚拟化,说得清楚一点:

我有受 DDoS 保护的服务器 1,以及根本没有受保护的服务器 2。

任务是:在服务器 2 上使 VPS 受到 DDoS 保护。

为了做到这一点,我需要使用分配给服务器 1 的 IP,我应该使用哪种类型的隧道来做到这一点,以及如何使用(因为即使你告诉我隧道类型,我猜我对它也是完全陌生的,所以如果可以的话请链接一个指南)?

提前致谢!

问候。

答案1

如果在服务器前面的设备上实施了 DDoS 保护,那么如果您有 2 个 Linux 机器,您可能可以使用 GRE 或 IPIP 隧道。IPIP 隧道仅适用于 Linux 操作系统(而 GRE 更具互操作性,即与 cisco 一起使用),更重要的是 ipip 隧道仅适用于单播数据包。广播不会被发送。

如果您安装了最新的内核和 iproute2 包,这真的非常简单。为了创建隧道,您需要在隧道的两端(服务器 1 和服务器 2)创建一个虚拟接口。类似下面的代码应该可以工作:

root@server1:~$ ip tunnel add tunnel0 mode gre remote server2_ip
root@server1:~$ ip link set dev tunnel0 up
root@server2:~$ ip tunnel add tunnel0 mode gre remote server1_ip
root@server2:~$ ip link set dev tunnel0 up

然后确保 server1 没有配置要分配给 server2 的 IP 地址,并在 server1 上添加一条路由以加入 server2 IP:

root@server1:~$ ip r a ovh_ip dev tunnel0

并将IP添加到server2

root@server2:~$ ip a a ovh_ip/32 tunnel0

此时,server1 应该能够在 server2 上 ping ovh_ip。

然后,您需要将 server1 配置为路由器,以使 ovh_ip 可从互联网上的任何地方访问。但是,使用这种简单的配置,请注意 server2 上的路由是不对称的,进入 ovh_ip 的数据包将通过接口 test0 进入(因此 hoster2 路由器将看到 GRE 数据包),而响应数据包将通过 server2 默认网关路由(hoster2 路由器将看到常规 IP 数据包)。这可能会导致某些防火墙甚至 Linux rp_filter 保护出现问题。确保这不是问题。如果这是一个问题,您必须通过在数据包通过 server1 上的隧道 0 时添加额外的源 NAT 来使路由对称。

我希望它能有所帮助

相关内容