cmd – 如何为特定应用程序强制传出ip? ForceBindIp似乎不起作用
我有一个专用的 Windows 2012服务器,有12个专用IP.
我希望能够从我选择的两个不同的ips同时建立连接.
这将用于两个不同的浏览器应用程序.
我尝试过以下方法:
ForceBindIP %IP_ADDRESS% %APP_EXE%
但是IP没有改变,浏览器总是显示我添加范围内的最低IP.
我还尝试了一个删除所有ips的脚本,然后只添加一个.
netsh interface ipv4 delete address "Ethernet" 104.251.111.110 netsh interface ipv4 delete address "Ethernet" 104.251.111.111 netsh interface ipv4 delete address "Ethernet" 104.251.111.112 netsh interface ipv4 delete address "Ethernet" 104.251.111.114 .... netsh interface ipv4 add address "Ethernet" 104.251.111.115 255.255.255.0
这改变了地址但我最终只为这两个应用程序提供了一个IP.
如果您打算使用的应用程序不支持绑定到interfaces / ip(true,这是不常见的),您可以使用SOCKS或代理软件(这是更常见的,尤其是浏览器).
例如,你可以安装WinGate或Squid http://www.squid-cache.org(这是我最熟悉的).
Squid-Cache能够根据规则绑定到不同的传出地址(http://www.squid-cache.org/Doc/config/tcp_outgoing_address/).
基本上你需要做的是:
安装鱿鱼
为环回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配置以允许外部连接,这可能是扩展的一大优势.
本文来自博客园,作者:SGTeam,转载请注明原文链接:https://www.cnblogs.com/g9st/p/14568171.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现