Você precisa configurar os dispositivos, depois o vínculo e, finalmente, os arquivos de configuração da VLAN. Você também tem que prestar atenção em quais atributos funcionam onde, como os bonding_opts, que só podem estar ligados a eles, não os arquivos de configuração da VLAN, pois os arquivos da VLAN não poderão acessar as conexões Ethernet diretamente.
Também encontrei este documento do RHEL 6 que explica mais. Ainda é mais confiável para o RHEL 7 / CentOS 7.
Adicionado:
O vínculo é responsável pelo gerenciamento das conexões físicas que o vínculo usa. as VLANs não têm visibilidade das conexões físicas, conforme mostrado na saída do driver abaixo; eles só veem o dispositivo responsável por eles, neste caso, bond0.
Também explicado aqui para outro ponto de vista: Resposta etiquetada e primária virtual com endereço IP e etiqueta com vlan
Notas:
- Eu sei que isso funciona porque tenho trabalhado em um sistema RHEL 7.
- Se você precisar de mais VLANs, apenas
cp ifcfg-bond0.20 ifcfg-bond0.30
e atualize os campos obrigatórios.
Diagrama:
eth0 vlan1
\ /
bond0 -vlan2
/ \
eth1 vlan3
Exemplo:
[Configuração de trabalho]
==> ifcfg-eth0 <==
DEVICE=eth0
NAME=bond0-slave
HWADDR=xx:xx:xx:xx:xx:xx
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_CONTRLLED=no
==> ifcfg-eth1 <==
DEVICE=eth1
NAME=bond0-slave
HWADDR=xx:xx:xx:xx:xx:xx
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_CONTRLLED=no
==> ifcfg-bond0 <==
DEVICE=bond0
TYPE=bond
BONDING_MASTER=yes
NAME=bond0
ONBOOT=yes
BONDING_OPTS="miimon=100 mode=active-backup"
==> ifcfg-bond0.10 <==
VLAN=yes
TYPE=vlan
DEVICE=bond0.10
PHYSDEV=bond0
VLAN_ID=10
BOOTPROTO=none
NAME=bond0.10
ONBOOT=yes
IPADDR=x.x.x.x
PREFIX=24
GATEWAY=x.x.x.1
IPV6INIT=no
DEFROUTE=yes
==> ifcfg-bond0.20 <==
VLAN=yes
TYPE=vlan
DEVICE=bond0.20
PHYSDEV=bond0
VLAN_ID=20
BOOTPROTO=none
NAME=bond0.20
ONBOOT=yes
IPADDR=x.x.x.x
PREFIX=24
GATEWAY=x.x.x.1
IPV6INIT=no
DEFROUTE=no
drivers em uso:
[thebtm@server network-scripts]$ sudo cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: xx:xx:xx:xx:xx:xx
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: xx:xx:xx:xx:xx:xx
Slave queue ID: 0
[thebtm@server network-scripts]$ sudo cat /proc/net/vlan/bond0.10
bond0.10 VID: 10 REORDER_HDR: 1 dev->priv_flags: 1
total frames received 29091167441
total bytes received 139953896100912
Broadcast/Multicast Rcvd 18
total frames transmitted 21506143557
total bytes transmitted 14822425401382
Device: bond0
INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0
EGRESS priority mappings:
[thebtm@server network-scripts]$ sudo cat /proc/net/vlan/bond0.20
bond0.20 VID: 20 REORDER_HDR: 1 dev->priv_flags: 1
total frames received 2637498
total bytes received 290061293
Broadcast/Multicast Rcvd 5
total frames transmitted 6
total bytes transmitted 252
Device: bond0
INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0
EGRESS priority mappings: