Unbound

Follow

Comments

34 comments

  • Avatar
    Alex M

    Can we use Unbound together with Pi-Hole?

    Or do we need to use a container that combines both and *not* use the embedded Unbound implementation?

    Thanks in advance!

    0
    Comment actions Permalink
  • Avatar
    Support Team

    @Alex

    It can't. The idea of unbound is not having any upstream DNS resolver between unbound and authoritative nameservers.

    0
    Comment actions Permalink
  • Avatar
    Alex M

    @Support Team: thanks for the swift response, I was rather thinking / hoping for a setup like this:

    clients -> firewalla -> pi-hole -> unbound

    where pi-hole uses unbound as DNS resolver (and indeed not the other way round).

    I used to run this setup before, with pi-hole and unbound on separate raspberry pi devices, but would much rather have it all integrated on my FWP now, if possible at all, to ensure all FW functionality can be used.

    Guess that only leaves the possibility not to use the Unbound that is now 'embedded' in Firewalla and use a container that contains both Pi-Hole and Unbound?
    If so, could you please provide some support on how to do this? (another FW user started this topic: https://help.firewalla.com/hc/en-us/community/posts/1500001172701-Pihole-and-Unbound )

    0
    Comment actions Permalink
  • Avatar
    Support Team

    @Alex

    Correct.

    We have not tried PiHole + Unbound on Firewalla, I think it's better to leave it to the community to support it.

    PiHole should already have good docs on how to work with unbound. There may already have docker containers out there supporting it.

     

    0
    Comment actions Permalink
  • Avatar
    Robert Bell

    Are you going to support setting custom forward-zones with DoH or DoT? Says you get DoH or Unbound but unbound supports DoH. 

    0
    Comment actions Permalink
  • Avatar
    Firewalla

    DoH and Unbound are completely different things. DoH is the transport going to Unbound (a DNS server). Since unbound in your case is local, you don't need to use DoH to talk to it. 

    0
    Comment actions Permalink
  • Avatar
    Robert Bell

    We're talking about forward-zones, using DoH upstream. Not client to Unbound. 

    0
    Comment actions Permalink
  • Avatar
    Support Team

    @Robert,

    May I know why you want this feature? Do you have a private zone?

    0
    Comment actions Permalink
  • Avatar
    Robert Bell

    For the same reason you offer DoH directly in Firewalla. Privacy and Security. I don't care if my internal clients use standard DNS but leaving my network I want encryption. By default Unbound uses the root servers and works its way from there, you don't need to specify a DNS server to forward requests to. Your DNS requests will hit unbound then get forwarded randomly to a DNS service on the internet. Unbound lets you specify forward-zones, including DoH and DoT. So if I wanted to combine Unbound and DoH I would just add a DoH forward-zone to Quad9 or Cloudflare. I'm really surprised this didn't occur to anyone. Especially since it was called out that you can not combine Unbound with DoH. You absolutely can, Firewalla just hasn't implemented it. 

    2
    Comment actions Permalink
  • Avatar
    Support Team

    Then why not just use DoH feature in Firewalla app? It's the same as unbound + DoH forwarding.

    Either query DNS from different authoritative servers (unbound with no forwarding): DNS requests are not encrypted, but no single DNS server has full access of DNS requests.

    Or query DNS from DoH servers (DoH): DNS requests are encrypted, but quad9/cloudflare can have full history of your DNS requests.

    None of them is perfect.

    -2
    Comment actions Permalink
  • Avatar
    Alex M

    Just a couple of possible reasons:

    • Further tweakability of Unbound (e.g., on private domains, on hardening, on ttl, on zones / rpz, use of DoH, use of DoT, ...)
    • Ability to combine the use of Unbound and Pi-Hole with Firewalla's capabilities
      (this is the main reason run Unbound and Pi-Hole in Docker on my FWP)

    Hope this helps :)

    2
    Comment actions Permalink
  • Avatar
    Herve

    Just my 2 cents. Unbound will prevent DNS servers to have full access of ALL (history) DNS requests, and DoH  will encrypt DNS requests. It seems good in terms of security to me...

    I currently use DoH, and love that feature. I would also love to limit the # of DNS requests to remote servers (and use a local network cache instead, such as the one used with Unbound feature) not only for security reasons, but also for the protection of the environment, limiting bandwidth use, and thus power consumption.

    Hope this helps also :-)

    2
    Comment actions Permalink
  • Avatar
    Darren Bennett

    Is there a way to see a resultant set of policy?   For example, if I have rules set on a device, groups, networks and globally, how can I easily see what is being applied based on certain scenarios. 

    For example, it would be great to be able to specify a device, a target of some sorts (domain, for example) and see what is applied to traffic and why.  I.e. if it's a rule on the device, the device group or globally. 

    Something similar to RSOP for Active Directory Group Policy - hence using that terminology. 

    2
    Comment actions Permalink
  • Avatar
    Support Team

    @Darren

    Thanks for the feedback, will forward to dev team to do some research on this.

    0
    Comment actions Permalink
  • Avatar
    Rom

    Have Purple on Simple Mode (no DHCP server on Purple) - will turning on Unbound intercept all port 53 DNS requests, i.e., set and forget (no client setup needed)?

    Currently have PiHole + Unbound on an RPi with some of the network traffic going through NextDNS and ControlD via DoH. With Unbound on FW (blocking all external DNS requests), I can turn off the one on the RPi.

    0
    Comment actions Permalink
  • Avatar
    Support Team

    @Rom, this is correct. No client setup is required.

    0
    Comment actions Permalink
  • Avatar
    Scot Leonard

    Uncovered some very unexpected behavior with unbound enabled on my gold in router mode.  I am a unix sysadmin and support our DNS infrastructure, and was in process of moving authoritative zone from one hosting provider to another.  I built a test zone on the new hosting provider and attempted to test dns resolution using the command "dig @204.128.x.x test.testzone.com and low and behold... my dns request was intercepted by firewalla and directed to the existing hosting provider.

    Why is firewalla intercepting a dns query directed to a specific name server ip?  I could see this working differently if unbound was attempting to resolve a glue record, but why intercept a request generated by IP?

    0
    Comment actions Permalink
  • Avatar
    Firewalla

    Firewalla will always intercept DNS requests and forward them to the DNS server you set. This is to prevent 'things' (like kids) from bypassing control via a different DNS server/service. 
     
    If you do want to try dig without this type of forward, what you can do is go inside the firewalla (via ssh and do your testing), and the other is to temporarily disable dnsbooster (gears->advanced->configurations)

    0
    Comment actions Permalink
  • Avatar
    Alex M

    @Firewalla : would you consider enabling the following:

    - running Firewalla's 'embedded' Unbound but not setting it as FW's direct DNS server (see below)

    - allowing Pi-Hole in a docker to use FW's Unbound as its upstream DNS resolver (so in the FW app, we would configure the Pi-Hole IP address as DNS server), and in Pi-Hole we would define something along the lines of 172.16.0.1#5335 as Pi-Hole's upstream DNS server

    And as a next possibility, if you would consider the above (which would be awesome :) ), would you then consider adding an additional, adjustable conf file for Unbound to further finetune Unbound's config? (so you would keep the standard unbound.conf file, and enable an additional file that a user can modify) See the last line in this unbound.conf on how to do it: you just refer to a location where custom additional config files can be found, the original config will always be used as the starting point.

    0
    Comment actions Permalink
  • Avatar
    mozarella

    "Supported on Firewalla Gold, Purple, and Blue Plus"

    Actually i'm lucky to have a firewalla blue and a firewalla red for my parents home. But actually i should not be lucky, because lots of great features are not supported on the baby firewalla's.

    Seems i should switch to a "real" firewall of another brand. To not get "unlucky" of features i can't use. Isn't it?

    0
    Comment actions Permalink
  • Avatar
    Dave Taylor

    Where does Unbound get its results from?  The reason for asking is that things like Google DNS are unusable here (a non-US country) because they return results for US hosts for things like CDNs for which access ranges from very slow to blocked entirely, rather than local hosts.  Unless they've fixed it recently, using Google's DNS rather than the ISPs one results in breakage for a number of widely-used sites.  Thus my question about where does Unbound get its results from, if it's from out-of-country DNS servers then it could result in the same breakage as Google's DNS.

    0
    Comment actions Permalink
  • Avatar
    mozarella

    Unbound will get it's results from the authoritative dns server. Each time you ask unbound, it'll check, which DNS-Server is authoritative for the asked url. So there's no single upstream dns-server.

    i'm using unbound running beside pihole on my pi. Actually i would be happy to use unbound within firewalla blue and red, because so i can use unbound functionallity also in places where i don't use pihole but i use firewalla.

    0
    Comment actions Permalink
  • Avatar
    Rajeev Mehra

    I have Unbound enabled. No local DNS resolution is happening. Investigating using dig shows that Firewalla is forwarding local name resolution requests (e.g. computername.lan) to root servers on the internet... and, of course, local names are not getting resolved.

    Is there some special configuration that needs to be done to make sure local machines can resolve each other using their hostnames?

    0
    Comment actions Permalink
  • Avatar
    Firewalla

    You need to look at https://help.firewalla.com/hc/en-us/articles/1500002445242-Difference-between-Search-Domain-Local-Domain

    Here you can setup different domains to be resolved locally 

    0
    Comment actions Permalink
  • Avatar
    bucweat

    So if I use Unbound, I get that my DNS requests go to a local Unbound server on the Firewalla. I get that by distributing DNS queries it increases difficulty for any one DNS provider to associate site visits to me. I get that DNS requests between devices on my local network and Ubound server on Firewalla don’t need to be encrypted (unless you don’t want someone on local network to see DNS request).

    My BIG question is are the DNS queries from the Unbound local server on Firewalla to Root/authoritative DNS servers (which uses DNSSec) out on the internet (the up/down arrows in the diagram) encrypted? If not, then aren’t all the DNS requests exposed to ISP?

    I get benefit of DNSSec and how it helps defeat bogus DNS query results. I think what creates a lot of confusion is the statement on Firewalla pages like this one “Please be aware that unbound doesn't encrypt DNS traffic.” makes it sound like my DNS queries when using Unbound can be seen by ISP…why would I want tot do that?

    0
    Comment actions Permalink
  • Avatar
    Darren Bennett

    Your ISP won’t be resolving the request, that’s the only benefit. Even with encrypted DNS you’ll still be visiting the resolved address using your ISP anyway, so DNS or not, your ISP is likely to know where you’re visiting.

    0
    Comment actions Permalink
  • Avatar
    bucweat

    I use wireguard VPN client for that. Right now I have "Force DNS over VPN" selected (configured with AdGuard Ad Blocker). While that work fairly well, it means I can't use filtering features of Firewalla. 

    I decided to do some more digging. Looking at the Unbound docs (https://unbound.docs.nlnetlabs.nl/en/latest/use-cases/home-resolver.html), it seems that the most basic config for Unbound is as a local dns cache. Additional features like DNSSEC and encryption need to be configured. You can do DoH and DoT between local clients and the Unbound server, but not sure of the benefit of this on your local LAN (unless you're worried someone on your LAN might be sniffing your DNS traffic). Less obvious from that site is the fact you can encrypt upstream traffic. I ended up finding some info in the docs for the unbound.conf file https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html which does discuss the options for TLS for upstream.

    I also found a couple of what look like decent blogs

    These both describe encrypting the upstream. The nurdletech link also includes some good references at the end including https://www.ctrl.blog/entry/unbound-tls-forwarding.html.

    No I have not tried to set any of that up so not sure what if any technical hurdles there might be to implementing on Firewalla. 

    Speaking of Firewalla, I did a little digging on the Firewalla itself, and I found /home/pi/.firewalla/run/unbound/unbound.conf. As it stands I don't see anything that would indicate that upstream traffic is currently encrypted, but it does appear that DNSSEC is configured (auto-trust-anchor-file).

    0
    Comment actions Permalink
  • Avatar
    Tony Scicchitano

    I was confused until I reached out to support, and they did update the article to reflect what they told me to do for Plex. However, I think it could use an additional update for clarification. The example for Unraid suggests there's already a file in ~/.firewalla/config/unbound_local/ that needs to be edited, and the example for Plex suggests creating file called plex.direct.

    Per u/firewalla in the Firewalla subreddit, you can create a single file named unbound_custom.conf with all private domains you need in it (though I suspect other filenames will work as well):

    server:
    private-domain: "myunraid.net"
    private-domain: "plex.direct"

    Source - https://www.reddit.com/r/firewalla/comments/1610c2q/comment/jxprsoh/?utm_source=share&utm_medium=web2x&context=3

    1
    Comment actions Permalink
  • Avatar
    geotrouvetout67

    Do Firewalla filters like Family Protect work when you do Unbound over VPN?

    0
    Comment actions Permalink

Please sign in to leave a comment.