I have 2 VPS servers, one in China and another in the US. The server (openvpn client) in China is connected to the US one via openvpn.

I also have squid running in the China server.

I want to redirect all traffic to squid through the openvpn tunnel to the US server, so users can access blocked sites including youtube.com, facebook, twitter and the likes.

I currently have all outgoing http and https traffic on the China server going through the openvpn tunnel. I verify this, because when visiting normal sites, the public IP address has already become the US IP address. Yet I still cannot access blocked sites due to DNS pollution, and all these sites resolve to the unreachable IP address.

How can I circumvent the DNS pollution issue in this case?

I know there are other ways to bypass the gfw (e.g. SSH tunnel, VPN) but this method is the most convenient one for ordinary users.

1 Answer 1


The problem is that squid is not a DNS proxy. So, if you want your clients to use a different DNS server (e.g. a dnsmasq instance you're running on your VPN machine), you should change their DNS settings.

Also, don't forget to configure your VPN machine to use a 'clean' DNS server.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .