将请求redirect到外部IP到本地主机(模拟服务器)

我有一个应用程序(无源代码)调用服务器(硬编码的IP),并期望在开始之前的答案(一种login)。

导致服务器下降一半的时间,我想创build一个虚拟服务器,将模拟官方服务器的行为。

我的问题:

如何将stream量redirect到本地机器?

我想所有的请求发送到IP wxyz被重新路由到本地主机 (我的虚拟服务器正在运行)

更多信息:

  • 我的虚拟服务器是一个Apache / PHP的解决scheme。
  • 我尝试用hex编辑器在应用程序中编辑硬编码的IP,但是启动应用程序时一些校验和失败。
  • 导致IP在应用程序中被硬编码,我不能使用hosts文件。
  • 我正在运行WIN XP。

相关: 如何在Windows Server 2008上将stream量redirect到一个IP到不同的IP

这将是一个彻头彻尾的黑客,但你可以尝试分配的服务器的IP作为一个额外的IP本地接口, 这里的说明

那么,你可以尝试以下几点:

为该IP地址设置一个特定的路由,它将使用虚拟服务器作为网关,如下所示:

  route add -host wxyz / 32 gw dummy-server-ip 

为此,您需要访问您的networking主路由器,或者您必须在发送请求的计算机上执行此操作。 这有效地将具有wxyz IP地址的TCP分组发送到虚拟服务器的MAC地址。 所以现在你需要确保虚拟服务器知道如何处理它们。

然后将wxyz IP地址作为辅助地址添加到虚拟服务器。
最后更新虚拟服务器上的apacheconfiguration,以确保它也监听wxyz地址,并确保虚拟服务器上的虚拟主机接受传入的IP地址和域名请求。

请注意,这只有在请求的机器和虚拟服务器之间没有其他路由器的情况下才能工作。 如果涉及到防火墙,还需要更新。

你可能可以用iptables把东西放在一起。 这是我曾经使用过的东西,但我不再给你一个提示:

*nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A PREROUTING -d 172.16.25.202 -i eth0 -p tcp -m tcp --dport 25 -j DNAT --to 172.16.27.59:8025 -A POSTROUTING -o eth0 -j MASQUERADE COMMIT 

注意:很久以前我做了这个,可能会有错误

我看到的唯一可能是一个问题是它是特定的接口。 我认为eth0只是入站部分,所以使用lo接口(127.0.0.1)上的IP作为目标可能仍然工作…