1

我在我的CentOS 5 x86_64. 为了让这个例子简单一点:IP地址A就是eth0地址,IP地址B 就是eth0:0 地址。我有 2 个 Apache 实例(版本 2.2.3),每个都在侦听不同的 IP 地址 - 第一个 Apache 实例正在侦听AIP 地址,第二个实例正在侦听B IP 地址。如果 ApacheB想要调用服务器外部的一些外部服务,请求总是使用A源 IP(接口的主 IP 地址)发出。

问题是:我可以强制 Apache 以B的 IP 作为源发出请求吗?请记住,请求的目标地址对于两个 Apache 来说总是相同的。我知道对于不同的目的地,我可以使用“ip 规则”来使其工作。

在此先感谢,米哈尔。

4

1 回答 1

0

-m owner --uid-owner ...如果您让这两个 Apache 实例在不同的uid值下运行(请参阅iptables-extensions(8)或),您可以使用 iptablesiptables(8)并使用 MARK 目标来区分数据包,然后使用您的 ip 规则检查标记。这是一种不需要应用程序本身支持的通用方式。

如果支持这样的配置,应用程序当然可以bind(3p)到本地地址。

于 2013-10-14T14:24:14.340 回答