GRE 隧道/根据用户尝试访问的域路由流量

GRE 隧道/根据用户尝试访问的域路由流量

想象一下这种设置。5 台服务器。1 台服务器将作为“前端”,所有流量必须先经过它,然后才能到达其他 4 台服务器。

我不想让人们知道其他服务器的 IP,所以无论何时他们 ping 或 traceroute 或进行其他操作,他们都会被困在服务器 1 上。

我为什么要这样做?我正在考虑从一家可靠的公司购买一台受 DDOS 保护的服务器,但由于过滤 IP 很昂贵,我只想使用 1 个 IP。

我在想是否可以制定这样的路线,如果流量试图访问服务器 02 上的 domain2.com,则将其重定向到 xxx.xxx.xxx.002,如果流量试图访问服务器 3 上的 domain3.com,则将其重定向到 xxx.xxx.xxx.003 等等。

我知道我可以使用 GRE 隧道将流量从服务器 1 重定向到其他 4 个服务器。但我不知道如何以上述方式分离流量。我想“也许使用“iptables”,但我不确定是否只使用 iptables 就可以做到这一点,我也不知道如何使用 iptables 来实现。

可以做这样的事吗?

答案1

除非您实施第 7 层过滤,否则 Iptables 没有可用于此目的的有用机制。您必须为每个站点编写自己的自定义过滤器,并在标头上进行匹配Host:。这有一个非常明显的缺点,即它不能与 SSL 配合使用,而且这是使用 iptables 可以执行的最慢的操作之一。

最好在该主机上配置一个反向代理,从内部将各个站点的 DNS 名称解析为其后端 IP(您可以使用 /etc/hosts 轻松完成此操作)。

相关内容