绑定多宿主服务器上的应用程序的地址

我有一个多宿主服务器通过quagga运行bgp

如果我在启动连接的服务器上启动应用程序,默认情况下它将select具有最低度量的接口,即bgp路由器的邻居地址,这是不幸的,因为这些邻居地址甚至不可交付上游。

如果启动连接的软件无法绑定到特定的IP地址,是否可以通过其他方法将应用程序绑定到特定的IP? 调整指标以select接口对于dynamic路由来说似乎不可行。

如果没有别的办法可以的话,可以select在监狱里运行bgp并使用vnic

编辑

如果有人解释:我会奖励赏金。
这个怎么做。
如果在BSD中不可行,请解释如何在Linux上执行此操作。
为此提供一个权威的参考,为什么这是不可能的。

我们通常添加路由到服务器,告诉它下一跳是一个特定的IP地址。 它将使用下一跳位于同一子网中的卡。

你没有说什么操作系统,但我看到你的标签freebsd,所以我会假设。

你必须从根本上让freebsd的路由器添加静态路由。 欲了解更多细节,请访问freebsd.org使用此链接 。 以下信息是从那里。

30.2.2。 configuration静态路由的路由器

供稿人:Al Hoang。

如果FreeBSD系统是一个双宿主系统,可以将其configuration为networking的默认网关或路由器。 双归属系统是驻留在至less两个不同networking上的主机。 通常情况下,每个networking连接到一个单独的networking接口,虽然IPaliasing可以用来绑定多个地址,每个在不同的子网,到一个物理接口。

为了让系统在接口之间转发数据包,FreeBSD必须被configuration为路由器。 因特网标准和良好的工程实践阻止了FreeBSD项目默认启用此function,但是可以通过将此行添加到/etc/rc.conf来将其configuration为在启动时启动:

gateway_enable =“YES”#如果该主机是网关,则设置为YES

要立即启用路由,请将sysctl(8)variablenet.inet.ip.forwarding设置为1.要停止路由,请将此variables重置为0。

路由器的路由表需要额外的路由,所以它知道如何到达其他networking。 可以使用静态路由手动添加路由,也可以使用路由协议自动学习路由。 静态路由适用于小型networking。

有关configuration示例和更多详细信息,请访问freebsd.org上的链接