我在CentOS 5 x86_64
中使用IP别名。为简化此示例:IP地址A
是eth0
地址,IP地址B
是eth0:0
地址。我有2个Apache实例(版本2.2.3),每个实例都在侦听不同的IP地址 - 第一个Apache实例正在侦听A
IP地址,第二个实例正在侦听B
IP地址。如果Apache B
想要调用服务器外部的某些外部服务,请求总是会使用A
源IP(接口的主IP地址)。
问题是:我可以强制Apache以B
的IP作为来源发出请求吗?请记住,两个Apaches的请求的目标地址始终相同。我知道,对于不同的目的地,我可以使用“ip规则”使其有效。
提前致谢, 米甲
答案 0 :(得分:0)
如果你使这两个Apache实例在不同的-m owner --uid-owner ...
值下运行(参见uid
或iptables-extensions(8)
),那么你可以将iptables与iptables(8)
一起使用区分数据包,然后用你的ip规则检查标记。这是一种不需要应用程序本身支持的通用方法。
当然,如果支持这样的配置,应用程序可以bind(3p)
到本地地址。