Ubuntu Linux, Bonding, and VLANS – Can I configure all interfaces to be tagged? IE: Bring up BOND0 interface without an IP Address

bondingUbuntuvlan

I have a server with multiple adapters in a bond, bond0.

I am not sure (even after extensive research) how to bring up the bond0 device without an IP address. I want the VLANs to use bond0, but not have an untagged interface on the server.

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

The above configuration works, and works fine, except bond0 has an address that is not on a tagged vlan.

The switch is setup correctly. The VLAN works fine. The server is a member of multiple VLANs, the configuration above is simplified as the rest of the configuration has nothing to do with my issue.

Yes, I could just throw a dummy address into the bond0 interface, but that doesn't seem as clean to me.

I tried following:

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

but, this didn't work and left the bond0 unconfigured and therefore no network connectivity.

OS: Ubuntu 14.04.2 LTS

Best Answer

I would presume something like this should work:

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