Does Chrome use a different DNS server from the OS?

Solution 1:

In fact Chrome was using it own DNS client that talks with multiple DNS servers (the local DNS, the router DNS, the router DNS in IPv6). I go to chrome://flags and disable "Built-in Asynchronous DNS". Now it works.

Solution 2:

You can change your proxy settings and force it to use the address you want.

Open a new file, with .pac extention, those files are used by the system to determine proxies, copy this to the content of the file:

function FindProxyForURL(url, host) {
    if (host=='www.myname.com' || host=='myname.com'){
        return 'PROXY 127.0.0.2';
    }
    // All other domains should connect directly without a proxy
    return "DIRECT";
}

go to chrome proxy settings, and under "url for automatic proxy configuration" enter the path to that file.

no need to have DNS server, you can redirect it to different ports on the machine, and you can program it for your needs.