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

    Unable to illegal DNS record from pfsense (DNS-resolver corruption)

    Scheduled Pinned Locked Moved DHCP and DNS
    66 Posts 4 Posters 4.3k 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.
    • A
      asadz @BBcan177
      last edited by

      @bbcan177 said in Unable to illegal DNS record from pfsense (DNS-resolver corruption):

      I don't have much to add to what Johnpoz wrote, but I did a Google search and found the following that might help:

      See [0022]:
      https://patents.google.com/patent/US20070195800

      Thanks bbcan177, but this is not a design issue in my view all was working fine on Dec-14, you can see in dns-reply.logs above where the 100.2.3.4 first appear.

      I tested with my vpn client DNS addresses set to 8.8.8.8/4.4.4.4 and on DNS resolver there is no static mapping or override for

      pingme.mydomain.local

      but still i'm getting response from 100., I think this is due to stale state table entry for 100. can i get ride of them without restarting firewall?. Thankyou

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

        @asadz said in Unable to illegal DNS record from pfsense (DNS-resolver corruption):

        I think this is due to stale state table entry for 100

        No it has nothing to do with a state... You still have not answered the basic question of where does your AD point to??

        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

        A 2 Replies Last reply Reply Quote 0
        • A
          asadz @johnpoz
          last edited by

          @johnpoz you mean the DNS server it uses?

          1 Reply Last reply Reply Quote 0
          • A
            asadz @johnpoz
            last edited by

            @johnpoz it points to itself as primary and as alternative to pfsense

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

              @asadz said in Unable to illegal DNS record from pfsense (DNS-resolver corruption):

              No that is NOT what I mean, and DC should never point to anything but itself.. Or its the other DC running dns running in your network.

              Where does it go when a client asks it for something not in its namespace.. You setup MS dns to either forward or resolve - just like you do unbound in pfsense. The dns set on the interface has nothing to do with that.

              forwarders.jpg

              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

              A 2 Replies Last reply Reply Quote 1
              • A
                asadz @johnpoz
                last edited by

                @johnpoz pls see the output the second ip is pfsense interface (web-ui). First is second DC.p0.png

                1 Reply Last reply Reply Quote 0
                • A
                  asadz @johnpoz
                  last edited by

                  @johnpoz should i check DC2 settings as well, which is second domain controller..

                  A johnpozJ 2 Replies Last reply Reply Quote 0
                  • A
                    asadz @asadz
                    last edited by

                    @asadz also i checked DC2 points to PFsense infra interface (don't know why) should it not point to DC1 server IP address?

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

                      @asadz and what is this 192.168.4.4?

                      And yes you need to check both of them.

                      If they are not set to forward to pfsense.. And you still resolve your whatever to 100, then you prove to yourself its your AD dns issue..

                      Forward them to say google dns - these are the name servers used for resolving stuff not in your name space - they should not point to your AD for dns.. These are used to resolve the internet stuff, not stuff you are authoritative for forwarding to AD.. When then does what with it when asking for say www.google.com - forwards it back to the other one?

                      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

                      A 1 Reply Last reply Reply Quote 1
                      • A
                        asadz @johnpoz
                        last edited by

                        @johnpoz great makes 100% sense let me try this variation now.

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          asadz @asadz
                          last edited by

                          @asadz
                          test done on DC1, DC2 i removed all pfsense IP put 8.8.8.8 in DC2,
                          in fwd section of DC1 i have put IP address of DC2, and I also tried put 8.8.8.8 with no reference of DC2, still resolves to 100.* :(

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

                            @asadz said in Unable to illegal DNS record from pfsense (DNS-resolver corruption):

                            still resolves to 100.* :(

                            Because you have an issue with your AD, that was what I have been saying since the start..

                            in fwd section of DC1 i have put IP address of DC2

                            Pointless.. If client asks dc1 for say www.google.com which you are not authoritative for, what good is it to forward that to dc2? It is not authoritative for google.com either - so it would just have to forward that query as well.

                            The forwarders in your AD dns should point to what can resolve stuff you are not authoritative for.. The dns set on the server itself should point to itself, and the other AD dns running in your network..

                            My guess to your issue is you have a wildcard in your AD dns, do you have a * as a record.. this would resolve anything.otherthing.whatever.something.local to that IP.. Anything that does not have a specific record say host.local or sb.whatever.local to what that wildcard entry.

                            So if a client happens to ask for sb.scorecard.com.local - then it would return the wildcard record.

                            But now that you are not forwarding to pfsense, and your client directly asks your AD dns for whatever - and it returns that 100.x address you know for sure its an issue in your AD dns.. Or where your AD forwards.. but .local should never return anything on the public internet - it is not a valid tld.. And the 2 examples you gave of sb.domain.tld sure do not resolve 100.x on the public internet - one is not a valid domain, and the other resolves to public IP addresses that do not start with 100.

                            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
                            • A
                              asadz
                              last edited by

                              Because you have an issue with your AD, that was what I have been saying since the start..

                              but it was the pfsense according to dns-reply.log that return the bad ip address, on 14th dec the AD 192.168.3.6 did request for sb.scorecardsearch.com and it was returned that address. So, it behave as expected for ip/domains not under its control it fwd as expected.

                              My guess to your issue is you have a wildcard in your AD dns, do you have a * as a record.. this would resolve anything.otherthing.whatever.something.local to that IP.. Anything that does not have a specific record say host.local or sb.whatever.local to what that wildcard entry.

                              any specific place to check (please note im not an AD guy), i checked in forward and reverse lookup section found none with * in it

                              But now that you are not forwarding to pfsense, and your client directly asks your AD dns for whatever - and it returns that 100.x address you know for sure its an issue in your AD dns.. Or where your AD forwards.. but .local should never return anything on the public internet - it is not a valid tld.. And the 2 examples you gave of sb.domain.tld sure do not resolve 100.x on the public internet - one is not a valid domain, and the other resolves to public IP addresses that do not start with 100.

                              Yes, i get your point AD is not forgetting this mapping , it is holding on to something also the TTL value 0 was a indicator as well, the request is not leaving the network (and going to internet)
                              what about stale records? also i'm able to resolve hostnames correctly with local nslookup/ping from DC, but that shouldn't matter as its local.

                              A johnpozJ 2 Replies Last reply Reply Quote 0
                              • A
                                asadz @asadz
                                last edited by

                                @asadz on DC this is output of nslookup

                                Default Server:  VM-DC1.dummy.local
                                Address:  192.168.3.6
                                
                                > sb.scorecardsearch.com
                                Server:  VM-DC1.dummy.local
                                Address:  192.168.3.6
                                
                                Non-authoritative answer:
                                Name:    sb.scorecardsearch.com
                                Address:  100.2.3.4
                                
                                1 Reply Last reply Reply Quote 0
                                • johnpozJ
                                  johnpoz LAYER 8 Global Moderator @asadz
                                  last edited by johnpoz

                                  @asadz said in Unable to illegal DNS record from pfsense (DNS-resolver corruption):

                                  but it was the pfsense according to dns-reply.log that return the bad ip address

                                  well yeah if pfsense asks your AD, and it returned that 100 then it would be cached.. This is why separation now allows you to figure out where the problem is.

                                  Clear your AD dns cache.. if it still returns that address then you need to figure out why.. Sniff to see if your AD forwards that fqdn and gets back that answer. Or if when you client asks it just gets returned..

                                  And again I would highly suggest you turn on debug when you do your nslookup - so you can validate exactly what is getting asked.

                                  That "Non-authoritative answer" points to that being in cache.

                                  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

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    asadz @johnpoz
                                    last edited by asadz

                                    @johnpoz I will run wireshark then, but i don't know if its install winpcap drivers on DC idk.

                                    > sb.scorecardsearch.com
                                    Server:  VM-DC1.dummy.local
                                    Address:  192.168.3.6
                                    
                                    ------------
                                    Got answer:
                                        HEADER:
                                            opcode = QUERY, id = 10, rcode = NXDOMAIN
                                            header flags:  response, auth. answer, want recursion, recursion avail.
                                            questions = 1,  answers = 0,  authority records = 1,  additional = 0
                                    
                                        QUESTIONS:
                                            sb.scorecardsearch.com.dummy.local, type = A, class = IN
                                        AUTHORITY RECORDS:
                                        ->  dummy.local
                                            ttl = 3600 (1 hour)
                                            primary name server = vm-dc1.dummy.local
                                            responsible mail addr = hostmaster.dummy.local
                                            serial  = 15316
                                            refresh = 900 (15 mins)
                                            retry   = 600 (10 mins)
                                            expire  = 86400 (1 day)
                                            default TTL = 3600 (1 hour)
                                    
                                    ------------
                                    ------------
                                    Got answer:
                                        HEADER:
                                            opcode = QUERY, id = 11, rcode = NXDOMAIN
                                            header flags:  response, auth. answer, want recursion, recursion avail.
                                            questions = 1,  answers = 0,  authority records = 1,  additional = 0
                                    
                                        QUESTIONS:
                                            sb.scorecardsearch.com.dummy.local, type = AAAA, class = IN
                                        AUTHORITY RECORDS:
                                        ->  dummy.local
                                            ttl = 3600 (1 hour)
                                            primary name server = vm-dc1.dummy.local
                                            responsible mail addr = hostmaster.dummy.local
                                            serial  = 15316
                                            refresh = 900 (15 mins)
                                            retry   = 600 (10 mins)
                                            expire  = 86400 (1 day)
                                            default TTL = 3600 (1 hour)
                                    
                                    ------------
                                    ------------
                                    Got answer:
                                        HEADER:
                                            opcode = QUERY, id = 12, rcode = NOERROR
                                            header flags:  response, want recursion, recursion avail.
                                            questions = 1,  answers = 1,  authority records = 0,  additional = 0
                                    
                                        QUESTIONS:
                                            sb.scorecardsearch.com, type = A, class = IN
                                        ANSWERS:
                                        ->  sb.scorecardsearch.com
                                            internet address = 100.2.3.4
                                            ttl = 0 (0 secs)
                                    
                                    ------------
                                    Non-authoritative answer:
                                    ------------
                                    Got answer:
                                        HEADER:
                                            opcode = QUERY, id = 13, rcode = NOERROR
                                            header flags:  response, want recursion, recursion avail.
                                            questions = 1,  answers = 0,  authority records = 1,  additional = 0
                                    
                                        QUESTIONS:
                                            sb.scorecardsearch.com, type = AAAA, class = IN
                                        AUTHORITY RECORDS:
                                        ->  scorecardsearch.com
                                            ttl = 363 (6 mins 3 secs)
                                            primary name server = ns1.bodis.com
                                            responsible mail addr = dnsadmin.bodis.com
                                            serial  = 2017062202
                                            refresh = 10800 (3 hours)
                                            retry   = 3600 (1 hour)
                                            expire  = 1209600 (14 days)
                                            default TTL = 3600 (1 hour)
                                    
                                    ------------
                                    Name:    sb.scorecardsearch.com
                                    Address:  100.2.3.4
                                    
                                    johnpozJ 1 Reply Last reply Reply Quote 0
                                    • johnpozJ
                                      johnpoz LAYER 8 Global Moderator @asadz
                                      last edited by johnpoz

                                      @asadz said in Unable to illegal DNS record from pfsense (DNS-resolver corruption):

                                          QUESTIONS:
                                              sb.scorecardsearch.com, type = A, class = IN
                                          ANSWERS:
                                          ->  sb.scorecardsearch.com
                                              internet address = 100.2.3.4
                                              ttl = 0 (0 secs)
                                      

                                      Well that shows your AD returned that answer..

                                      Did you sniff on traffic on your AD dns when that was asked? Did you flush your cache? Sniff will validate to you that your AD answered that on its own, or got that answer after asking its forwarder..

                                      Or look to your AD dns logs - don't recall the level of logging, but you would hope you could log if answered on its own or got that from one of its forwarders..

                                      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

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        asadz @johnpoz
                                        last edited by

                                        @johnpoz

                                        Well that shows your AD returned that answer..
                                        from the TTL value i guess?

                                        I'm doing a trace using netsh, and using message analyzer to analyse it, will share outcome soon.

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

                                          @asadz you could also turn on logging

                                          simple google found this
                                          http://woshub.com/enable-dns-query-logging-parse-logfile/

                                          What your wanting to validate is if your AD dns answered it from something it has a record for - or did it get that answer from where your forwarding.. I still say you have that record setup. Or you did not flush the cache?

                                          ttl=0 is for sure not the ttl value of that record..

                                          This is the TTL from the authoritative ns for that domain

                                          ;; QUESTION SECTION:
                                          ;sb.scorecardsearch.com.                IN      A
                                          
                                          ;; ANSWER SECTION:
                                          sb.scorecardsearch.com. 10800   IN      A       199.59.243.222
                                          
                                          ;; Query time: 15 msec
                                          ;; SERVER: 185.85.196.36#53(185.85.196.36)
                                          

                                          If you got it from cache it would be something less than that, but a TTL 0 points to either that ttl is set in your dns, or you have your dns set to return ttl of 0 on stuff that has timed out, this is a special setting.. I have not worked with MS dns in such a long time I am not aware of that being a feature or not. I don't ever recall that feature back when I was dealing with ms dns on a daily basis - but that was many years ago.

                                          see when I ask my dns for that record, clearly I get back a cached item since the ttl value is less than original value, etc. And it was resolved some time ago because the cach is couple 1000 seconds lower than the original

                                          ;; QUESTION SECTION:
                                          ;sb.scorecardsearch.com.                IN      A
                                          
                                          ;; ANSWER SECTION:
                                          sb.scorecardsearch.com. 8791    IN      A       199.59.243.222
                                          
                                          ;; Query time: 7 msec
                                          ;; SERVER: 192.168.3.10#53(192.168.3.10)
                                          

                                          When you do your sniff - you need to be sniffing on the server, on the interface(s) that the server would use to talk to its forwarders.. If you ask it and you see no query to the forwarders for that, then the dns returned it via its own record, or it returned it from cache. That you see that it was non authoritative points to it having it in its cache or getting it from where it forwarded to - but ttl=0 makes really no sense..

                                          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

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            asadz @johnpoz
                                            last edited by

                                            @johnpoz here is the result of etl files analysis.codeme.png an.png

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