# Can't get pihole to work on br0 interface

**URL:** <https://discourse.pi-hole.net/t/cant-get-pihole-to-work-on-br0-interface/25995>\
**Category:** Help\
**Created:** [December 11, 2019, 10:58am UTC](https://discourse.pi-hole.net/t/cant-get-pihole-to-work-on-br0-interface/25995 "2019-12-11T10:58:35Z")\
**Posts on this page:** 1\
**Showing post:** 30

<div class="post-metadata">

**Author:** ![Bucking\_Horn](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/bucking_horn/32/18719_2.png) [@Bucking\_Horn](https://discourse.pi-hole.net/u/Bucking_Horn)\
**Post date:** [December 13, 2019, 12:50pm UTC](https://discourse.pi-hole.net/t/cant-get-pihole-to-work-on-br0-interface/25995/30 "2019-12-13T12:50:03Z")

</div>

> [@jbee](#):
>
> I wonder why libvirt added those directives? It looks like it works fine without them.  
> Maybe I added them long ago and forgot?

> **No, libvirt added these configuration options, just as I have suspected libvirt and \`bind-interfaces\` in my original answer (click for more)**
>
> > [@Bucking\_Horn](#):
> >
> > Be aware that libvirt starts a _new_ instance of `dnsmasq` for each virtual network.  
> > This might cause conflicts with Pi-hole’s `dnsmasq` instance if both instances try to bind the same network interface.
> 
> While your removal of two configuration files (`libvirt-bin` and `network-manager`) allowed Pi-hole to work again (as it is bound to all interfaces now), I am not entirely convinced that this won't interfere with libvirts designated use of `dnsmasq`.
> 
> * * *

Keep an eye on this, as **[libvirt](https://wiki.libvirt.org/page/Libvirtd_and_dnsmasq) _could_ re-enable these configuration options** on consecutive runs.

With regards to your IPv6 address:

[NetworkManager](https://wiki.debian.org/NetworkManager#Wired_Networks_are_Unmanaged) would not touch any interfaces declared in `/etc/network/interfaces` by default, and you've disabled/uninstalled it anyhow.

> **Some musings on NetworkManager (click for details)**
>
> > [@jbee](#):
> >
> > Lastly I thought network-manager is the utility that reads and applies your `/etc/network/interfaces` settings.
> 
> NetworkManager tries to simplify your network setup by aggregating configuration options (including `dnsmasq`, `iptables`, `sysctl`) for each network it detects into separate profiles.  
> By default, NetworkManager does **not** handle any interface declared in `/etc/network/interfaces`.
> 
> Also by default, NetworkManager is configuring its own `dnsmasq` instance via `/etc/NetworkManager/dnsmasq.d/`, which might well result in conflicts with Pi-hole.
> 
> Uninstalling it is a good idea, but if you are dependent on NetworkManager (e.g. because your favourite VPN tool requires it), you could try to disable it by commenting the corresponding line in `/etc/NetworkManager/NetworkManager.conf` like this:
> 
> ```auto
> # dns=dnsmasq
> 
> ```
> 
> * * *

So that means IPv6 auto configuration has taken over, which means your system works as expected (if not quite as intended by you 😉 )

Auto configuration is a core feature of IPv6, so not at all a bad thing (though it is bound to create some head-aches with regards to enforcing Pi-hole as DNS, but that's an entirely different topic).

> **However, you should use a ULA prefix address (e.g. fd00::) for your Pi-hole, not a global one (like 2606:: - click for more)**
>
> Your address starts with `2606:`, and that means it is using a globally visible (which is not the same as accessible) address prefix, likely supplied by your ISP.
> 
> It would be better if you'd use a ULA prefix (`fd00:`by default) as supplied by your router - read [Use IPv6 ULA addresses for Pi-hole](https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127) for details. You'd have to consult your router's documentation on how you do this for your network.
> 
> * * *

If you do not need IPv6, you could also disable IPv6 altogether in your router (if your router allows this), sparing you many of the afore-mentioned head-aches.

> **If you decide to disable IPv6 on just your Linux machine instead, you can do so (click)**
>
> The following lines will disable IPv6 for your entire machine.  
> Edit `/etc/sysctl.conf`:
> 
> ```auto
> net.ipv6.conf.all.disable_ipv6 = 1
> net.ipv6.conf.default.disable_ipv6 = 1
> net.ipv6.conf.lo.disable_ipv6 = 1
> 
> ```
> 
> If you'd prefer to disable IPv6 for just one interface, just use
> 
> ```auto
> net.ipv6.conf.eth0.disable_ipv6 = 1
> 
> ```
> 
> Replace `eth0` above with another interface name as needed.
> 
> Be aware that other programs (like libvirt and NetworkManager) also write to these files and might overwrite your settings if you use their configuration facilities.
> 
> * * *

---

_[View the full topic](https://discourse.pi-hole.net/t/cant-get-pihole-to-work-on-br0-interface/25995)._
