Il problema
C'è solo una scheda di rete sulla macchina ma ifconfig mostra 2 interfacce per nome virbr0 e lxcbr0 . Come rimuoverli o disabilitarli in modo permanente se non li utilizzi.
# ifconfig .... lxcbr0 Link encap:Ethernet HWaddr 82:61:68:AC:39:0F inet addr:10.116.186.1 Bcast:0.0.0.0 Mask:255.255.255.0 inet6 addr: fe80::8061:68ff:feac:390f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:390 (390.0 b) virbr0 Link encap:Ethernet HWaddr 52:54:00:80:A7:C3 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Soluzione
Su un server host Linux, lo switch di rete virtuale viene visualizzato come interfaccia di rete. Quello predefinito, creato quando il demone libvirt viene installato e avviato per la prima volta, viene visualizzato come virbr0. Fungerà da gateway per le macchine virtuali per instradare il traffico. libvirtd inserirà anche le regole di iptables nella configurazione di iptable per il corretto instradamento/natting dei pacchetti VM.
Se non vuoi usare il servizio libvirtd, puoi interrompere lo stesso che rimuoverà tutte queste configurazioni di rete dal sistema per l'interfaccia virbr0.
lxcbr0 – è un bridge virtuale creato durante l'installazione e la configurazione del contenitore lxc con il pacchetto lxc. puoi anche rimuovere questa interfaccia se non esegui contenitori lxc.
Rimozione dell'interfaccia virbr0
Caso 1:Non si utilizza il servizio libvirtd
Se non utilizzi il servizio libvirtd, puoi interromperlo.
Per RHEL/CentOS 5,6
1. Arresta il servizio libvirtd.
# service libvirtd stop
2. Disabilita il servizio libvirtd in modo permanente, in modo che non si avvii all'avvio.
# chkconfig --list | grep libvirtd # chkconfig libvirtd off
Per RHEL/CentOS 7
1. Controlla lo stato del servizio e disabilita il servizio libvirtd usando il comando systemctl.
# /bin/systemctl stop libvirtd.service
# /bin/systemctl status libvirtd.service ● libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) Active: inactive (dead) since Fri 2016-10-07 11:04:31 IST; 2s ago Docs: man:libvirtd(8) http://libvirt.org Process: 1275 ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS (code=exited, status=0/SUCCESS) Main PID: 1275 (code=exited, status=0/SUCCESS)
2. Per disattivare il servizio in modo permanente.
# /bin/systemctl disable libvirtd.service Removed symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service.
Caso 2:utilizzo di libvirtd e non voglio "virbr0"
In questo scenario il servizio libvirtd verrà mantenuto in esecuzione ma rimuoveremo l'interfaccia virbr0. Segui i passaggi seguenti per rimuovere l'interfaccia virbr0.
1. Elenca la configurazione di rete predefinita per le macchine virtuali
# virsh net-list Name State Autostart Persistent ---------------------------------------------------------- default active yes yes
2. Distruggi la rete predefinita.
# virsh net-destroy default Network default destroyed
3. Rimuovere definitivamente la rete virtuale predefinita dalla configurazione.
# virsh net-undefine default Network default has been undefined
4. L'interfaccia virbr0 è scomparsa. Puoi verificarlo nell'output del comando ifconfig o ip.
# ifconfig virbr0 virbr0: error fetching interface information: Device not found
Rimozione dell'interfaccia virbr0 su macchine in esecuzione (non persistenza tra i riavvii)
1. Innanzitutto, elenca le interfacce del bridge virtuale disponibili sul sistema utilizzando il comando seguente.
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.5254003008b6 yes virbr0-nic
2. Abbassare l'interfaccia del bridge prima della rimozione.
# ip link set virbr0 down
3. Ora rimuovi il ponte
# brctl delbr virbr0
4. controlla se il ponte è stato rimosso
# brctl show bridge name bridge id STP enabled interfaces
Rimozione dell'interfaccia lxcbr0
lxcbr0 è un bridge virtuale creato durante l'installazione e la configurazione del contenitore lxc con il pacchetto lxc. Per rimuovere l'interfaccia lxcbr0, segui i passaggi indicati di seguito.
1. cambia la riga sottostante in /etc/sysconfig/lxc . Ciò sarà effettivo dopo il riavvio.
cambia la riga da
USE_LXC_BRIDGE="true"
a
USE_LXC_BRIDGE="false"
2. è possibile rimuovere l'interfaccia bridge lxcbr0 per il sistema in esecuzione. Ma questo non sarà efficace dopo il riavvio. quindi è necessario eseguire prima il passaggio precedente. Elenchiamo prima le interfacce del bridge.
# brctl show
3. Abbassare l'interfaccia del bridge prima della rimozione
# ip link set lxcbr0 down
4. Ora rimuovi il bridge usando il comando 'brctl delbr'.
# brctl delbr lxcbr0
5. controlla se il ponte è stato rimosso.
# brctl show