Expected Behaviour:
Windows NCSI correctly working, showing "Internet access"
Actual Behaviour:
While having PiHole as DNS resolver Windows thinks that doesn't have internet access, but it works just fine. I've tried to see if the PiHole has in the blacklist some Microsoft server related to the connectivity check, but that's not the case as I can correctly reach all the sites that do the checks.
Opening regedit at
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
shows all the different settings related to NCSI.
The problem is that all the Metro apps (and also Spotify) won't work as they think that they're not connected to the Internet. As I run my PiHole on EC2 I solved moving the test on my server, so that Windows can correctly pass the test. What I did was modifying different keys:
ActiveWebProbeHost to my actual domain
ActiveDnsProbeHost to my actual domain
ActiveDnsProbeContent to my EC2 IP
On your machine you have to create a file named "connecttest.txt" which contains the following: Microsoft Connect Test inside /var/www/html
Et voilà Windows no longer thinks to be disconnected