El problema
Solo hay una tarjeta de red en la máquina pero ifconfig muestra 2 interfaces por nombre virbr0 y lxcbr0 . Cómo eliminarlos o deshabilitarlos permanentemente si no los usa.
# 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)
Solución
En un servidor host Linux, el conmutador de red virtual aparece como una interfaz de red. El predeterminado, creado cuando el demonio libvirt se instaló e inició por primera vez, se muestra como virbr0. Actuará como una puerta de enlace para que las máquinas virtuales enruten el tráfico. libvirtd también insertará reglas de iptables en la configuración de iptable para el enrutamiento/enrutamiento adecuado de los paquetes de VM.
Si no desea utilizar el servicio libvirtd, puede detenerlo, lo que eliminará todas estas configuraciones de red del sistema para la interfaz virbr0.
lxcbr0 – es un puente virtual creado cuando instala y configura el contenedor lxc con el paquete lxc. también puede eliminar esta interfaz si no ejecuta ningún contenedor lxc.
Eliminando la interfaz virbr0
Caso 1:no usar el servicio libvirtd
Si no utiliza el servicio libvirtd, puede detener ese servicio.
Para RHEL/CentOS 5,6 >1. Detenga el servicio libvirtd.
# service libvirtd stop
2. Deshabilite el servicio libvirtd de forma permanente, para que no se inicie al arrancar.
# chkconfig --list | grep libvirtd # chkconfig libvirtd off
Para RHEL/CentOS 7 >1. Verifique el estado del servicio y deshabilite el servicio libvirtd usando el 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. Para deshabilitar el servicio de forma permanente.
# /bin/systemctl disable libvirtd.service Removed symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service.
Caso 2:Usando libvirtd y no quiero "virbr0"
En este escenario, el servicio libvirtd seguirá ejecutándose pero eliminaremos la interfaz virbr0. Siga los pasos a continuación para eliminar la interfaz virbr0.
1. Enumere la configuración de red predeterminada para las máquinas virtuales
# virsh net-list Name State Autostart Persistent ---------------------------------------------------------- default active yes yes
2. Destruya la red predeterminada.
# virsh net-destroy default Network default destroyed
3. Elimina de forma permanente la red virtual predeterminada de la configuración.
# virsh net-undefine default Network default has been undefined
4. La interfaz virbr0 ya no está. Puede verificarlo en la salida del comando ifconfig o ip.
# ifconfig virbr0 virbr0: error fetching interface information: Device not found
Eliminación de la interfaz virbr0 en máquinas en ejecución (sin persistencia entre reinicios)
1. Primero, enumere las interfaces de puente virtual disponibles en el sistema usando el siguiente comando.
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.5254003008b6 yes virbr0-nic
2. Haga que la interfaz del puente baje antes de quitarla.
# ip link set virbr0 down
3. Ahora, quita el puente
# brctl delbr virbr0
4. compruebe si se ha quitado el puente
# brctl show bridge name bridge id STP enabled interfaces
Eliminando la interfaz lxcbr0
lxcbr0 es un puente virtual creado cuando instala y configura el contenedor lxc con el paquete lxc. Para eliminar la interfaz lxcbr0, siga los pasos que se indican a continuación.
1. cambie la siguiente línea en /etc/sysconfig/lxc . Esto será efectivo después de reiniciar.
cambie la línea de
USE_LXC_BRIDGE="true"
a
USE_LXC_BRIDGE="false"
2. puede eliminar la interfaz de puente lxcbr0 para el sistema en ejecución. Pero esto no será efectivo después de reiniciar. por lo tanto, primero debe realizar el paso anterior. Enumeremos primero las interfaces del puente.
# brctl show
3. Desactive la interfaz del puente antes de retirarla
# ip link set lxcbr0 down
4. Ahora, quite el puente usando el comando 'brctl delbr'.
# brctl delbr lxcbr0
5. compruebe si se ha quitado el puente.
# brctl show