OpenThread border router DNS - use domain directive from resolve.conf

I am using the border router's upstream DNS and $ sudo ot-ctl nat64 state shows that it is active. My Thread child device can resolve hosts like google.com without issue. The upstream DNS uses "iot-edge" as an alias for "pc7.ab.cd.com." However, if my child device does a DNS lookup for "iot-edge" using otDnsClientResolveIp4Address() it gets a "No such name error" as seen below.

Similarly, I get an NXDOMAIN error on my Raspberry Pi border router when I try $ dig iot-edge

However, the Pi is able to resolve "iot-edge" when I add the +search flag. This flag uses the search list defined by the searchlist or domain directive in resolv.conf

What setting am I missing in my border router's NAT64 setup to duplicate the +search flag's functionality and enable these alias lookups? Thank you in advance!

Parents Reply
  • I am currently sending DNS requests to the border router and using its upstream DNS server to fulfil requests. I have set up the border router as instructed here and use `otDnsClientResolveIp4Address()` on the Thread child to initiate these requests.

    I think that I might want to use `$ sudo ot-ctl srp server domain [domain-name]` on the border router and `grep` the domain name from `/etc/resolv.conf`. Otherwise, the border router seems to use `default.service.arpa.` as the default domain. I will try this and report back on how it works.

Children
No Data
Related