2

On a Ubuntu 16.04 computer on the local network I can ping any other computer on the network by using "ping hostname" or by using "ping hostname.local". However, on another computer I just installed Ubuntu 18.04 on, "ping hostname" yields "Name or service not known" yet "ping hostname.local" still works.

Both computers need to be configured with static IPs.

In this specific circumstance I need "ping hostname" to work. I do not know what is so special about the 16.04 machine that makes it able to resolve local hostnames without the .local.

Does anyone have any ideas?

Here is my netplan file on the device. It may shed some light on the situation.

# Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager ethernets: enp3s0: dhcp4: no addresses: [192.168.1.19/24] gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.1, 8.8.8.8] 

Below are results of systemd-resolve --status on the 18.04 machine

Global DNSSEC NTA: 10.in-addr.arpa 16.172.in-addr.arpa 168.192.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in-addr.arpa 23.172.in-addr.arpa 24.172.in-addr.arpa 25.172.in-addr.arpa 26.172.in-addr.arpa 27.172.in-addr.arpa 28.172.in-addr.arpa 29.172.in-addr.arpa 30.172.in-addr.arpa 31.172.in-addr.arpa corp d.f.ip6.arpa home internal intranet lan local private test Link 3 (enp4s0) Current Scopes: none LLMNR setting: yes MulticastDNS setting: no DNSSEC setting: no DNSSEC supported: no Link 2 (enp3s0) Current Scopes: DNS LLMNR setting: yes MulticastDNS setting: no DNSSEC setting: no DNSSEC supported: no DNS Servers: 192.168.1.1 8.8.8.8 DNS Domain: ~. 

I tried adding a local search domain but it did not help

Hostnames are not defined in the 16.04 /etc/hosts. It is resolving the hostnames through my router somehow. If I connect a brand new device to my network the 16.04 machine can access it immediately via its hostname and the 18.04 machine can access it through hostname.local

Any suggestions?

19
  • So (the plot thickens), you have a router that is providing the DNS service, and, I assume, also the DHCP service. I shall assume that that router is located at 192.168.1.1. Then, what is the output of either dig @192.168.1.1 hostname or host hostname 192.168.1.1 or (read unix.stackexchange.com/questions/20784/…). And. if port 127.0.0.53 is active (systemd resolved): dig @127.0.0.53 hostname or similar. Commented Jul 7, 2020 at 4:22
  • Note that the domain set (probably in /etc/resolv) for the 18.04 computer is reported to be DNS Domain: ~. (Is that what you want?). Commented Jul 7, 2020 at 4:27
  • I'm not sure what the domain: ~. means. What I want is to be able to type "hostname" for any device on the network instead of "hostname.local". All of your name resolution things you suggested earlier worked fine but the 127.0.0.53 Commented Jul 7, 2020 at 4:29
  • Related: unix.stackexchange.com/questions/442598/… Commented Jul 7, 2020 at 4:29
  • Are both computers failing to resolve in 127.0.0.53 or only the 18.04 one? If that is failing, then the systemd resolved stub server is failing to work. Please read the link I provided on the previous post. Commented Jul 7, 2020 at 4:31

1 Answer 1

0

Solved by adding the router DNS nameserver address to resolv.conf.

As the address of the computer is manually set (not using DHCP), the nameserver address information also needs to be manually configured via resolconf, for example, Not a good idea in other set-ups, but manually setting a fixed address leaves not much options.

If the router DHCP server could be configured to always give the same address to the computer, there is no need to manually edit resolv.conf.

1
  • Note that the .local is implemented using mDNS (multicast-dns protocol implemented by the avahi package) and does not rely on any feature of the router. However only Linux and MacOS (and probably other BSDs) have that feature enabled by default. Commented Sep 1, 2022 at 15:49

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.