Discussion:
Problem with resolver/host
Doug Hardie
2021-04-20 21:12:12 UTC
Permalink
I suspect this is an issue with the resolver, but it could also be in host. I have the following in /etc/resolv.conf:

# Generated by resolvconf
nameserver fe80::213:72ff:fec3:180f%bge0
nameserver fe80::120c:6bff:fee9:cdf7%bge0

There is a DNS server running at the first address that supplies IPv6 addresses. When I ping the first address, it succeeds:

test# ping fe80::213:72ff:fec3:180f%bge0
PING6(56=40+8+8 bytes) fe80::6a5b:35ff:fed3:4eda%bge0 --> fe80::213:72ff:fec3:180f%bge0
16 bytes from fe80::213:72ff:fec3:180f%bge0, icmp_seq=0 hlim=64 time=0.321 ms
16 bytes from fe80::213:72ff:fec3:180f%bge0, icmp_seq=1 hlim=64 time=0.553 ms
16 bytes from fe80::213:72ff:fec3:180f%bge0, icmp_seq=2 hlim=64 time=0.544 ms
16 bytes from fe80::213:72ff:fec3:180f%bge0, icmp_seq=3 hlim=64 time=0.424 ms

However, host client.global.example return an error:

test# host client.global.example
;; connection timed out; no servers could be reached

ktrace of host shows that either host or the resolver is trying to use the address without the %bge0 which is why that error occurs:

2027 host STRU struct sockaddr { AF_INET6, [fe80::213:72ff:fec3:180f]:53 }
2027 host RET sendto -1 errno 51 Network is unreachable

Is this a bug or is there some configuration item I have missed:

-- Doug
Doug Hardie
2021-05-03 00:52:22 UTC
Permalink
Post by Doug Hardie
# Generated by resolvconf
nameserver fe80::213:72ff:fec3:180f%bge0
nameserver fe80::120c:6bff:fee9:cdf7%bge0
test# ping fe80::213:72ff:fec3:180f%bge0
PING6(56=40+8+8 bytes) fe80::6a5b:35ff:fed3:4eda%bge0 --> fe80::213:72ff:fec3:180f%bge0
16 bytes from fe80::213:72ff:fec3:180f%bge0, icmp_seq=0 hlim=64 time=0.321 ms
16 bytes from fe80::213:72ff:fec3:180f%bge0, icmp_seq=1 hlim=64 time=0.553 ms
16 bytes from fe80::213:72ff:fec3:180f%bge0, icmp_seq=2 hlim=64 time=0.544 ms
16 bytes from fe80::213:72ff:fec3:180f%bge0, icmp_seq=3 hlim=64 time=0.424 ms
test# host client.global.example
;; connection timed out; no servers could be reached
2027 host STRU struct sockaddr { AF_INET6, [fe80::213:72ff:fec3:180f]:53 }
2027 host RET sendto -1 errno 51 Network is unreachable
I have filed a bug report: Bug 255316 on this. However, it is still sitting in limbo:

Assignee: freebsd-bugs (Nobody)

I am not sure that the patch I provided is not going to break something else. I am not sure this is the right place to ask these questions. The resolver is used for more than just finding the default route. I also have no idea how to build the parts needed to test it. I know the patch works fine in a simple test case where I extracted that portion of the code as a standalone test. I don't want to do a buildworld as that machine has no cooling and overheats quickly.

-- Doug

Loading...