How to force DNS requests using tcp protocol!

Hello


I set /ip dns server = 8.8.8.8, The RB751 default using udp protocol and Google DNS session.

But udp/53 in China have been contaminated, the ip address returned is false.

We test tcp/53 request to Google DNS query, the results returned are correct.

But how to force the RB751 to use tcp protocol and Google DNS session it?

Thanks!

Deleted because not related.

Hello Dobby

My ISP has a DNS server, but that is contaminated dns server.

If use isp’s dns, often get false results, they prohibit access to certain foreign sites.

Now I did not find the way how to force the RB751 tcp protocol and Google DNS session.

Steven

Is your isp not doing a nat redirect to force you to use theirs despite your settongs?

Hi TheWiFiGuy

Dns server can freely choose.

But network operators monitoring / interference port 53/udp, if you visit a site that they do not want, you get the ip address is false.

If to use port53/tcp and Google DNS seems everything is normal.

Steven

Deleted because not related.

I don’t think you can force requests to be TCP in a Mikrotik router.

I can think of a couple of ways to sort your issue,

  1. Run your own DNS resolver on a Linux box - you could even try metarouter. You may be able to force Bind9 to use TCP requests.

or

  1. Find a friendly server not too distant from China (latency) and open a VPN tunnel to it then use the tunnel to access the Google DNS 8.8.8.8 etc. Add /32 routes to your Mikrotik pointing to the PPTP/SSTP/IPSEC tunnel for 8.8.8.8 and other server IP addresses.

regards

Andy


Hi Andy / uksy29

Thank you for the suggestion!

Now I have to use the first program to use dnsforwarder (Chinese programmers write software), mandatory use tcp protocol to resolve.

The second program I originally used, but the low efficiency of this method after vpn, slower.

Originally, I was hoping to solve this problem directly RB751, but now it seems impossible.

Steven

19.DEC