Linux(Ubuntu 12.04)两个网关之一

我有Ubuntu 12.04服务器版

两个网关,都在192.168.0上。 networking,让我们让他们192.168.0.1和192.168.0.2

我读过你应该能够添加第二个网关到/ etc / network / interfaces,它会自动build立所有的路由,但我得到“重复选项”的错误。

所以如果我有一个默认网关,比方说0.1,并且从0.2网关通过一个连接,我的理解是它仍然试图通过0.1网关进行响应。

我们可以改变这种行为吗?

您需要一种方法来区分数据包进入哪个网关,以便将响应路由出正确的网关。 这通常是通过主机上有多个IP地址,并使用源策略路由select基于响应数据包的源地址的网关来完成的。 我假设网关是独立的互联网连接,并且传入的连接正由网关进行DNAT(或端口转发)。 您需要将其他IP地址绑定到本机,并将网关configuration为DNAT到不同的地址,以便机器可以区分不同的地址。

你需要策略路由。 在你的情况下可以做的一个方法是“保存”传入网关的信息。 我用了很多次的解决scheme来标记基于mac地址的连接,并根据标记路由出去。 你可以像这样设置尽可能多的网关,像魅力一样工作。 编辑:更具体地说:根据MAC地址connmark传入的新数据包,标记传出的数据包基于connmark标志,使用标记将传出数据包指向该网关的特定路由表。 (请参阅iproute2)。