My guess is that the router intercepts that hostname. When you use a
hostname, it must be converted into a numerical address. Humans like
names but computers always use numbers. That means a DNS lookup is
required to convert a hostname to an IP address. The DNS server in your
router is just a pass-through server: when it receives a DNS request, it
has no lookup tables, it doesn't peer its routing tables, and it isn't
part of the DNS mesh network. Instead you router merely and immediately
fails on the DNS lookup and passes the request upstream to the next DNS
server (your ISP or a public DNS server that you specified in the config
of your router) - but the router could intercept the DNS request on a
particular hostname specified in that request. So it sees a DNS request
on
www.routerlogin.net but instead of passing the hostname to an
upstream DNS server it returns its own IP address.
The router intercepts the DNS request on the hostname and returns the IP
address for the LAN-side interface of the router (back to your host).
In a way, this is similar to how the 'hosts' file works on your host: if
a hostname is specified in the 'hosts' file, the IP address specified
for that hostname in the 'hosts' file gets returned to your app that
issued the DNS request. The 'hosts' file and router are short-
circuiting the DNS lookup process by returning an immediate IP address
response. The
routerlogin.net domain is registered to Netgear but that
doesn't mean they operate a web site using that domain. They just want
to keep that domain for their own use by their own routers.
Normally:
Upstream:
- App wants a hostname connect on a target host.
- Host issues DNS request.
- DNS request goes to router.
- Router's DNS always fails on DNS requests, passes DNS request to
upstream DNS server.
- Upstream DNS server converts hostname to IP address.
Downstream:
- Upstream DNS server sends back IP address to router.
- Router gets IP address and passes it down to host.
- Host gives IP address to app
- App makes connection using IP address to target host.
Short-circuited lookup:
Upstream:
- App wants to connect to target host of
www.routerlogin.net.
- Host issues DNS lookup on
www.routerlogin.net.
- DNS request goes to router's DNS server.
- Router's DNS server has special condition on
www.routerlogin.net
and immediately returns LAN-side IP address of router.
Downstream:
- Router sends back its LAN-side IP address.
- Host gives IP address to app.
- App makes connection to LAN-side IP address of the router.
Say the current LAN-side IP address of your router is 192.168.100.1.
You have 2 methods of connecting to your router's internal web server
(to get at its configuration settings):
IP address method (no DNS lookup):
You tell your app to connect to the IP address (192.168.100.1). When
you specify an IP address, DNS is not involved. Your app connects
directly to the router on its LAN-side interface.
DNS lookup method:
You tell your app to connect to
www.routerlogin.net. This requires a
DNS lookup (port 53). The DNS lookup request goes to your router.
Your router sees that as a special hostname and immediately returns
its IP address (192.168.100.1). Your app gets the IP address and
connects to the router's LAN-side interface.
The DNS server in your router is monitoring for the special hostname of
www.routerlogin.net. When it sees a request for a DNS lookup on that
particular hostname, it immediately returns the router's IP address.
Personally I would define a URL shortcut to connect to the router to use
its configured LAN-side IP address rather than rely on a special-case
lookup in the router's DNS service.