Mika Sarmantti
New member
- Joined
- Jul 7, 2025
- Messages
- 5
I have followed all guides and forum posts about getting DA to work with IPv6, but I cannot get it working properly. Issue is somewhat pressing, as one of the SSL certificates is about to expire, and this IPv6 issue is causing the Let's Encrypt service to fail, as host is unreachable.
Direct admin has IPv6 enabled:
Service has been restarted couple times since.
"directadmin o" does not say server is compiled with IPv6, but as I understood this might be CentOS or older DA feature that doesn't work same way on Debian machines:
But netstat -lnp | :443 lists several nginx: work processes listening the ports, so.. that should mean IPv6 support is on.
There is also other ipv6 instances listening various ports.
I am also able to ping google and client's address with ping -6 from the machine. But, I'm guessing the pinging of IPv6 shorts some loops and mainly checks if localhost is responding. That being said, localhost responds to IPv6 given in DNS records, so that should mean it's correctly set up in those..?
As mentioned, ping does go through with domain name. I then try to use curl to reach test file made into .well-known/acme-challenge/ folder. On IPv4 this returns "200 OK" but with -6 flag: "Failed to connect to <domain> port 443 after 1ms: couldn't connect to server."
This -- to me -- suggests there is something wrong with how the nginx/apache IPv6 is set up. Server seems perfectly capable of handling it.
In path: cat /usr/local/directadmin/data/admin/ips/
I have 3 IP's listed, server IPv4, shared IPv4, and shared IPv6.
Currently shared IPv4 is has linked_ips directing to.. something, from control panel this is IPv6.
As reseller/admin I have set up the IP to be linked and global. And I have been able to add the IPv6 as additional IP for the client(s).
I initially read the official instruction that specify that you must click IPv6 and link it to IPv4, but today reading the comments it seems this is false information and you must link Server IPv4 into Shared IPv6, but then another official source specifically mentions not to link shared IPv4s with server IPv4's. So.. this part certainly requires extra clarification in the documents. That being said, I have tried all possible combinations with linking IP's and none of them gets me anywhere. There was even time when IPv6 was linked to IPv4 which was linked back to IPv6.
I might also suggest that the "Link IP" user interface should be more clear what linking does, which way data propagates, and maybe even give example or few how to use or properly in some info section
Successful requests to .well-known test file are logged in httpd/domain/customer.log, but failed IPv6 connections are seemingly not registering anywhere. I'm guessing it's because of the nginx/apache dual config. Which I have not set up, and do not know how it's supposed to work, but appears to be that nginx captures all incoming requests and redirects them to apache for handling. But nginx logs do not react when I try to fetch the test file with IPv6.
Any ideas what I may have missed and what to check next.
Direct admin has IPv6 enabled:
Code:
# grep ipv6 /usr/local/directadmin/conf/directadmin.conf
ipv6=1
Service has been restarted couple times since.
"directadmin o" does not say server is compiled with IPv6, but as I understood this might be CentOS or older DA feature that doesn't work same way on Debian machines:
Code:
# /usr/local/directadmin/directadmin o
version: 1.678
build: 90d433d7934dc7580b954eaa88abf652c95973e7
arch: amd64
os: linux
package: directadmin_90d433d7934dc7580b954eaa88abf652c95973e7_linux_amd64.tar.gz
distro: debian12
eol: 2028-09-01 00:00:00
eol timestamp: 1851379200
But netstat -lnp | :443 lists several nginx: work processes listening the ports, so.. that should mean IPv6 support is on.
There is also other ipv6 instances listening various ports.
I am also able to ping google and client's address with ping -6 from the machine. But, I'm guessing the pinging of IPv6 shorts some loops and mainly checks if localhost is responding. That being said, localhost responds to IPv6 given in DNS records, so that should mean it's correctly set up in those..?
As mentioned, ping does go through with domain name. I then try to use curl to reach test file made into .well-known/acme-challenge/ folder. On IPv4 this returns "200 OK" but with -6 flag: "Failed to connect to <domain> port 443 after 1ms: couldn't connect to server."
This -- to me -- suggests there is something wrong with how the nginx/apache IPv6 is set up. Server seems perfectly capable of handling it.
In path: cat /usr/local/directadmin/data/admin/ips/
I have 3 IP's listed, server IPv4, shared IPv4, and shared IPv6.
Currently shared IPv4 is has linked_ips directing to.. something, from control panel this is IPv6.
As reseller/admin I have set up the IP to be linked and global. And I have been able to add the IPv6 as additional IP for the client(s).
I initially read the official instruction that specify that you must click IPv6 and link it to IPv4, but today reading the comments it seems this is false information and you must link Server IPv4 into Shared IPv6, but then another official source specifically mentions not to link shared IPv4s with server IPv4's. So.. this part certainly requires extra clarification in the documents. That being said, I have tried all possible combinations with linking IP's and none of them gets me anywhere. There was even time when IPv6 was linked to IPv4 which was linked back to IPv6.
I might also suggest that the "Link IP" user interface should be more clear what linking does, which way data propagates, and maybe even give example or few how to use or properly in some info section

Successful requests to .well-known test file are logged in httpd/domain/customer.log, but failed IPv6 connections are seemingly not registering anywhere. I'm guessing it's because of the nginx/apache dual config. Which I have not set up, and do not know how it's supposed to work, but appears to be that nginx captures all incoming requests and redirects them to apache for handling. But nginx logs do not react when I try to fetch the test file with IPv6.
Any ideas what I may have missed and what to check next.