IPv6 only configuration

I’m in the process of setting up another Akkoma instance. However, I have come across an issue in the ‘mix get.deps’ process when it tries to reach out to repo. or builds. From the looks, it doesn’t even try IPv6 (inet6) because (as per the errors below) the process can’t bind to an IPv4 (inet) address as a source address. As you can see, NAT64 and DNS64 is working correctly, so I am not sure what I am missing to force inet6 for all network connectivity:

$ ping6 ipv4 .google.com
PING ipv4.l. google .com (64:ff9b::8efa:c36e): 56 data bytes
64 bytes from 64:ff9b::8efa:c36e: icmp_seq=0 hlim=63 time=18.561 ms
64 bytes from 64:ff9b::8efa:c36e: icmp_seq=1 hlim=63 time=19.030 ms
64 bytes from 64:ff9b::8efa:c36e: icmp_seq=2 hlim=63 time=18.946 ms
^C
ipv4.l.google.com ping statistics —
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 18.561/18.846/19.030/0.204 ms

{:failed_connect, [{:to_address, {~c"repo.hex.pm", 443}}, {:inet, [:inet], :eaddrnotavail}]}

** (Mix) httpc request failed with: {:failed_connect, [{:to_address, {~c"builds.hex.pm", 443}}, {:inet, [:inet], :eaddrnotavail}]}

Thanks.

Akkoma has no influence on how connections are made during mix deps.get (note the difference from your get.deps). If problems persist, ask mix maintainers.

That said, if your system truly only has IPv6 addresses though, and a target site only an A record (IPv4), you will still somehow need to get an IPv6 address from your NAT64 to connect to first. You could try using a DNS server which automatically obtains and returns such NAT64 addresses if there’s no native AAAA but A record.

Sorry, yeah the deps.get typo was just a typo here.

Yes, this system only has IPv6 (no dual stack). I’m using DNS64 through unbound to get synthesized AAAA records which works for IPv4 only endpoint connection. I’ve had a developer friend take a quick look and it is a elixir/erlang/mix issue (tries to be too much of an operating system).

The only way around this is through CLAT. In the end, implementing 464XLAT.

I wish upstream would just get a hurry on and make IPv6 a first class citizen. Everywhere outside USA is moving rapidly to IPv6 (especially asia where there are so many more eyeballs).