If I do not misinterpret what you describe (a cut’n’paste quotation as preformated text as demonstrated above would always be helpful ) you’re moms computer needs a lot of time to resolve a fqdn (fully qualified domain name) to an IP address.
This step is always needed if you reference some host by its fqdn instead of its IP address. You could try to open a webpage using the hosts IP address to double check, but this often does not work using a browser: the webserver on the other side of the connection expects a hostname being transmitted inside the request header.
Take e.g. the page http://wiki.puri.sm/ . The host resolves (at the time of writing) to 138.201.228.42, but you get a different content if you try http://138.201.228.42/ .
For your test the nginx testpage should be sufficient. If you call http://138.201.228.42/ from the browser on your moms it should show without any delay.
You can check on your resolvers configuration by looking at the configuration:
someuser@pureos:~$ cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: files
group: files
shadow: files
gshadow: files
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
The file contains information for the system how to resolve requests for human readable names. The line you’re looking for is the one starting hosts:
. Mine should be the default after installation and as you can see there are some sources to try to resolve a host to an IP.
files
is described in man nsswitch.conf
as using /etc/hosts - a static ascii file. If not found there, the lookup via multicast dns is tried (mdns4_minimal
).
The [NOTFOUND=return]
is a bit tricky - I hope I got it right: It translates to "if the result of the two preceding services (files and mdns4_minimal) is “not found” (as in “I answered, but the name you’re asking for is unknown to me”) then return this result.
Otherwise if multicast dns could not answer the request go on asking dns. Sadly I didn’t find any documentation on how libnss_dns.so is supposed to work, so I’ll speculate. Any reference to fill the gab is welcome.
Simply put asking dns means to ask whatever server(s) are provided in /etc/resolv.conf. You can look at that file:
someuser@pureos:~$ cat /etc/resolv.conf
# Generated by resolvconf
search my.local.domain
nameserver 127.0.0.1
Probably your file will look different and will not contain 127.0.0.1, because the default installation usually does not contain a local nameserver.
To get closer to the root of your problem it would be nice to have a look at your nsswitch.conf and resolv.conf. If you’re willing to follow this path put them here (“follow the white rabbit” ).