Das Problem
Es gibt nur eine Netzwerkkarte auf dem Computer, aber ifconfig zeigt 2 Schnittstellen mit dem Namen virbr0 und lxcbr0 . So entfernen oder deaktivieren Sie sie dauerhaft, wenn Sie sie nicht verwenden.
# 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)
Lösung
Auf einem Linux-Hostserver wird der virtuelle Netzwerkswitch als Netzwerkschnittstelle angezeigt. Die Standarddatei, die erstellt wird, wenn der libvirt-Daemon zum ersten Mal installiert und gestartet wird, wird als virbr0 angezeigt. Es fungiert als Gateway für die VMs, um den Datenverkehr weiterzuleiten. libvirtd fügt auch iptables-Regeln in die iptable-Konfiguration ein, um VM-Pakete richtig zu routen/zu klassifizieren.
Wenn Sie den libvirtd-Dienst nicht verwenden möchten, können Sie ihn stoppen, wodurch alle diese Netzwerkkonfigurationen für die virbr0-Schnittstelle aus dem System entfernt werden.
lxcbr0 – ist eine virtuelle Brücke, die erstellt wird, wenn Sie den lxc-Container mit dem Paket lxc installieren und konfigurieren. Sie können diese Schnittstelle auch entfernen, wenn Sie keine lxc-Container ausführen.
virbr0-Schnittstelle entfernen
Fall 1:Der libvirtd-Dienst wird nicht verwendet
Wenn Sie den libvirtd-Dienst nicht verwenden, können Sie diesen Dienst beenden.
Für RHEL/CentOS 5,6
1. Stoppen Sie den libvirtd-Dienst.
# service libvirtd stop
2. Deaktivieren Sie den libvirtd-Dienst dauerhaft, sodass er beim Booten nicht gestartet wird.
# chkconfig --list | grep libvirtd # chkconfig libvirtd off
Für RHEL/CentOS 7
1. Überprüfen Sie den Status des Dienstes und deaktivieren Sie den libvirtd-Dienst mit dem Befehl 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. Um den Dienst dauerhaft zu deaktivieren.
# /bin/systemctl disable libvirtd.service Removed symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service.
Fall 2:libvirtd verwenden und „virbr0“ nicht wollen
In diesem Szenario wird der libvirtd-Dienst weiter ausgeführt, aber wir werden die virbr0-Schnittstelle entfernen. Führen Sie die folgenden Schritte aus, um die virbr0-Schnittstelle zu entfernen.
1. Auflisten der Standardnetzwerkeinstellungen für die virtuellen Maschinen
# virsh net-list Name State Autostart Persistent ---------------------------------------------------------- default active yes yes
2. Zerstören Sie die Netzwerkvorgabe.
# virsh net-destroy default Network default destroyed
3. Entfernen Sie das standardmäßige virtuelle Netzwerk dauerhaft aus der Konfiguration.
# virsh net-undefine default Network default has been undefined
4. Die Schnittstelle virbr0 ist jetzt weg. Sie können dies in der Ausgabe des ifconfig- oder ip-Befehls überprüfen.
# ifconfig virbr0 virbr0: error fetching interface information: Device not found
Entfernen der virbr0-Schnittstelle auf laufenden Maschinen (Nicht-Persistenz über Neustarts hinweg)
1. Listen Sie zuerst die virtuellen Bridge-Schnittstellen auf, die auf dem System verfügbar sind, indem Sie den folgenden Befehl verwenden.
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.5254003008b6 yes virbr0-nic
2. Stellen Sie die Bridge-Schnittstelle vor dem Entfernen ab.
# ip link set virbr0 down
3. Entfernen Sie nun die Brücke
# brctl delbr virbr0
4. Überprüfen Sie, ob die Brücke entfernt wurde
# brctl show bridge name bridge id STP enabled interfaces
lxcbr0-Schnittstelle entfernen
lxcbr0 ist eine virtuelle Brücke, die erstellt wird, wenn Sie den lxc-Container mit dem Paket lxc installieren und konfigurieren. Um die lxcbr0-Schnittstelle zu entfernen, befolgen Sie die unten angegebenen Schritte.
1. Ändern Sie die folgende Zeile in /etc/sysconfig/lxc . Dies wird nach dem Neustart wirksam.
ändern Sie die Zeile von
USE_LXC_BRIDGE="true"
zu
USE_LXC_BRIDGE="false"
2. Sie können die lxcbr0 Bridge-Schnittstelle für das laufende System entfernen. Dies wird jedoch nach dem Neustart nicht wirksam. Daher müssen Sie zuerst den obigen Schritt ausführen. Lassen Sie uns zuerst die Bridge-Schnittstellen auflisten.
# brctl show
3. Stellen Sie die Brückenschnittstelle vor dem Entfernen ab
# ip link set lxcbr0 down
4. Entfernen Sie nun die Brücke mit dem Befehl „brctl delbr“.
# brctl delbr lxcbr0
5. Überprüfen Sie, ob die Brücke entfernt wurde.
# brctl show