Linux KVM: Disable virbr0 NAT Interface

by on June 16, 2010 · 17 comments· LAST UPDATED February 1, 2011

in , ,

The virtual network (virbr0) used for Network address translation (NAT) which allows guests to access to network services. However, NAT slows down things and only recommended for desktop installations. To disable Network address translation (NAT) forwarding type the following commands:

Display Current Setup

Type the following command:
# ifconfig
Sample outputs:

virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:39 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:7921 (7.7 KiB)

Or use the following command:
# virsh net-list
Sample outputs:

Name                 State      Autostart
default              active     yes

To disable virbr0, enter:
# virsh net-destroy default
# virsh net-undefine default
# service libvirtd restart
# ifconfig

Tweet itFacebook itG+ itDownload PDF versionFound an error/typo on this page?

{ 17 comments… read them below or add one }

1 Pankaj Gadhari September 14, 2010 at 5:25 pm

Hi Vivek,

Whether disabling virbr0 i mean the steps you have given above needs a restart of the machine.


2 nixCraft September 14, 2010 at 6:06 pm

No just restart the libvirtd service.


3 Pankaj Gadhari September 14, 2010 at 6:31 pm

If we shutdown the libvirtd service as we are not using it, whether virbr0 interface will come down and not show up in ifconfig.


4 Simon Hamp November 25, 2010 at 6:12 pm

How would I reverse this?


5 ToddB January 2, 2011 at 9:41 am

Thanks for this tip! I was getting frustrated for a couple of hours trying to disable this nic!


6 Jony Mark February 5, 2011 at 10:34 pm

Great topic
please tell me how I can enable virbr0 if it was disable ?
Reply ASAP


7 MAD-Max August 2, 2011 at 3:54 pm

Thank you


8 Nignog November 28, 2011 at 3:36 pm

You can use “net-autostart default –disable” instead of “net-undefine default”. This keeps the config on disk so that you may reenable it later if you need it (with “net-autostart default”).


9 chadunplugged March 13, 2013 at 10:25 pm

Negative, this did not work for me on centos 6.3. The article steps did work though.


10 zizouya August 22, 2013 at 8:35 pm

virsh net-autostart default –-disable then reboot worked on RHEL6.4. Thanks


11 ANDRE June 16, 2012 at 12:04 am

Thank you!

I had no idea how to disable virbr0.

Very useful to your post.



12 jestin Paul August 1, 2012 at 6:36 am

Thanks !

Worked very well.

Don’t know whether we can disable it at OS installation itself, if not required.

Found this on a machine installed by 3rd party and was taking lot of load.



13 Manuel October 2, 2012 at 9:34 pm

Thanks, you safe me really


14 David Ramirez November 1, 2012 at 3:38 pm

Thanks – worked just fine on a CentOS 5.8/64 environment on a big server that I want to set up with Xen or KVM – but no NAT is needed/wanted. Next step is to set up a bridge… but not virbr0.


15 Suleman March 31, 2013 at 11:12 am

thanks, works very well


16 ndawg September 10, 2013 at 10:46 pm

This tip helped me in Red Hat 6.4 also had to reboot system
now virbr0 is disabled.

Thanks a lot.



17 sharif mridha August 14, 2014 at 1:07 pm

Thanks a lot now my virbr() disabled.


Leave a Comment

Tagged as:

Previous Faq:

Next Faq: