• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

How to Remove virbr0 and lxcbr0 Interfaces on CentOS/RHEL 6,7

by admin

The Problem

There is only one Network card on machine but ifconfig shows 2 interface by name virbr0 and lxcbr0. How to remove or disable them permanently if not using them.

# 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)

Solution

On a Linux host server, the virtual network switch shows up as a network interface. The default one, created when the libvirt daemon is first installed and started, shows up as virbr0. It will act as a gateway for the VMs to route traffic. libvirtd will also insert iptables rules in iptable configuration for proper routing/natting of VM packets.

If you dont want to use libvirtd service, you can stop the same which will remove all these network configurations from the system for virbr0 interface.

lxcbr0 – is a virtual bridge created when you install and configure lxc container with package lxc. you may also remove this interface if not running any lxc containers.

Removing virbr0 interface

Case 1 : Not using libvirtd service

If not using libvirtd service then you may stop that service.
For RHEL/CentOS 5,6
1. Stop the libvirtd service.

# service libvirtd stop

2. Disable the libvirtd service permanently, so that it will not start at boot.

# chkconfig --list | grep libvirtd
# chkconfig libvirtd off

For RHEL/CentOS 7
1. Check the status of the service and disable the libvirtd service using systemctl command.

# /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. To disable the service permanently.

# /bin/systemctl disable libvirtd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service.

Case 2 : Using libvirtd and dont want “virbr0”

In this scenario libvirtd service will be kept running but we will remove the virbr0 interface. Follow the steps below to remove the virbr0 interface.

1. List the default network set-up for the virtual machines

# virsh net-list

Name       State    Autostart    Persistent
----------------------------------------------------------
default    active   yes          yes

2. Destroy the network default.

# virsh net-destroy default
Network default destroyed

3. Permanently remove the default vitual network from the configuration.

# virsh net-undefine default
Network default has been undefined

4. The interface virbr0 is now gone. You can verify it in the ifconfig or ip command output.

# ifconfig virbr0
virbr0: error fetching interface information: Device not found

Removing virbr0 interface on running machines ( non-persistence across reboots )

1. First, list out the virtual bridge interfaces available on the system using the below command.

# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.5254003008b6       yes             virbr0-nic

2. Make the bridge interface down before removal.

# ip link set virbr0 down

3. Now, remove the bridge

# brctl delbr virbr0

4. check if the bridge is removed

# brctl show
bridge name     bridge id               STP enabled     interfaces

Removing lxcbr0 interface

lxcbr0 is a virtual bridge created when you install and configure lxc container with package lxc. To remove the lxcbr0 interface follow the steps given below.

1. change the below line in /etc/sysconfig/lxc. This will be effective after reboot.
change the line from

USE_LXC_BRIDGE="true"

to

USE_LXC_BRIDGE="false"

2. you may remove the lxcbr0 bridge interface for the running system. But this will not be effective after reboot. hence need to perform above step first. Lets first list the bridge interfaces.

# brctl show

3. Make the bridge interface down before removal

# ip link set lxcbr0 down

4. Now, remove the bridge using the ‘brctl delbr’ command.

# brctl delbr lxcbr0

5. check if the bridge is removed.

# brctl show

Filed Under: CentOS/RHEL 6, CentOS/RHEL 7, Linux

Some more articles you might also be interested in …

  1. CentOS / RHEL 7 : How to enable telnet for a group of users
  2. How to Ignore/Disable Specific auditd Logging Entries
  3. Configure VSFTPD Chroot Environment in CentOS and RHEL
  4. How to Transfer files securely using SCP Command in Linux
  5. CentOS / RHEL 6 : How to boot into rescue mode
  6. How to configure iSCSI target using targetcli in CentOS / RHEL 7
  7. groupmems Command Examples in Linux
  8. CentOS / RHEL 6 : How to change the verbosity of debug logs during booting
  9. How to use “btrfs scrub” command to manage scrubbing on Btrfs file systems
  10. DNS configuration file /etc/named.conf explained

You May Also Like

Primary Sidebar

Recent Posts

  • vgextend Command Examples in Linux
  • setpci command – configure PCI device
  • db_load command – generate db database
  • bsdtar command – Read and write tape archive files

© 2022 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright