Operating System: debian-slim via docker container
Browser: N/A
Expected Behavior
NAT64/DNS64 enables IPv4 connectivity to IPv6 only hosts. When a v6-only host needs to reach a v4-only host, it will make a DNS request to its hostname. The DNS64 server will reply with a specific v4-in-v6 encoded IPv6.
This enables IPv6 only hosts to talk with IPv4 only servers. DNS64/NAT64 is increasingly used everywhere as some providers now only give IPv6s and rely on the NAT64 infrastructure for the v4-only stuff.
the fahclient doesn't work on this infrastructure.
Current Behavior
The client enforces the connection in IPv4 whereas it should use, by priority, unless specified otherwise in the gai.conf file, IPv6 addresses.
In this setup, we see that the DNS server correctly gives an IPv6 for the hosts:
root@fah-gnf7p:/opt/fahclient# host assign1.foldingathome.org
assign1.foldingathome.org has address 65.254.110.245
assign1.foldingathome.org has IPv6 address 64:ff9b::41fe:6ef5
and we can see that the NAT64 works:
root@fah-gnf7p:/opt/fahclient# curl -v assign1.foldingathome.org
* Trying 64:ff9b::41fe:6ef5:80...
* Connected to assign1.foldingathome.org (64:ff9b::41fe:6ef5) port 80 (#0)
> GET / HTTP/1.1
> Host: assign1.foldingathome.org
> User-Agent: curl/7.74.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 HTTP_OK
< Date: Mon, 28 Feb 2022 09:22:01 GMT
< Content-Length: 71432
< Content-Type: text/html; charset=UTF-8
<
<!DOCTYPE html>
<html>
<head>
<title>Folding@home Assignment Server - v5.0.3</title>
<!-- There's nothing to see here. Move along, move along... -->
--- snip ---
however the client, when doing the resolution internaly, only uses v4 addresses:
Rely on the host's gai.conf preferences and allow IPv6 connections
Steps To Reproduce
See above
Context
As-is, FAH will not work on a NAT64 infrastructure. I'd like to install fah on my clusters but sadly it doesn't work because of the aforementioned problem :( .
As an example, Apple mandates supporting DNS64/NAT64 infrastructures (details here.
Personally, I don't see a reason to force the IPv4 connection. It made sense in the past (~10 years ago) when many networks where badly configured and offered a broken IPv6. However, today this is not the case anymore
Your Environment
Expected Behavior
NAT64/DNS64 enables IPv4 connectivity to IPv6 only hosts. When a v6-only host needs to reach a v4-only host, it will make a DNS request to its hostname. The DNS64 server will reply with a specific v4-in-v6 encoded IPv6.
This enables IPv6 only hosts to talk with IPv4 only servers. DNS64/NAT64 is increasingly used everywhere as some providers now only give IPv6s and rely on the NAT64 infrastructure for the v4-only stuff.
the fahclient doesn't work on this infrastructure.
Current Behavior
The client enforces the connection in IPv4 whereas it should use, by priority, unless specified otherwise in the
gai.conf
file, IPv6 addresses.In this setup, we see that the DNS server correctly gives an IPv6 for the hosts:
and we can see that the NAT64 works:
however the client, when doing the resolution internaly, only uses v4 addresses:
Possible Solution (Optional)
Rely on the host's
gai.conf
preferences and allow IPv6 connectionsSteps To Reproduce
See above
Context
As-is, FAH will not work on a NAT64 infrastructure. I'd like to install fah on my clusters but sadly it doesn't work because of the aforementioned problem :( .
As an example, Apple mandates supporting DNS64/NAT64 infrastructures (details here.
Personally, I don't see a reason to force the IPv4 connection. It made sense in the past (~10 years ago) when many networks where badly configured and offered a broken IPv6. However, today this is not the case anymore
Thanks and cheers !