This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Issue Resolving DNS in Border Router

I'm following the tutorial in the NRF52840 SDK on setting up a Thread Border Router here and I've run into some issues during testing. For one, I'm trying to resolve ipv4.google.com on the dev kit running the CLI, and in response I get Error 28: ResponseTimeout. Looking into the system log for OpenWRT, the dnsmasq service fails to create a listening socket as port 53 is in use. As a result, the service doesn't start. If I try to ping 8.8.8.8 directly from the OpenWRT command line, I get a response, but pinging google.com returns an unknown host or a bad address error (depending on if I use the command line interface or the web interface).

I'd really appreciate any help you folks can provide and will update with any additional information requested. Thanks!

  • Which version of the Thread Boarder Router and the SDK for Thread do you use? And how is it connected to internet (Wifi/Ethernet)? Do you have IPv6 connection, or only IPv4 connection?

  • Hi Jørgen, I'm currently using version 0.10.0 of the SDK for Thread and version 0.10.0-1.alpha on the OpenWRT build with the Thread stack. I moved the setup to my work network today and was able to resolve the dns for ipv4.google.com. The border router is connected to the internet via ethernet and both my work and home connection are IPv4. Also, I still can't ping the primary google dns server (limited because of my IPv4 connection?).

    Edit: Right after I posted this, I successfully pinged the primary Google DNS server from the CLI. I'd still appreciate any help in resolving this issue on my home network. Thanks!

  • Hi TravisFS,

    Great that you got it working on the work network!

    I have spoken to our Thread developers about your issues, and have the following comments:

    1. The dnsmasq error in the OpenWRT log is normal and can be ignored.
    2. Failing DNS resolve on the OpenWRT is expected, as this is not a needed feature in the BR.
    3. Successfull pinging of 8.8.8.8 from OpenWRT is expected, as it have IPv4 connectivity.

    The failed DNS resolve on the Thread node is not expected. Since you say you only have IPv4 connectivity, did you use the DNS64 command as described in the documentation:

    If the host does not have IPv6 connectivity, a Thread device may still connect with a IPv4 cloud utilizing the NAT64 and DNS64 protocols. To obtain a a translated IPv6 address, you must specify the DNS resolver fd00:0064:0123:4567::1 which is running on the Thread Border Router, as shown below:

    > dns resolve ipv4.google.com
    > DNS response for ipv4.google.com - Error 25
    > dns resolve ipv4.google.com fd00:0064:0123:4567::1
    > DNS response for ipv4.google.com - [fd00:64:123:4567:0:0:acd9:14ae] TTL: 300
    > ping fd00:64:123:4567:0:0:acd9:14ae
    > 8 bytes from fd00:64:123:4567:0:0:acd9:14ae: icmp_seq=3 hlim=55 time=42ms
    

    Error 25 indicates that there is no IPv6 address returned as the ipv4.google.com does not have any.

    If you still is not able to resolve the DNS, please message me (don't post in public) output from ifconfig on OpenWRT and output of ipaddr on Thread CLI node.

    Best regards,

    Jørgen

  • Dear Jorgen and TravisFS,

    I have the same problem. ping 8.8.8.8 from RPi is ok. But I cannot do "dns resolve ipv4.google.com" from my CLI Thread node. I get the error:

    DNS response for ipv4.google.com - Error 28: ResponseTimeout
    

    When I do "ping fd00:0064:0123:4567::0808:0808" at my CLI Thread node I get:

    8 bytes from fd00:64:123:4567:0:0:808:808: icmp_seq=8 hlim=43 time=43ms
    

    But when I use another preview development kit board (0.9.0, same revision as the board from above), I cannot ping

    ping fd00:0064:0123:4567::0808:0808
    

    And I get the Error 28 with the exact same binary file loaded onto the board.

    And for this test:

    dns resolve coap.thethings.io fd00:0064:0123:4567::1
    

    I am getting this error:

     DNS response for coap.thethings.io - Error 28: ResponseTimeout
    

    Do you have any update on this?

    Thank you!

  • This is maybe interesting. How did I manage to clear the MAC address (ID=13 has the issue)???

    > router table
    | ID | RLOC16 | Next Hop | Path Cost | LQI In | LQI Out | Age | Extended MAC                                              |
    +----+--------+----------+-----------+--------+---------+-----+-----------------                                         -+
    | 12 | 0x3000 |       42 |         1 |      3 |       3 |  21 | something...........                                          |
    | 13 | 0x3400 |       13 |         0 |      0 |       0 |  87 | 0000000000000000                                          |
    | 26 | 0x6800 |       42 |         1 |      3 |       3 |   5 | something...........                                          |
    | 42 | 0xa800 |       12 |         1 |      3 |       3 |   4 | something...........                                         |
    
Related