Ubuntu Linux、Bonding 和 VLANS - 我可以配置所有接口进行标记吗?IE:在没有 IP 地址的情况下启动 BOND0 接口

Ubuntu Linux、Bonding 和 VLANS - 我可以配置所有接口进行标记吗?IE:在没有 IP 地址的情况下启动 BOND0 接口

我有一台服务器,其中有多个适配器处于同一个绑定 Bond0 中。

我不知道(即使经过大量研究)如何在没有 IP 地址的情况下启动 bond0 设备。我希望 VLAN 使用 bond0,但服务器上没有未标记的接口。

auto eth0
iface eth0 inet manual
        bond-master bond0
auto eth1
iface eth1 inet manual
        bond-master bond0
auto bond0
iface bond0 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        network 192.168.1.0
        bond-slaves none
        bond-miimon 100
        bond-mode 802.3ad
auto vlan50
iface vlan50 inet static
        address 192.168.248.241
        netmask 255.255.255.0
        network 192.168.248.0
        vlan-raw-device bond0

上述配置有效,并且工作正常,除了 bond0 有一个不在标记 vlan 上的地址。

交换机设置正确。VLAN 工作正常。服务器是多个 VLAN 的成员,上面的配置已简化,因为其余配置与我的问题无关。

是的,我可以将一个虚拟地址放入 bond0 接口,但对我来说这似乎不太干净。

我尝试了以下方法:

https://wiki.debian.org/NetworkConfiguration#Bringing_up_an_interface_without_an_IP_address

但是,这不起作用并且 bond0 未配置,因此没有网络连接。

操作系统:Ubuntu 14.04.2 LTS

答案1

我认为这样的事情应该有效:

auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
   pre-up ifconfig     bond0 up
   pre-up ifenslave    bond0 eth0 || /bin/true
   pre-up ifenslave    bond0 eth1 || /bin/true

   down   ifenslave -d bond0 eth0 || /bin/true
   down   ifenslave -d bond0 eth1 || /bin/true

auto bond0.50
iface bond0.50 inet static
   address 192.168.248.241
   netmask 255.255.255.0
   network 192.168.248.0

答案2

我不知道最近发布的 Debian 的网络配置文件的详细信息,但您应该可以按照以下步骤实现您想要的:

  1. 使用以下命令删除基本接口 (bond0) IP"ip addr flush dev bond0""ifconfig bond0 ip 0.0.0.0"
  2. 使用以下命令插入一条 iptables 规则,丢弃来自未标记接口 (bond0) 的所有流量"iptables -I INPUT 1 -i bond0 -j DROP"

无论如何,配置交换机以丢弃所有来自用于绑定的特定网络端口的未标记流量可能会更容易。

相关内容