I have been looking at this in detail with the OP. wget can resolve DNS names, curl cannot, dig cannot - by default. curl within docker can resolve DNS names. Comparing PCAPs of these various DNS requests, the failing requests include the OPT record, while the successful requests do not. The failing requests are being dropped somewhere, presumably due to being too large. Using dig with the "+noedns" option allows it to query DNS names successfully. When the DNS server is set to default, meaning OP's router, the same behavior happens, so we think the router is likely the failure point. Unfortunately, the router is little more than a black box from the internet provider, so fixing the problem there does not appear to be an option. Presumably the reason that some OS components are doing this is due to a setting somewhere for DNSSEC, but we are not finding anything like that. How can one cause the various components that are making DNS requests with the OPT record, such as curl and dig, to instead make DNS requests without the OPT record?