我正在尝试寻找一种解决方案来防止远程机器确定我的 Web 服务器的源 IP。这是为了隐藏 Web 服务器的实际 IP,从而帮助避免 DDoS 攻击。
传入请求已经在 HTTP 代理上,因此在这种情况下 IP 不可见,但我的传出连接(ping 和状态查询)会向攻击者显示源 IP。
本质上,我希望传出的 TCP 和 UDP 数据包通过远程节点(将执行 NAT)。然后,该节点将使用节点的 IP 转发数据包并接收任何响应,这些响应将被传回源计算机。
如果我也可以指定多个节点用于故障转移,那就太好了,但我不知道这是否可行。
如果使用了错误的术语,请原谅,因为我在这方面的了解有限。
编辑1
我添加了一些我想要实现的示例图像。
这是我现在所拥有的,攻击者可以从请求中追踪我的源 IP。 (全尺寸:http://puu.sh/25FNG)
这就是我想要实现的,其中源 IP 是隐藏的,并且如果一个节点受到攻击,它不会影响我的根服务器。 (全尺寸:http://puu.sh/25FR9)
答案1
如果您希望所有流量都进行 NAT(常见情况),则:1. 您必须与 nat-remote-node 位于同一 IP 子网,并且必须将工作站上的默认路由设置为 nat-remote-node 的 IP 地址。这可以通过多种方式完成,具体取决于您的操作系统。2. 在 nat-remote-node 上:iptables -t nat -A PREROUTING -s 您的 IP -o internet-faced-interface -j MASQUERADE
当然,我说的是最常见的情况!一切都取决于你的具体情况。
可以通过多种方式实现故障转移。如果您需要帮助,请提供更多信息。