网络接口绑定,从属接口也可以分配IP地址吗?

网络接口绑定,从属接口也可以分配IP地址吗?

我目前有 2 个 gbit 网络接口绑定为 bond0。是否也可以为从属接口 eth0 和 eth1 分配 IP 地址,并将流量直接路由出其中一个,就像它们未在绑定设置中被从属时一样?

我正在使用balance-alb绑定模式,并且eth1接口与bond0共享一个mac地址。

ifconfig如下:

bond0     Link encap:Ethernet  HWaddr 00:1e:c9:b8:61:3e  
          inet addr:x.x.x.x  Bcast:x.x.x.255  Mask:255.255.255.0
          inet6 addr: fe80::21e:c9ff:feb8:613e/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:27055 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1181 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1764025 (1.6 MiB)  TX bytes:96662 (94.3 KiB)

eth0      Link encap:Ethernet  HWaddr 00:1e:c9:b8:61:3c  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:11258 errors:0 dropped:0 overruns:0 frame:0
          TX packets:506 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:723893 (706.9 KiB)  TX bytes:33394 (32.6 KiB)
          Interrupt:16 Memory:f8000000-f8012800 

eth1      Link encap:Ethernet  HWaddr 00:1e:c9:b8:61:3e  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:15797 errors:0 dropped:0 overruns:0 frame:0
          TX packets:675 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1040132 (1015.7 KiB)  TX bytes:63268 (61.7 KiB)
          Interrupt:16 Memory:f4000000-f4012800 

/etc/network/interfaces如下:

auto bond0
iface bond0 inet static
address x.x.x.x
gateway x.x.x.254
broadcast x.x.x.255
netmask 255.255.255.0
up /sbin/ifenslave bond0 eth1 eth0
down /sbin/ifenslave -d bond0 eth1 eth0

关于我为什么要这样做的一些背景信息:

最初我使用 iproute2 规则设置了多链路路由,但传出的绑定似乎性能更好。不幸的是,我无法从任何传入流量的绑定模式中获得任何性能改进。

这种多链路路由设置似乎对于传入来说工作正常,当然不是我从绑定传出流量中获得的性能改进,但比 1gbit 要好。

因此我正在努力实现两全其美。

这可能吗?

还有另一个快速问题,为什么在 balance-alb 上传入/接收平衡从来都不起作用?它似乎是 balance-tlb 的唯一优势,但似乎从来都不起作用。

答案1

接收负载平衡的工作原理是自定义发送给以太网域上每个对等点的 ARP 响应,这样主机就会分布在从属接口上。这意味着每个对等点只使用一个从属接口。如果您只与一个对等点(可能是路由器)通信,那么您将不会使用两个从属接口来接收数据包。

我怀疑为从属设备分配 IP 是否可行,因为绑定模块相当具有侵入性,并且会执行拦截 ARP 响应等操作。不过,您可以随时测试它并让我们知道 ;-)

相关内容