I read a whitepaper from Iovation in which they discussed unmasking the IP behind a proxy.
"The method wherein the connecting host is an anonymizing proxy or intermediate device, measuring inconsistencies in Geolocation of the connecting host IP Address and the IP Address of the DNS name server accessed by the client.The connecting host is caused to request a resource on a unique domain name meaning the domain name is different for each visit which will force the client's DNS server to connect to the domain owner's DNS server which the fingerprinting device has access to".
Another method I read on Stack Exchange is
"If you control the DNS server for your domain then you can see all requests coming in. By creating a unique subdomain address for each visitor and embedding it somewhere in the HTML, you can check the client's real IP on the DNS server."
What are the countermeasures for the methods discussed above?