Local DNS server not possible with TPlink router (C80)

This thread has been locked for further replies. You can start a new thread to share your ideas or ask questions.

Local DNS server not possible with TPlink router (C80)

This thread has been locked for further replies. You can start a new thread to share your ideas or ask questions.
Local DNS server not possible with TPlink router (C80)
Local DNS server not possible with TPlink router (C80)
2021-06-18 07:02:39
Model: Archer C80  
Hardware Version: V1
Firmware Version: 1.5.7 Build 210308 Rel.60033n(4555)

Hello,

 

Associated to the router, I have a WLAN area and a small ethernet based network (with a switch) connected to the router through an ASUS repeater in client mode (called media bridge by ASUS), as it has better throughput than CPL. So in a way, everything should be WLAN. I have set up dnsmasq on the client mode/ethernet based network on a raspberry pi to resolve local names and forward to real DNS servers if this is not local. I have configured C80 dhcp server with local+my ISP DNS servers, that is 192.168.2.xxx as primary and ISP as secondary. It works well, every connecting device, windows or linux, gets the DNS servers right

But it only works partially. The pi hosting the DNS server works OK to resolve names. Another device connected to the switch works OK, request goes to the pi. Other devices connected directly to the WLAN or ethernet ports of the router do not work. I have used tcpdump and I clearly see the request to 192.168.2.xxx local DNS server and an answer mentioning local name was not found (therefore it resolves something like myrequest.net). But this request to 192.168.2.xxx never really reaches the local DNS. Therefore, it looks as if the request (when not on the switch) goes inside the router, which redirects it outside, gets an answer and forwards it back to the device. Why is it not letting the DNS request go to the switch network ? Any ping or ssh/rsync/samba/dlna request to the raspberry pi works well.

Of course, I could fill the etc/hosts file but local DNS server looked much smarter. Is it expected behaviour, that is router always route DNS requests to the outside rather to local devices ? Do I need another type of router ?

 

Regards

 

  0      
  0      
#1
Options
5 Reply
Re:Local DNS server not possible with TPlink router (C80)
2021-06-18 07:15:25

@JustineTiteg 

Forgot something. I have tried to set the "Internet" tab also to the local DNS server so as to avoid redirecting query the WAN but the router prevents you from using an address which is in the DHCP range (maybe this would create loops ?).

So clearly, as soon as the DNS query goes inside the route through Wifi or ethernet port, it does not seem to go back to another ethernet port or other device on the WLAN, but through the WAN. Weird, everything targeted to 192.168.2.xxx should go the right device, which is the case for everything except DNS

  0  
  0  
#2
Options
Re:Local DNS server not possible with TPlink router (C80)
2021-06-21 06:28:46

@JustineTiteg 

 

Can we have a screenshot of the local DNS server settings on the C80 Advanced > Network > DHCP page? What is the secondary DNS server? You can try to set them both the same for the primary and secondary, then confirm.

 

As for the Internet DNS server settings, you are correct, it cannot be in the same IP subnet as the router LAN.

Nice to Meet You in Our TP-Link Community. Check Out the Latest Posts: Connect TP-Link Archer BE550 to Germany's DS-Lite (Dual Stack Lite) Internet via WAN Archer GE550 - BE9300 Tri-Band Wi-Fi 7 Gaming Router EasyMesh Is Available When Wi-Fi Routers Work in AP Mode as A Controller. Archer AX90 New Firmware Added Support for EasyMesh and Ethernet Backhaul If you found a post or response helpful, please click Helpful (arrow pointing upward icon). If you are the author of a topic, remember to mark a helpful reply as the "Recommended Solution" (star icon) so that others can benefit from it.
  0  
  0  
#3
Options
Re:Local DNS server not possible with TPlink router (C80)
2021-06-22 08:34:32

 

@JustineTiteg

DHCP server: Enable  ;-)

Pool: 192.168.0.1.100-192.168.1.200

Lease time: 1440

Defautt GW: not filled (so should be 192.168.1.1)

Primary DNS: 192.168.0.123 -> real one

Secondary DNS: 192.168.0.117 (fake one, I have tried with and without so as to check if 1982.168.1.1 was also provided as DNS server if 1 or 2 servers are filled)

 

I have checked everytime that these DNS server addresses are passed correctly to Linux or windows client through /etc/resolv/conf or ipconfig /all. And this is working as expected, the DHCP server gives the full config when allocating you an IP

 

Again, I fear the DNS request is intercepted by the router. For example, for my pi with address 192.168.0.110:

- when pi and DNS are on the switch (itself connected to port X of router), I see through tcpdump the right request from 192.168.0.110 to 192.168.0.123:53 and the right answer. And log of queries on 192.168.0.123 shows there was some activity (from /etc/hosts for local resolution, or forward to my operator DNS server for external resolution)

- when pi goes to wifi or another port of router, tcpdump shows a request to 192.168.0.123:53 and an answer (resolving xxx.net) but no log at all on 192.168.0.123

 

Thus why I think that request to 192.168.0.123:53 was intercepted by router (while on a switch, local DNS server can see request "before" router). That may be by design, but I don't know the RFC or standards enough to say if that is breaking any rule or could be configurable

  0  
  0  
#4
Options
Re:Local DNS server not possible with TPlink router (C80)
2021-06-22 14:12:54

@JustineTiteg 

 

I made some progress during lunch. Enabling another pi allowed me to test other locations for the local DNS server.

If plugged directly to an ETH port of the router, things work nicely, that is WLAN and LAN clients on other ports get their request served correctly. If put back on the switch, that is behind the Asus AC55 media bridge, it works only on the switch.

I thought the AC55 was as transparent as my CPL connections or a switch but it seems not. It is true that I realized that it tends to mess up a bit the network map (where router says that IP adress of my NAS is given to the MAC address of AC55) while all the rest works fine:

- DHCP allocation to the NAS and address reservation

- Hosting DLNA server, domoticz server, samba on pi -> all the other clients see that correctly

- port forwarding: domoticz can be seen easily from outside

- ping/ssh work fine

 

On my 192.168.2.xxx network, AC55 is 192.168.2.yyy. Is there some routing rule I should add to have the DNS queries go to this kind of subnetwork ?

 

 

  0  
  0  
#5
Options
Re:Local DNS server not possible with TPlink router (C80)
2021-06-22 21:43:16

@JustineTiteg 

The ASUS AC55 is definitely not transparent as you can see from below netfilter rules. I understand the presence of DNS and http server as there is an admin web page at repeater.asus.com. But these services do not seem to then pass info to the real local DNS server.

Well, it is in fact weird. Every xx minutes, there are several seconds where my local DNS server gets the queries. Then it keeps failing

 

Solution:

- set AC55 as my local DNS server and set /etc/hosts. Just a work-around

- go to ASUS forums ;-)

- find a compact device doing client mode. All my devices are TPlink (router, switch, USB to eth dongle, wifi dongle, CPL, CPL wifi and a nano router with USB storage sharing for travel). I was thinking about RE205 but I have the impression that it will keep working as repeater while also allowing connection on ETH port. As it also repeats, is it not somehow impacting the throughput ? Will it connect nicely to a switch and allow to have my DLNA/domoticz/DNS/samba... server ?

 

 

 

 

 

  0  
  0  
#6
Options