Eu costumava criar uma ponte de rede no CentOS 7 como visto abaixo, onde eu desabilitaria o NetworkManager e editaria os arquivos de configuração manualmente.
No entanto, eu gostaria de fazer isso com nmcli
e, portanto, usar o NetworkManager.
Este artigo diz que é feito por
nmcli con add ifname br0 type bridge con-name br0
nmcli con add type bridge-slave ifname eno1 master br0
nmcli connection show
mas não explica por que de repente a bridge-slave
é introduzida e para que serve.
Pergunta
Alguém pode explicar o que bridge-slave
é um e se esses 3 comandos são de fato a maneira de criar uma ponte de rede para KVM?
cd /etc/sysconfig/network-scripts
cp ifcfg-eno1 _ifcfg-eno1.backup
cat << EOF > /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
IPADDR=xxx.xxx.xx.xx
PREFIX=22
BOOTPROTO=none
ONBOOT=yes
DELAY=0
NM_CONTROLLED=no
DNS1=xx.xxx.xx.x
DNS2=xx.xxx.xx.x
GATEWAY=x.xxx.xx.x
EOF
cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eno1
HWADDR=A0:D3:C1:05:C3:30
DEVICE=eno1
TYPE=Ethernet
NAME=eno1
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no
EOF
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
systemctl restart network
Uma ponte de rede (neste caso) é uma interface virtual que une uma ou mais interfaces de rede. Pode ser comparado com um interruptor. Se você adicionar uma interface, neste exemplo eno1 (sua interface de rede física) à ponte, ela será chamada de escravo da ponte.
A idéia é adicionar a interface física à ponte (isto é, o que "nmcli con add type bridge-slave ifname eno1 master br0" faz) e fazer a configuração do IP na interface da ponte em vez da interface física.
Se você agora criar uma VM e conectá-la à sua interface br0, o adaptador de rede da VM também será escravo de br0. Então você tem algum tipo de rede comutada entre o adaptador de rede da VM e o eno1.