【发布时间】:2017-02-24 05:54:41
【问题描述】:
我想将来自 Linux 机器的所有传出 HTTP 请求路由到可以处理请求的远程系统。如何在 Linux 中实现这一点?我只想路由 HTTP 请求。并非所有网络流量。谢谢
【问题讨论】:
我想将来自 Linux 机器的所有传出 HTTP 请求路由到可以处理请求的远程系统。如何在 Linux 中实现这一点?我只想路由 HTTP 请求。并非所有网络流量。谢谢
【问题讨论】:
例如,您可以使用 iptables。但是,您需要确定如何将所需的 HTTP 请求与您提到的其他“WEB 流量”区分开来。首先,您可以使用目标主机(以及源主机)的端口号或 IP 地址。
或者(取决于你的软件),你可以教你的工具如何使用代理来重新路由 HTTP 请求。
我知道的最后一个选项是,你需要为 ip filter 编写一些内核模块,它可以查看你的包内部并进行路由。
更新:是的,您还可以在 /etc/hosts 中替换相关域名或通过其他方式让您的客户端透明地连接到您想要的 IP 地址,而不是根据 HTTP 请求的真实 IP 地址。但在这里你应该记住,如果你的网络客户端有重定向或链接到另一个主机名,你还需要替换它们,否则对它们的请求将直接发送而你不会捕获它们。
【讨论】: