Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Setup DNS over TLS on pfSense 2.4.4 p2 - Guide

    Scheduled Pinned Locked Moved DHCP and DNS
    67 Posts 17 Posters 40.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      LaUs3r @bcruze
      last edited by

      @bcruze said in Setup DNS over TLS on pfSense 2.4.4 p2 - Guide:

      why isn't the top option checked : Respond to incoming SSL/TLS queries from local clients

      well, you could check it. I simply wasn't aware about that option, but it could make sense depending on your config

      @bcruze said in Setup DNS over TLS on pfSense 2.4.4 p2 - Guide:

      i've followed this step again. and states still shows :

      (192.168.1.246:40971) -> 1.1.1.1:53
      that is somehow strange. Do you use a local config maybe for this client? can you post it please?

      TAC57T 1 Reply Last reply Reply Quote 0
      • TAC57T
        TAC57 @LaUs3r
        last edited by

        @LaUs3r
        When I turn on the floating rule to block port 53 I can do google searches but can't get to any other websites. If I disable the port 53 blocking rule then I can get to any site but the pfSense packet capture report shows traffic on port to 8.8.8.8. I'm really not sure where Googles DNS is coming from. Do you have any suggestions on how I might change the port 53 blocking rule?

        Packet Capture on port 53 give me:
        15:23:28.505900 IP 75.xxx.xxx.xxx.32041 > 8.8.8.8.53: UDP, length 33
        15:23:28.535878 IP 8.8.8.8.53 > 75.xxx.xxx.xxx.32041: UDP, length 49

        365f474f-7186-4fcb-b8bc-6da26c63edf4-image.png

        f9e6214b-0768-40ec-9ee2-5a32d8f40582-image.png

        1 Reply Last reply Reply Quote 0
        • TAC57T
          TAC57 @LaUs3r
          last edited by

          @LaUs3r

          With this rule why would I be seeing any port 53 traffic with packet capture?

          0157109a-9e6b-4705-a673-d46b9c37c5ee-image.png

          1 Reply Last reply Reply Quote 0
          • johnpozJ
            johnpoz LAYER 8 Global Moderator
            last edited by

            packet captures have nothing to do with what actually shows up on the interface.. Just tells pfsense what to do with traffic sees on the interface, either allow it and process it, or block it (drop it without doing anything with it).

            An intelligent man is sometimes forced to be drunk to spend time with his fools
            If you get confused: Listen to the Music Play
            Please don't Chat/PM me for help, unless mod related
            SG-4860 24.11 | Lab VMs 2.8, 24.11

            TAC57T 1 Reply Last reply Reply Quote 0
            • TAC57T
              TAC57 @johnpoz
              last edited by

              @johnpoz so you don't agree with @LaUs3r that Package Capture can be use to verify that ALL DNS traffic to the outside world is going out over TLS (port 853) and there is no leakage on port 53? Per the guide above, I'm seeing 9.9.9.9:853 TCP traffic with Diagnostic | States and 9.9.9.9:853 traffic with Diagnostic | Packet Capture. But I am also seeing 8.8.8.8:53 traffic.

              Per your comment just because I'm seeing some 8.8.8.8 traffic with packet capture doesn't mean it's going out on the WAN?
              Packet Capture on port 53 give me:
              15:23:28.505900 IP 75.xxx.xxx.xxx.32041 > 8.8.8.8.53: UDP, length 33
              15:23:28.535878 IP 8.8.8.8.53 > 75.xxx.xxx.xxx.32041: UDP, length 49
              .
              .
              .

              Is there a feature in pfSense that I can confirm I have DNS over TLS with no leakage or should I just assume if the floating firewall rule I've shown above will assure that no port 53 traffic is getting out of my network.

              Thanks for all you comments.

              p.s. Could I setup the floating DNS port 53 blocking rule on either the WAN or LAN interface, assuming I didn't care about my DMZ?

              1 Reply Last reply Reply Quote 0
              • johnpozJ
                johnpoz LAYER 8 Global Moderator
                last edited by johnpoz

                Huh? Where did I say that? My point is you can block all day on LAN, and then sniff on Lan and see packet captures with it.

                You can block all day on LAN for 53, and you could still see outbound on your wan for 53... Maybe pfsense itself was set to directly ask 8.8.8.8 in its general settings vs JUST loopback..

                As to floating rules for 853.. Why would think you need those in the first place?

                And you can not stop pfsense from talking outbound, you can put rules all day long on floating tab.. Traffic generated by pfsense can not be blocked... There are HIDDEN rules.. So you could create an any or out rule on your wan for 53 in floating, make it quick - and still pfsense would be allowed out.

                So why don't you actually open up the sniff of that to 53 traffic and see what the query was actually for.. Which should give you some clue to its origin.

                But yes you can sniff on your wan, for port 53 to catch any traffic that was going out of your network to validate your setup is working..

                An intelligent man is sometimes forced to be drunk to spend time with his fools
                If you get confused: Listen to the Music Play
                Please don't Chat/PM me for help, unless mod related
                SG-4860 24.11 | Lab VMs 2.8, 24.11

                1 Reply Last reply Reply Quote 0
                • T
                  TDJ211 @johnpoz
                  last edited by

                  @johnpoz said in Setup DNS over TLS on pfSense 2.4.4 p2 - Guide:

                  You do understand that the dnssec if your going to forward is pointless right... Using quad9 will pass the dnssec test you pointed to be it you enable dnssec or not... Since they do dnssec without you having enable it..

                  Just setup your end machine to point to quad9 for dns... Then run that test you linked too.

                  If your going to forward in unbound, there is ZERO reason to checkbox the dnssec. Resolvers validate dnssec, not forwarders.

                  dnssec works

                  So go ahead and remove your checkbox from dnssec in unbound, and try your test again.. Having your forwarder do dnssec is pretty freaking pointless, and only causes unneeded dns traffic.

                  Does the same hold true DNSSEC is unnecessary when in forwarding mode for cloudflare 1.1.1.1 ?

                  1 Reply Last reply Reply Quote 0
                  • GertjanG
                    Gertjan
                    last edited by

                    Rule of thumb : when forwarding, dnssec is useless/won't work/has no sense.

                    No "help me" PM's please. Use the forum, the community will thank you.
                    Edit : and where are the logs ??

                    1 Reply Last reply Reply Quote 1
                    • R
                      Repo @LaUs3r
                      last edited by

                      @LaUs3r

                      Having DNSSEC enabled not only is not necessary but it breaks the function of TLS.

                      Cloudflares DNS checker shows it not working if DNSSEC is running at least.

                      1 Reply Last reply Reply Quote 0
                      • johnpozJ
                        johnpoz LAYER 8 Global Moderator
                        last edited by

                        having dnssec enabled shouldn't break dot.. But when your forwarding - dnssec is pointless.. If you forward and where you forward their resolver is doing dnssec, you get it by default... If not, then you asking for it doesn't get you anything..

                        When you forward - dnssec should be OFF, no matter how you look at it.

                        An intelligent man is sometimes forced to be drunk to spend time with his fools
                        If you get confused: Listen to the Music Play
                        Please don't Chat/PM me for help, unless mod related
                        SG-4860 24.11 | Lab VMs 2.8, 24.11

                        1 Reply Last reply Reply Quote 0
                        • jimpJ
                          jimp Rebel Alliance Developer Netgate
                          last edited by

                          DNSSEC is for validating authenticity (prevent spoofing, hijacked authoritative nameservers, etc).

                          DNS over TLS is for encrypting transport (privacy).

                          They do different things and are both are useful, especially together, for increased security and privacy.

                          There is no reason you can't run both, unless whatever you are forwarding to does not support one or the other.

                          Remember: Upvote with the ๐Ÿ‘ button for any user/post you find to be helpful, informative, or deserving of recognition!

                          Need help fast? Netgate Global Support!

                          Do not Chat/PM for help!

                          1 Reply Last reply Reply Quote 0
                          • johnpozJ
                            johnpoz LAYER 8 Global Moderator
                            last edited by johnpoz

                            @jimp said in Setup DNS over TLS on pfSense 2.4.4 p2 - Guide:

                            There is no reason you can't run both, unless whatever you are forwarding to does not support one or the other.

                            This could be confusing.. if your forwarding - then you do not need to enable dnssec on the forwarder.. Its makes no sense to do so.. Its just going to cause extra traffic in your dns query. If where your forwarding is doing dnssec - the forwarder doesn't matter for any sort of dnssec settings. The resolver your forwarding too either does dnssec or it doesn't

                            An intelligent man is sometimes forced to be drunk to spend time with his fools
                            If you get confused: Listen to the Music Play
                            Please don't Chat/PM me for help, unless mod related
                            SG-4860 24.11 | Lab VMs 2.8, 24.11

                            1 Reply Last reply Reply Quote 0
                            • jimpJ
                              jimp Rebel Alliance Developer Netgate
                              last edited by

                              Your forwarder can validate DNSSEC for you, provided it supports that function. Assuming you trust the server you are forwarding to.

                              Remember: Upvote with the ๐Ÿ‘ button for any user/post you find to be helpful, informative, or deserving of recognition!

                              Need help fast? Netgate Global Support!

                              Do not Chat/PM for help!

                              1 Reply Last reply Reply Quote 0
                              • johnpozJ
                                johnpoz LAYER 8 Global Moderator
                                last edited by johnpoz

                                The resolver would of have already validated it if doing dnssec, if it didn't validate it wouldn't give you an answer..

                                It is pointless to have a forwarder do anything with dnssec.. Unless you want some eyecandy in say pihole or something on which records were validated via dnssec and which were not. But makes no difference - if the resolver is running dnssec, and something doesn't validate - you wouldn't get an answer.

                                An intelligent man is sometimes forced to be drunk to spend time with his fools
                                If you get confused: Listen to the Music Play
                                Please don't Chat/PM me for help, unless mod related
                                SG-4860 24.11 | Lab VMs 2.8, 24.11

                                1 Reply Last reply Reply Quote 0
                                • jimpJ
                                  jimp Rebel Alliance Developer Netgate
                                  last edited by

                                  Maybe in a perfect world if the upstream forwarder unilaterally did DNSSEC for everything. But in reality, if you don't request validation, it won't outright deny the query like that. At least with some forwarding services like Google public DNS, you have to send the AD/DO flag in the query or they won't drop responses that fail DNSSEC tests.

                                  Remember: Upvote with the ๐Ÿ‘ button for any user/post you find to be helpful, informative, or deserving of recognition!

                                  Need help fast? Netgate Global Support!

                                  Do not Chat/PM for help!

                                  1 Reply Last reply Reply Quote 0
                                  • johnpozJ
                                    johnpoz LAYER 8 Global Moderator
                                    last edited by johnpoz

                                    no that is not the way a dnssec resolver works.

                                    here I asked quad 9 for a fqdn that fails validation

                                    ; <<>> DiG 9.14.4 <<>> @9.9.9.9 www.dnssec-failed.org
                                    ; (1 server found)
                                    ;; global options: +cmd
                                    ;; Got answer:
                                    ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 39214
                                    ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
                                    
                                    ;; OPT PSEUDOSECTION:
                                    ; EDNS: version: 0, flags:; udp: 4096
                                    ;; QUESTION SECTION:
                                    ;www.dnssec-failed.org.         IN      A
                                    
                                    ;; Query time: 230 msec
                                    ;; SERVER: 9.9.9.9#53(9.9.9.9)
                                    ;; WHEN: Thu Sep 26 08:02:01 Central Daylight Time 2019
                                    ;; MSG SIZE  rcvd: 50
                                    

                                    I did not ASK for any dnssec - it just does it..

                                    Now if I ask a non dnssec resolver - say 4.2.2.2, I get an answer

                                     <<>> DiG 9.14.4 <<>> @4.2.2.2 www.dnssec-failed.org
                                    ; (1 server found)
                                    ;; global options: +cmd
                                    ;; Got answer:
                                    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38029
                                    ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
                                    
                                    ;; OPT PSEUDOSECTION:
                                    ; EDNS: version: 0, flags:; udp: 8192
                                    ;; QUESTION SECTION:
                                    ;www.dnssec-failed.org.         IN      A
                                    
                                    ;; ANSWER SECTION:
                                    www.dnssec-failed.org.  7200    IN      A       69.252.193.191
                                    www.dnssec-failed.org.  7200    IN      A       68.87.109.242
                                    
                                    ;; Query time: 38 msec
                                    ;; SERVER: 4.2.2.2#53(4.2.2.2)
                                    ;; WHEN: Thu Sep 26 08:03:45 Central Daylight Time 2019
                                    ;; MSG SIZE  rcvd: 82
                                    

                                    google does dnssec

                                    ; <<>> DiG 9.14.4 <<>> @8.8.8.8 www.dnssec-failed.org
                                    ; (1 server found)
                                    ;; global options: +cmd
                                    ;; Got answer:
                                    ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 25753
                                    ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
                                    
                                    ;; OPT PSEUDOSECTION:
                                    ; EDNS: version: 0, flags:; udp: 512
                                    ;; QUESTION SECTION:
                                    ;www.dnssec-failed.org.         IN      A
                                    
                                    ;; Query time: 80 msec
                                    ;; SERVER: 8.8.8.8#53(8.8.8.8)
                                    ;; WHEN: Thu Sep 26 08:04:33 Central Daylight Time 2019
                                    ;; MSG SIZE  rcvd: 50
                                    

                                    https://www.internetsociety.org/blog/2013/05/confirmed-googles-public-dns-now-performs-dnssec-validation-for-all-queries-by-default/

                                    you do not have to ask - when you forward asking for dnssec is pointless!!! Other than maybe your tool providing some eyecandy on which ones pass and which ones don't have it.

                                    An intelligent man is sometimes forced to be drunk to spend time with his fools
                                    If you get confused: Listen to the Music Play
                                    Please don't Chat/PM me for help, unless mod related
                                    SG-4860 24.11 | Lab VMs 2.8, 24.11

                                    1 Reply Last reply Reply Quote 0
                                    • jimpJ
                                      jimp Rebel Alliance Developer Netgate
                                      last edited by

                                      I recall digging into it a while back and you had to have DNSSEC enabled to get that behavior (at least from Google public DNS servers). I didn't think it was that long ago, though. Maybe it was before 2013. I still wouldn't say it's pointless to ensure you are requesting it.

                                      DNS over TLS still only covers privacy and first-hop validation (Assuming you are checking the hostname/cert), though.

                                      Remember: Upvote with the ๐Ÿ‘ button for any user/post you find to be helpful, informative, or deserving of recognition!

                                      Need help fast? Netgate Global Support!

                                      Do not Chat/PM for help!

                                      1 Reply Last reply Reply Quote 1
                                      • johnpozJ
                                        johnpoz LAYER 8 Global Moderator
                                        last edited by johnpoz

                                        no its pointless.. Your forwarding, how is your forwarding even going to validate the records it gets back.. Does it have the anchors? How is it actually going to do the validation?

                                        So I ask 4.2.2.2 +dnssec - still get a freaking answer. I get back the rrsig

                                        ; <<>> DiG 9.14.4 <<>> @4.2.2.2 www.dnssec-failed.org +dnssec
                                        ; (1 server found)
                                        ;; global options: +cmd
                                        ;; Got answer:
                                        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44796
                                        ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
                                        
                                        ;; OPT PSEUDOSECTION:
                                        ; EDNS: version: 0, flags: do; udp: 8192
                                        ;; QUESTION SECTION:
                                        ;www.dnssec-failed.org.         IN      A
                                        
                                        ;; ANSWER SECTION:
                                        www.dnssec-failed.org.  7200    IN      A       69.252.193.191
                                        www.dnssec-failed.org.  7200    IN      A       68.87.109.242
                                        www.dnssec-failed.org.  7200    IN      RRSIG   A 5 3 7200 20191002174442 20190925143942 44973 dnssec-failed.org. cJnvSoQfMtWHg4KWySkDAEaHaqtcw+BlHNC2+MuT1BSJDpn5fv3fIEyG HuPYJ4Pd9N38QgBDA4Bcdfc0O/P5qzvP6+ixCwLNJ9FppRrNVuPG6QCB pIApBzleHvfwKPZUQ1FKXjOaCEb/vQJhJ/QvwSSmz4LLF3sh0M3s8nvK hK8=
                                        
                                        ;; Query time: 96 msec
                                        ;; SERVER: 4.2.2.2#53(4.2.2.2)
                                        ;; WHEN: Thu Sep 26 08:10:46 Central Daylight Time 2019
                                        ;; MSG SIZE  rcvd: 259
                                        

                                        Means nothing.. How is it validated by the forwarder? If the forwarder did some sort of validation? You clearly trust this where you forwared, and you picked it to do dnssec for you.. What is the point in trying to doublecheck what it sends you.. It could send you anything it wanted to be honest..

                                        If you want dnssec, run your own resolver (unbound) if you want to forward and have dnssec, then pick a NS you forward to that does dnssec for you. Its that simple - if you forward there is no reason for the forwarder to ask about dnssec. If you want to forward with dot or doh and dnssec - pick a NS to forward to that does what you want to use. Enabling dnssec on a forwarder, that is forwarding to something that doesn't do dnssec is pointless. Having dnssec enabled on your forwarder using forwarding to a resolver that does dnssec is pointless.

                                        If you forward to something that is suppose to be doing dnssec, and you get back an answer for something that should be failing dnssec - then where you forwarding to is broken, so you asking for dnssec is not going to fix their broken setup even if you did get back rrsig for that record..

                                        An intelligent man is sometimes forced to be drunk to spend time with his fools
                                        If you get confused: Listen to the Music Play
                                        Please don't Chat/PM me for help, unless mod related
                                        SG-4860 24.11 | Lab VMs 2.8, 24.11

                                        1 Reply Last reply Reply Quote 1
                                        • jimpJ
                                          jimp Rebel Alliance Developer Netgate
                                          last edited by

                                          It's not about the client validating it locally but about telling the server "yes, I would like this validated" if the server does so conditionally. Sure, you can pick a forwarder that does what you want 100% of the time but that may not be in your control.

                                          It's not an absolute situation. You can't say it's worthless 100% of the time because you do not know what the servers are doing. Sure, the ones you checked behave that way, but that doesn't mean everyone's always will. You can't make those assumptions.

                                          Remember: Upvote with the ๐Ÿ‘ button for any user/post you find to be helpful, informative, or deserving of recognition!

                                          Need help fast? Netgate Global Support!

                                          Do not Chat/PM for help!

                                          1 Reply Last reply Reply Quote 0
                                          • johnpozJ
                                            johnpoz LAYER 8 Global Moderator
                                            last edited by

                                            Name one public ns you can ask for dns, that doesn't do dnssec unless you ask it... There is no such animal that I am aware of.. But ok - that is one scenario where could make sense - but wouldn't it just be better solution to just use a forwarder you "know" is doing dnssec.. Which pretty much all the major players are doing now.. Some even have specific IPs you can use that don't do it, etc.But their normal IPs do it out of the box.

                                            If the ns your forwarding to doesn't do dnssec unless you ask it, how do you know its doing it even when you ask it or doing it correctly? You can not assume it would do such a thing.

                                            If you want to turn it on, have it - it shouldn't break anything... I just do not see a point in doing such a thing, ie pointless ;)

                                            If I hire a doorman (that I TRUST) to check ids to make sure they are valid.. And his duty is to validate them (he is doing dnssec).. What is the point in asking him to do it? Oh can you write down the info and send it to me as well, so I can double check your work (so you don' trust him?).. But since he is the one writing down the info on how he validated the ID, how are you to know that its not valid from looking at that info... He could send you anything he wants to send you..

                                            If I hire a doorman, but he only validates the ids if I ask him - so I ask him every time there is an ID to check... He is a pretty shitty doorman, why wouldn't I just hire one that does that already - so I don't have to ask him..

                                            If I hire a doorman that doesn't check IDs, but if I ask him he will pass on the info he has for me to check it, but I don't have a valid way to check it - what is the point?

                                            An intelligent man is sometimes forced to be drunk to spend time with his fools
                                            If you get confused: Listen to the Music Play
                                            Please don't Chat/PM me for help, unless mod related
                                            SG-4860 24.11 | Lab VMs 2.8, 24.11

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.