moby/integration
Rob Murray 6c68be24a2 Windows DNS resolver forwarding
Make the internal DNS resolver for Windows containers forward requests
to upsteam DNS servers when it cannot respond itself, rather than
returning SERVFAIL.

Windows containers are normally configured with the internal resolver
first for service discovery (container name lookup), then external
resolvers from '--dns' or the host's networking configuration.

When a tool like ping gets a SERVFAIL from the internal resolver, it
tries the other nameservers. But, nslookup does not, and with this
change it does not need to.

The internal resolver learns external server addresses from the
container's HNSEndpoint configuration, so it will use the same DNS
servers as processes in the container.

The internal resolver for Windows containers listens on the network's
gateway address, and each container may have a different set of external
DNS servers. So, the resolver uses the source address of the DNS request
to select external resolvers.

On Windows, daemon.json feature option 'windows-no-dns-proxy' can be used
to prevent the internal resolver from forwarding requests (restoring the
old behaviour).

Signed-off-by: Rob Murray <rob.murray@docker.com>
2024-04-16 18:57:28 +01:00
..
build integration/build: Use fsutil.NewFS 2024-02-27 11:26:10 +01:00
capabilities api/types: move ContainerLogsOptions to api/types/container 2023-10-12 11:30:12 +02:00
config Don't run tests twice 2023-09-19 11:37:55 +02:00
container fix duplicate words (dupwords) 2024-03-07 10:57:03 +01:00
daemon integration: Reset OTEL_EXPORTER_OTLP_ENDPOINT for sub-daemons 2024-02-28 10:48:07 +01:00
distribution bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
image c8d/list: Add a test case for images sharing a top layer 2024-03-20 13:17:56 +01:00
internal Move dummy DNS server to integration/internal/network 2024-04-04 12:02:22 +01:00
network Run ipvlan tests even if 'modprobe ipvlan' fails 2024-04-10 08:52:08 +01:00
networking Windows DNS resolver forwarding 2024-04-16 18:57:28 +01:00
plugin tests: add plugin install test w/ digest 2024-02-01 23:00:38 +00:00
secret Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
service fix duplicate words (dupwords) 2024-03-07 10:57:03 +01:00
session integration(-cli): remove skips for old daemon versions (<20.10) 2023-12-05 01:03:50 +01:00
system integration: Remove Parallel from TestDiskUsage 2024-03-18 12:11:34 +01:00
testdata/https Update test certificates 2021-05-18 09:43:21 +02:00
volume fix duplicate words (dupwords) 2024-03-07 10:57:03 +01:00
doc.go Add canonical import comment 2018-02-05 16:51:57 -05:00