Split-DNS Setup – Reducing Load on My AX3000 Router

I managed to solve the router load issue on my network. The solution was implementing a “split-DNS” (internal namespace) setup.

:magnifying_glass_tilted_left: The Problem

My router (AX3000 4-Stream Wi-Fi 6 Router) was handling internal traffic in a suboptimal way. When a local client accessed an internal service (e.g., media.ynm.hu), the traffic would go out to the router’s WAN interface and then “loop back” internally. This is known as Hairpin NAT or NAT Loopback.

This process visibly increased the CPU load on my router and added unnecessary latency.

:hammer_and_wrench: The Solution: Internal DNS Server

  1. Set up an internal DNS server on my network at 192.168.0.150.
  2. Added A records for all internal subdomains (media.ynm.hu, mail.ynm.hu, chat.ynm.hu, etc.) on this internal DNS server, pointing them to the internal IP address (192.168.0.150).
  3. Result: My local clients now get the internal IP address directly from the internal DNS server. The router is completely bypassed for these requests.

:chart_increasing: Results

Aspect Before (Hairpin NAT) After (Split-DNS)
Router CPU Load High (handled every request) Low (traffic doesn’t touch the router)
Connection Speed Slower (added latency) Faster (direct LAN connection)
DNS Resolution Unreliable (mail.ynm.hu sometimes failed) Reliable (internal DNS always responds)

:light_bulb: Key Takeaway

Avoiding Hairpin NAT (NAT Loopback) is not only more secure (it prevents internal IP addresses from leaking to public DNS), but it also significantly reduces the load on your router and improves internal connection speeds. This is a highly recommended practice for any home lab or self-hosted setup.

Thanks for the help, everyone!