如何为特定应用程序强制传出ip? ForceBindIp似乎不起作用

时间:2017-03-31 12:11:21

标签: cmd proxy routing ip windows2012

我有一个专用的Windows 2012服务器,有12个专用IP。

我希望能够从我选择的两个不同的ips同时建立连接。

这将用于两个不同的浏览器应用程序。

我尝试了以下内容:

platforms/android-9/arch-arm/usr/include/asm/signal.h

但IP无法更改,浏览器始终显示我添加范围内的最低IP。

我还尝试了一个删除所有ips的脚本,然后只添加一个。

ForceBindIP %IP_ADDRESS% %APP_EXE%

这改变了地址但我最终只为这两个应用程序提供了一个IP。

2 个答案:

答案 0 :(得分:2)

如果您打算使用的应用程序不支持绑定到interfaces / ip(true,它不常见),您可以使用SOCKS或代理软件(这是更常见的,尤其是浏览器)

例如,您可以安装WinGate或Squid http://www.squid-cache.org(这是我最了解的那个)。

Squid-Cache可以根据规则(http://www.squid-cache.org/Doc/config/tcp_outgoing_address/)绑定到不同的传出地址。

基本上你需要做的是:

  • 安装Squid
  • 为环回IP映射添加ACL,例如:
      acl IP110 src 127.0.0.1/32
      acl IP111 src 127.0.0.2/32
  [...]

      tcp_outgoing_address 104.251.111.110 IP110
      tcp_outgoing_address 104.251.111.111 IP111
  [...]
  • 默认,这是正式需要的:
  tcp_outgoing_address 104.251.111.110

然后,每个应用程序都需要配置一个代理(或SOCKS,如果你这样做),这是一个最常用的配置选项。在代理配置上设置相应的本地IP:

  • 使用IP .111进行传出连接,使用127.0.0.2上的代理
  • 用于使用IP .110的传出连接,在127.0.0.1上使用代理
  • ..等等。

确保Squid(或WinGate)绑定到localhost 127.0.0.1/24,因此您不应该有很大的安全问题,但如果这在Internet上公开,您可能还是想进行安全评估。

这样一来,如果你决定远程卸载某个应用程序到其他服务器,你仍然可以设法使用相同的传出IP,你只需要更改squid配置以允许外部连接,这可能是一大优点用于缩放。

答案 1 :(得分:1)

看起来您正在寻找一个很少涉及浏览器应用程序的修复程序。假设您使用IIS来提供应用程序,您应该:

  • 使用文件资源管理器或命令行,将应用程序配置软链接到浏览器应用程序的每个实例的另一个根文件夹中。
  • 使用IIS,将应用程序重新创建为上述每个浏览器应用程序文件夹的站点。
  • 使用IIS,将浏览器应用程序的每个实例绑定到您希望为其提供服务的IP地址。

警告:对所有实例使用相同的应用程序池很诱人,但之前要评估您的硬件!请记住(根据应用程序要求),您在使用单个应用程序池时会创建单点故障。创建具有相同参数的单独应用程序池以降低此风险。