OpenBSD路由问题

我正在networking设备硬件上运行OpenBSD。 它有5个网卡。

我想给不同的IP在同一个子网3尼克斯。 例如:

em0:192.168.1.5 em1:192.168.1.90 em2:192.168.1.56

我使用ifconfig进行必要的configuration,当所有以太网端口插入交换机时,所有接口都按预期工作。 但是路由有问题。 如果我通过任何服务(http,smtp等)连接到192.16.1.5,stream量将通过链路#3。 如果我从em2中拔出电缆,则无法将IP绑定到设备上。 有没有什么办法在这个IPconfiguration中通过不同的链接路由stream量?

任何理由,你需要有3 ips 3个单独的尼克斯? 你可以使用netstat -rn来查看所有的路由表,但是通常情况下这是不行的。

你的交换机是否支持LACP或类似的? 如果你可以build立一个LACP组,把所有的3个接口放在里面,然后把1个IP分配给这个链路,其他的IP分配给别的。

你想要的是基于策略的路由 。

我猜测你有默认的gw设置为em2设备。 因此,当该链接closures时,任何针对em0 / 1的stream量将默认为em2,然后不可用。

确保到达em0 / 1的stream量通过每个相应的设备路由回来,你应该是好的。

你有一个不对称路由的情况。 iproute 2也许能够帮助你。 如果你真的不能用一个ip来使用通道绑定解决scheme,那么请阅读以获取更多信息。

http://www.linuxjournal.com/article/7291

如果你正在寻找更多的吞吐量/带宽比单个网卡可以给你有几种方法来做到这一点。 最简单的方法是在端口通道(LACP)中组合NIC,或者将每个接口放在不同的IP子网中。 他们给你什么?

–Port通道 – Pro:1个大容量虚拟网卡Con:直连设备必须支持Port-channel的configuration选项,并且必须是相同的types,因为有几种不同的types。

– 不同的IP子网 – Pro:不需要端口通道支持的设备(低成本,无处不在)Con:需要IP路由器将数据包从一个子网路由到其他子网。

如果您select第二个选项是因为您拥有低成本的基本交换机,那么大量使用设备必须放置在不同的子网上,以保持stream量分离。 低成本的交换机很难帮助您确定地完成这项任务。 如果您有多个低成本交换机,则可以为每个子网使用一个交换机,并将该设备用作路由器。

你在OpenBSD(在sysctl.conf中是ip.forwarding = 1)还是在其他设备上打开了路由? 我无法从给出的信息中分辨出来。

那么,你的设备插入什么开关/设备? 它支持哪些function?

如果它支持VLAN和基本的IP路由,那么子网是一个选项。 这意味着您可以在交换机/路由器上configuration路由,您的设备不需要这样做。 您为每个子网设置一个VLAN,交换机上每个子网的路由器IP地址,并在每个子网上的设备上放置一个不同的接口。

如果您的交换机/设备支持端口通道,并且可以使其工作,那么最有可能不会成为连接设备的瓶颈(除非实际上是过时的)。 您不要告诉我们为什么您需要专门运行多个NIC。

你不会说为什么你这样做,但是如果你这样做是因为有多个客户使用相同的IP地址范围,你需要使用路由表ID来处理这个情况。 路由表上的详细信息的人路由。