第一个问题在这里,所以请容易:
我有一个debian Linux 5.0服务器与两个公共接口。 我想通过一个接口从应用程序的一个实例路由出站stream量,通过第二个接口路由第二个实例的出站stream量。 有一些挑战:
我可以运行两个虚拟化的服务器,并绑定到不同的接口,但我正在寻找一个更简单的解决scheme,也许使用iproute或iptables?
任何想法对我? 在此先感谢 – 我很乐意回答任何问题。
你看过iptables中的owner模块,可能与源NAT规则结合?
这使您可以根据UID,GID,PID,SID和命令名称设置OUTPUT链规则。
我相信最好的select是将每个应用程序绑定到不同的IP,并使用基于源的路由来更改来自该源IP的接口数据包。
一般的想法是你可以创build多个并行路由表('ip route'有一个可选的'表'参数)。 然后,你添加一条规则,说:“如果它来自IP [xxxx],然后使用表[foo]”。
所以:
我没有具体的testing这些例子,但是我以前用过类似的方法。
在linux中支持将应用程序绑定到特定的IP(例如由Apache使用)。 如果你的应用程序不支持这个,你是不幸的。
我不知道任何Linux内核模块(因为这是你所需要的),即使它试图绑定到一个接口,将特定的应用程序绑定到接口。 使用虚拟机是一种可能性。
以太网接口绑定( http://www.cyberciti.biz/howto/question/static/linux-ethernet-bonding-driver-howto.php )是我可以根据您的要求提出的最接近的东西, 。 但是,那么你只能在同一个ip的多个接口上运行应用程序的一个实例。